Penguin
Annotated edit history of xsubpp(1) version 2, including all changes. View license author blame.
Rev Author # Line
1 perry 1 XSUBPP
2 !!!XSUBPP
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 OPTIONS
7 ENVIRONMENT
8 AUTHOR
9 MODIFICATION HISTORY
10 SEE ALSO
11 ----
12 !!NAME
13
14
15 xsubpp - compiler to convert Perl XS code into C code
16 !!SYNOPSIS
17
18
19 __xsubpp__ [[__-v__] [[__-C ++__ ]
20 [[__-except__] [[__-s pattern__] [[__-prototypes__]
21 [[__-noversioncheck__] [[__-nolinenumbers__]
22 [[__-nooptimize__] [[__-typemap typemap__] ...
23 file.xs
24 !!DESCRIPTION
25
26
27 This compiler is typically run by the makefiles created by
2 perry 28 !ExtUtils::!MakeMaker.
1 perry 29
30
31 ''xsubpp'' will compile XS code into C
32 code by embedding the constructs necessary to let C
33 functions manipulate Perl values and creates the glue
34 necessary to let Perl access those functions. The compiler
35 uses typemaps to determine how to map C function parameters
36 and variables to Perl values.
37
38
39 The compiler will search for typemap files called
40 ''typemap''. It will use the following search path to
41 find default typemaps, with the rightmost typemap taking
42 precedence.
43
44
45 ../../../typemap:../../typemap:../typemap:typemap
46 !!OPTIONS
47
48
2 perry 49 Note that the XSOPT !MakeMaker option may be used to
1 perry 50 add these options to any makefiles generated by
2 perry 51 !MakeMaker.
1 perry 52
53
54 __-C ++__
55
56
57 Adds ``extern ``C'''' to the C code.
58
59
60 __-except__
61
62
63 Adds exception handling stubs to the C code.
64
65
66 __-typemap typemap__
67
68
69 Indicates that a user-supplied typemap should take
70 precedence over the default typemaps. This option may be
71 used multiple times, with the last typemap having the
72 highest precedence.
73
74
75 __-v__
76
77
78 Prints the ''xsubpp'' version number to standard output,
79 then exits.
80
81
82 __-prototypes__
83
84
85 By default ''xsubpp'' will not automatically generate
86 prototype code for all xsubs. This flag will enable
87 prototypes.
88
89
90 __-noversioncheck__
91
92
93 Disables the run time test that determines if the object
94 file (derived from the .xs file) and the
95 .pm files have the same version
96 number.
97
98
99 __-nolinenumbers__
100
101
102 Prevents the inclusion of `#line' directives in the
103 output.
104
105
106 __-nooptimize__
107
108
109 Disables certain optimizations. The only optimization that
110 is currently affected is the use of ''target''s by the
111 output C code (see perlguts). This may significantly slow
112 down the generated code, but this is the way __xsubpp__
113 of 5.005 and earlier operated.
114
115
116 __-noinout__
117
118
119 Disable recognition of IN, OUT_LIST and
120 INOUT_LIST declarations.
121
122
123 __-noargtypes__
124
125
126 Disable recognition of ANSI-like descriptions of function
127 signature.
128 !!ENVIRONMENT
129
130
131 No environment variables are used.
132 !!AUTHOR
133
134
135 Larry Wall
136 !!MODIFICATION HISTORY
137
138
139 See the file ''changes.pod''.
140 !!SEE ALSO
141
142
143 perl(1), perlxs(1),
144 perlxstut(1)
145 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.