summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man1/xsubpp.1perl
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/archlinux/man1/xsubpp.1perl')
-rw-r--r--upstream/archlinux/man1/xsubpp.1perl167
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