oracular (3) Dist::Build::XS.3pm.gz

NAME
Dist::Build::XS - An XS implementation for Dist::Build
VERSION
version 0.010
SYNOPSIS
# planner/xs.pl load_module('Dist::Build::XS'); add_xs( module_name => 'Foo::Bar', extra_sources => [ glob 'src/*.c' ], libraries => [ 'foo' ], );
DESCRIPTION
This module implements support for XS for Dist::Build.
METHODS
add_xs This method takes the following named arguments, all optional: • module_name The name of the module to be compiled. This defaults to "$dist_name =~ s/-/::/gr" unless "file" is given, in which case the name is derived from the path. • module_version The version of the module, defaulting to the dist version. • file The name of the XS file. By default it's derived from the $module_name, e.g. "lib/Foo/Bar.xs" for "Foo::Bar". • defines This hash contains defines for the C files. E.g. "{ DEBUG => 1 }". • include_dirs A list of directories to add to the include path. For the xs file the directory it is in is automatically added to this list. • extra_sources A list of C files to compile with this module. Instead of just a name, entries can also be a hash with the following entries: • source The name of the input file. Mandatory. • object The name of the object that will be compiled. Will be derive from the source name by default. • include_dirs An array containing additional include directories for this objects • defines A hash containing additional defines for this object. • flags An array containing additional flags for this compilation. • extra_objects A list of object files to link with the module. • extra_compiler_flags Additional flags to feed to the compiler. This can either be an array or a (shell-quoted) string. • extra_sources Extra C files to compile with this module. • library_dirs Extra libraries to find libraries in. • libraries Libraries to link to. • extra_linker_flags Additional flags to feed to the compiler. This can either be an array or a (shell-quoted) string.
AUTHOR
Leon Timmermans <fawaka@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2024 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.