NAME

xsubpp - compiler to convert Perl XS code into C code


SYNOPSIS

xsubpp [-v] [-C++] [-except] [-s pattern] [-prototypes] [-noversioncheck] [-nolinenumbers] [-typemap typemap] [-object_capi]... file.xs


DESCRIPTION

xsubpp 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.

The compiler will search for typemap files called typemap. It will use the following search path to find default typemaps, with the rightmost typemap taking precedence.

        ../../../typemap:../../typemap:../typemap:typemap


OPTIONS

-C++

Adds ``extern ``C'''' to the C code.

-except

Adds exception handling stubs to the C code.

-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.

-v

Prints the xsubpp version number to standard output, then exits.

-prototypes

By default xsubpp will not automatically generate prototype code for all xsubs. This flag will enable prototypes.

-noversioncheck

Disables the run time test that determines if the object file (derived from the .xs file) and the .pm files have the same version number.

-nolinenumbers

Prevents the inclusion of `#line' directives in the output.

-object_capi

Compile code as C in a PERL_OBJECT environment.

back

ENVIRONMENT

No environment variables are used.

AUTHOR

Larry Wall

MODIFICATION HISTORY

See the file changes.pod.

SEE ALSO

perl(1), perlxs(1), perlxstut(1)


DISCLAIMER

We are painfully aware that these documents may contain incorrect links and misformatted HTML. Such bugs lie in the automatic translation process that automatically created the hundreds and hundreds of separate documents that you find here. Please do not report link or formatting bugs, because we cannot fix per-document problems. The only bug reports that will help us are those that supply working patches to the installhtml or pod2html programs, or to the Pod::HTML module itself, for which I and the entire Perl community will shower you with thanks and praises.

If rather than formatting bugs, you encounter substantive content errors in these documents, such as mistakes in the explanations or code, please use the perlbug utility included with the Perl distribution.

--Tom Christiansen, Perl Documentation Compiler and Editor


Return to the Perl Documentation Index.
Return to the Perl Home Page.