diff options
Diffstat (limited to 'upstream/archlinux/man1/xsubpp.1perl')
-rw-r--r-- | upstream/archlinux/man1/xsubpp.1perl | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/upstream/archlinux/man1/xsubpp.1perl b/upstream/archlinux/man1/xsubpp.1perl new file mode 100644 index 00000000..c01d74a9 --- /dev/null +++ b/upstream/archlinux/man1/xsubpp.1perl @@ -0,0 +1,167 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "XSUBPP 1perl" +.TH XSUBPP 1perl 2024-02-11 "perl v5.38.2" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH NAME +xsubpp \- compiler to convert Perl XS code into C code +.SH SYNOPSIS +.IX Header "SYNOPSIS" +\&\fBxsubpp\fR [\fB\-v\fR] [\fB\-except\fR] [\fB\-s pattern\fR] [\fB\-prototypes\fR] [\fB\-noversioncheck\fR] [\fB\-nolinenumbers\fR] [\fB\-nooptimize\fR] [\fB\-typemap typemap\fR] [\fB\-output filename\fR]... file.xs +.SH DESCRIPTION +.IX Header "DESCRIPTION" +This compiler is typically run by the makefiles created by ExtUtils::MakeMaker +or by Module::Build or other Perl module build tools. +.PP +\&\fIxsubpp\fR will compile XS code into C code by embedding the constructs +necessary to let C functions manipulate Perl values and creates the glue +necessary to let Perl access those functions. The compiler uses typemaps to +determine how to map C function parameters and variables to Perl values. +.PP +The compiler will search for typemap files called \fItypemap\fR. It will use +the following search path to find default typemaps, with the rightmost +typemap taking precedence. +.PP +.Vb 1 +\& ../../../typemap:../../typemap:../typemap:typemap +.Ve +.PP +It will also use a default typemap installed as \f(CW\*(C`ExtUtils::typemap\*(C'\fR. +.SH OPTIONS +.IX Header "OPTIONS" +Note that the \f(CW\*(C`XSOPT\*(C'\fR MakeMaker option may be used to add these options to +any makefiles generated by MakeMaker. +.IP \fB\-hiertype\fR 5 +.IX Item "-hiertype" +Retains '::' in type names so that C++ hierarchical types can be mapped. +.IP \fB\-except\fR 5 +.IX Item "-except" +Adds exception handling stubs to the C code. +.IP "\fB\-typemap typemap\fR" 5 +.IX Item "-typemap typemap" +Indicates that a user-supplied typemap should take precedence over the +default typemaps. This option may be used multiple times, with the last +typemap having the highest precedence. +.IP "\fB\-output filename\fR" 5 +.IX Item "-output filename" +Specifies the name of the output file to generate. If no file is +specified, output will be written to standard output. +.IP \fB\-v\fR 5 +.IX Item "-v" +Prints the \fIxsubpp\fR version number to standard output, then exits. +.IP \fB\-prototypes\fR 5 +.IX Item "-prototypes" +By default \fIxsubpp\fR will not automatically generate prototype code for +all xsubs. This flag will enable prototypes. +.IP \fB\-noversioncheck\fR 5 +.IX Item "-noversioncheck" +Disables the run time test that determines if the object file (derived +from the \f(CW\*(C`.xs\*(C'\fR file) and the \f(CW\*(C`.pm\*(C'\fR files have the same version +number. +.IP \fB\-nolinenumbers\fR 5 +.IX Item "-nolinenumbers" +Prevents the inclusion of '#line' directives in the output. +.IP \fB\-nooptimize\fR 5 +.IX Item "-nooptimize" +Disables certain optimizations. The only optimization that is currently +affected is the use of \fItarget\fRs by the output C code (see perlguts). +This may significantly slow down the generated code, but this is the way +\&\fBxsubpp\fR of 5.005 and earlier operated. +.IP \fB\-noinout\fR 5 +.IX Item "-noinout" +Disable recognition of \f(CW\*(C`IN\*(C'\fR, \f(CW\*(C`OUT_LIST\*(C'\fR and \f(CW\*(C`INOUT_LIST\*(C'\fR declarations. +.IP \fB\-noargtypes\fR 5 +.IX Item "-noargtypes" +Disable recognition of ANSI-like descriptions of function signature. +.IP \fB\-C++\fR 5 +.IX Item "-C++" +Currently doesn't do anything at all. This flag has been a no-op for +many versions of perl, at least as far back as perl5.003_07. It's +allowed here for backwards compatibility. +.IP "\fB\-s=...\fR or \fB\-strip=...\fR" 5 +.IX Item "-s=... or -strip=..." +\&\fIThis option is obscure and discouraged.\fR +.Sp +If specified, the given string will be stripped off from the beginning +of the C function name in the generated XS functions (if it starts with that prefix). +This only applies to XSUBs without \f(CW\*(C`CODE\*(C'\fR or \f(CW\*(C`PPCODE\*(C'\fR blocks. +For example, the XS: +.Sp +.Vb 1 +\& void foo_bar(int i); +.Ve +.Sp +when \f(CW\*(C`xsubpp\*(C'\fR is invoked with \f(CW\*(C`\-s foo_\*(C'\fR will install a \f(CW\*(C`foo_bar\*(C'\fR +function in Perl, but really call \f(CWbar(i)\fR in C. Most of the time, +this is the opposite of what you want and failure modes are somewhat +obscure, so please avoid this option where possible. +.SH ENVIRONMENT +.IX Header "ENVIRONMENT" +No environment variables are used. +.SH AUTHOR +.IX Header "AUTHOR" +Originally by Larry Wall. Turned into the \f(CW\*(C`ExtUtils::ParseXS\*(C'\fR module +by Ken Williams. +.SH "MODIFICATION HISTORY" +.IX Header "MODIFICATION HISTORY" +See the file \fIChanges\fR. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fBperl\fR\|(1), \fBperlxs\fR\|(1), \fBperlxstut\fR\|(1), ExtUtils::ParseXS |