---
name: "ExtUtils::XSBuilder::WrapXS"
section: "3pm"
platform: "linux"
package: "perl-extutils-xsbuilder"
version: "0.28-11"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ExtUtils::XSBuilder::WrapXS"
---

# ExtUtils::XSBuilder::WrapXS(3pm)

create perl XS wrappers for C functions

## NAME

ExtUtils::XSBuilder::WrapXS - create perl XS wrappers for C functions

### DESCRIPTION

For more information, see ExtUtils::XSBuilder

### new\_parsesource (o)

Returns an array ref of new ParseSource objects for all source files that  should be used to generate XS files

### new\_typemap (o)

Returns a new typemap object

### new\_podtemplate (o)

Returns a new podtemplate object

### xs\_includes (o)

Returns a list of XS include files.

Default: use all include files that `"ParseSource::find_includes"` returns, but strip path info

### xs\_glue\_dirs (o)

Returns a list of additional XS glue directories to seach for maps in.

### xs\_base\_dir (o)

Returns a directory which serves as a base for other directories.

Default: `'.'`

### xs\_map\_dir (o)

Returns the directory to search for map files in

Default: `"<xs_base_dir"`/xsbuilder/maps\>

### xs\_incsrc\_dir (o)

Returns the directory to search for files to include into the source. For example, `"<xs_incsrc_dir"`/Apache/DAV/Resource/Resource\_pm\> will be included into the `"Apache::DAV::Resource"` module.

Default: `"<xs_base_dir"`/xsbuilder\>

### xs\_include\_dir (o)

Returns a directory to search for include files for pm and XS

Default: `"<xs_base_dir"`/xsinclude\>

### xs\_target\_dir (o)

Returns the directory to write generated XS and header files in

Default: `"<xs_base_dir"`/xs\>

### makefilepl\_text (o)

Returns text for Makefile.PL

### h\_filename\_prefix (o)

Defines a prefix for generated header files

Default: `'xs_'`

### my\_xs\_prefix (o)

Defines a prefix used for all XS functions

Default: `'xs_'`

### my\_cnv\_prefix (o)

Defines a prefix used for all conversion functions/macros.

Default: `"my_xs_prefix"`

### needs\_prefix (o, name)

Returns true if the passed name should be prefixed

### pm\_text (o, module, isa, code)

Returns the text of a `".pm"` file, or undef if no `".pm"` file should be written.

Default: Create a `".pm"` file which bootstraps the XS code

### mapline\_elem (o, elem)

Called for each structure element that is written to the map file by checkmaps. Allows the user to change the element name, for example adding a different perl name.

Default: returns the element unmodified

### mapline\_func (o)

Called for each function that is written to the map file by checkmaps. Allows the user to change the function name, for example adding a different perl name.

Default: returns the element unmodified
