The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

ExtUtils::Depends - Easily build XS extensions that depend on XS extensions

SYNOPSIS

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()
);

DESCRIPTION

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.

AUTHOR

Paolo Molaro, lupus@debian.org

SEE ALSO

ExtUtils::MakeMaker.