The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.