ExtUtils::Depends - Easily build XS extensions that depend on XS extensions
use ExtUtils::Depends; $package = new ExtUtils::Depends ('pkg::name', 'base::package') # set the flags and libraries to compile and link the module $package->set_inc("-I/opt/blahblah"); $package->set_lib("-lmylib"); # add a .c and an .xs file to compile $package->add_c('code.c'); $package->add_xs('module-code.xs'); # add the typemaps to use $package->add_typemaps("typemap"); # safe the info $package->save_config('Files.pm'); WriteMakefile( 'NAME' => 'Mymodule', $package->get_makefile_vars() );
This module tries to make it easy to build Perl extensions that use functions and typemaps provided by other perl extensions. This means that a perl extension is treated like a shared library that provides also a C and an XS interface besides the perl one. This works as long as the base extension is loaded with the RTLD_GLOBAL flag (usually done with a
sub dl_load_flags {0x01}
in the main .pm file) if you need to use functions defined in the module.
Paolo Molaro, lupus@debian.org
ExtUtils::MakeMaker.
To install ExtUtils::Depends, copy and paste the appropriate command in to your terminal.
cpanm
cpanm ExtUtils::Depends
CPAN shell
perl -MCPAN -e shell install ExtUtils::Depends
For more information on module installation, please visit the detailed CPAN module installation guide.