NAME
typemap - A tool for manipulating typemaps
VERSION
version 0.001
SYNOPSIS
typemap --merge +Magic
DESCRIPTION
This script can modify, create and write Perl XS typemap files. If you don't know what a typemap is, please confer the perlxstut and perlxs manuals.
ARGUMENTS
file <filename>
The file that we're manipulating, this defaults to
typemap
.merge <module-name>
This option takes an
ExtUtils::Typemaps
module name as argument, and will merge that into the current typemap. The prefix+
is replaced withExtUtils::Typemaps::
for convenience. This may be passed multiple times.no-replace
This will disable replacing existing entries.
add-string <content>
This will parse a string entry and merge it into the typemap.
add-file <filename>
This will parse a file and merge it into the typemap.
add-type <c-type> <xs-type>
This will add a type mapping entry to the typemap. It takes two arguments: a C type (e.g.
double
) and an XS type (e.g.T_NV
).add-input <xs-type> <code>
This will add an input entry to the typemap. It takes two arguments: an XS type (e.g.
T_NV
) and a piece of code to associate with it (e.g.'$var = ($type)SvNV($arg);'
).add-output <xs-type> <code>
This will add an output entry to the typemap. It takes two arguments: an XS type (e.g.
T_NV
) and a piece of code to associate with it (e.g.'sv_setnv($arg, (NV)$var);'
).remove-type <c-type>
This takes a C type as its only argument, and will remove the type mapping for that type.
remove-input <xs-type>
This takes an XS type as its only argument and will remove the associated input entry.
remove-output <xs-type>
This takes an XS type as its only argument and will remove the associated output entry.
AUTHOR
Leon Timmermans <leont@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 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.