- NAME
- SYNOPSIS
- DESCRIPTION
- EXPORTED FUNCTIONS
  - embeddable_typemap
- SEE ALSO
- AUTHOR
- COPYRIGHT & LICENSE

# NAME

ExtUtils::Typemaps::Cmd - Quick commands for handling typemaps

# SYNOPSIS

From XS:

      INCLUDE_COMMAND: $^X -MExtUtils::Typemaps::Cmd \
                       -e "print embeddable_typemap(q{Excommunicated})"

Loads `ExtUtils::Typemaps::Excommunicated`, instantiates an object, and dumps it as an embeddable typemap for use directly in your XS file.

# DESCRIPTION

This is a helper module for ExtUtils::Typemaps for quick one-liners, specifically for inclusion of shared typemaps that live on CPAN into an XS file (see SYNOPSIS).

For this reason, the following functions are exported by default:

# EXPORTED FUNCTIONS

## embeddable_typemap

Given a list of identifiers, `embeddable_typemap` tries to load typemaps from a file of the given name(s), or from a module that is an `ExtUtils::Typemaps` subclass.

Returns a string representation of the merged typemaps that can be included verbatim into XS. Example:

      print embeddable_typemap(
        "Excommunicated", "ExtUtils::Typemaps::Basic", "./typemap"
      );

This will try to load a module `ExtUtils::Typemaps::Excommunicated` and use it as an `ExtUtils::Typemaps` subclass. If that fails, it'll try loading `Excommunicated` as a module, if that fails, it'll try to read a file called Excommunicated. It'll work similarly for the second argument, but the third will be loaded as a file first.

After loading all typemap files or modules, it will merge them in the specified order and dump the result as an embeddable typemap.

# SEE ALSO

ExtUtils::Typemaps

perlxs

# AUTHOR

Steffen Mueller `<smueller@cpan.org`>

# COPYRIGHT & LICENSE

Copyright 2012 Steffen Mueller

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