---
name: "ExtUtils::Builder::ParseXS"
section: "3pm"
platform: "linux"
package: "libextutils-builder-compiler-perl"
version: "0.032-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ExtUtils::Builder::ParseXS"
---

# ExtUtils::Builder::ParseXS(3pm)

Essential functions for implementing XS in a Plan

## NAME

ExtUtils::Builder::ParseXS - Essential functions for implementing XS in a Plan

## VERSION

version 0.032

## SYNOPSIS

```
 $planner->load_extension("ExtUtils::Builder::ParseXS");
 $planner->parse_xs("foo.xs", "foo.c");
```

## DESCRIPTION

This module implements several helper methods used in implementing XS.

It takes one optional argument `"config"`, which should be an `"ExtUtils::Config"` compatible object. If your `$planner` has a `"config"` delegate, that will be used as default value.

### DELEGATES

*parse\_xs($source, $destination, %options)*

This will parse the XS file `$source` and write the resulting C file to `$destination`.

- •

  mkdir

  If set this will mkdir the base of the target before running the parse.

- •

  dependencies

  This lists additional dependencies that will be added to the target.

- •

  typemap

  The name of the typemap file. Defaults to `"typemap"` if that file exists.

- •

  hiertype

  Allow hierarchical types (with double colons) such as used in C++.

*c\_file\_for\_xs($filename, $dir = dirname($filename))*

This returns the path to the C file for a certain XS file.

*module\_for\_xs($filename)*

This returns the module corresponding to a specific XS files.

*extension\_filename($module\_name)*

This will return the path for the loadable object of an extension for `$module`.

## AUTHOR

Leon Timmermans \<fawaka@gmail.com\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Leon Timmermans.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
