Panda::XSLoader - Load XS modules which exports C functionality and check for binary compability.
package MyXS; use Panda::XSLoader; our $VERSION = '0.1.3'; Panda::XSLoader::bootstrap(); # loads XS and checks for binary compability
Dynamically loads your module's C library. It is more convenient usage of:
use DynaLoader; sub dl_load_flags { $flags } DynaLoader::bootstrap_inherit($module, $VERSION);
Or (if $flags == 0)
use XSLoader; XSLoader::load($module, $VERSION);
If you don't provide $module it will be detected as caller. If no $VERSION provided, ${module}::VERSION variable will be used. If $flags is undef or not provided, 0x01 used.
Additionally, checks for binary compability with all XS modules you depend on (binary). If any of these have changed their versions, croaks.
0x01 in $flags is not required for Panda::Install's XS modules as it tells linker to link against all SO/DLL dependencies explicitly (except for MacOS, where it is required). However if you don't set $flags, and someone uses your XS module's C API, and someone's module neither use Panda::Install nor link against your SO/DLL explicitly, it won't work. So it is recommended to set $flags = 0x01.
Pronin Oleg <syber@crazypanda.ru>, Crazy Panda, CP Decision LTD
You may distribute this code under the same terms as Perl itself.
To install Panda::Install, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Panda::Install
CPAN shell
perl -MCPAN -e shell install Panda::Install
For more information on module installation, please visit the detailed CPAN module installation guide.