XSUBPP(1)						 Perl Programmers Reference Guide						 XSUBPP(1)

NAME
xsubpp - compiler to convert Perl XS code into C code SYNOPSIS
xsubpp [-v] [-C++] [-except] [-s pattern] [-prototypes] [-noversioncheck] [-nolinenumbers] [-nooptimize] [-typemap typemap] ... file.xs DESCRIPTION
This compiler is typically run by the makefiles created by ExtUtils::MakeMaker. 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 right- most typemap taking precedence. ../../../typemap:../../typemap:../typemap:typemap OPTIONS
Note that the "XSOPT" MakeMaker option may be used to add these options to any makefiles generated by MakeMaker. -C++ Adds ``extern "C"'' to the C code. -hiertype Retains '::' in type names so that C++ hierachical types can be mapped. -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. -nooptimize Disables certain optimizations. The only optimization that is currently affected is the use of targets by the output C code (see perlguts). This may significantly slow down the generated code, but this is the way xsubpp of 5.005 and earlier operated. -noinout Disable recognition of "IN", "OUT_LIST" and "INOUT_LIST" declarations. -noargtypes Disable recognition of ANSI-like descriptions of function signature. ENVIRONMENT
No environment variables are used. AUTHOR
Larry Wall MODIFICATION HISTORY
See the file changes.pod. SEE ALSO
perl(1), perlxs(1), perlxstut(1) perl v5.8.0 2003-02-18 XSUBPP(1)