In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/3a1b08584501598bc42fd18f6ce9ba051e867bc4?hp=579de3920d0046d2ded41710988dda5241ae2283>
- Log ----------------------------------------------------------------- commit 3a1b08584501598bc42fd18f6ce9ba051e867bc4 Author: Nicholas Clark <[email protected]> Date: Thu Oct 7 11:19:26 2010 +0100 Improve XSLoader::load documentation. Document that all arguments are passed on to the module's bootstrap function, and the behaviour of the bootstrap function in modules built by xsubpp. M dist/XSLoader/XSLoader_pm.PL commit 65fa4aaa41a252fc701a0a3495d91d135a68128a Author: Nicholas Clark <[email protected]> Date: Thu Oct 7 11:16:30 2010 +0100 Improve DynaLoader::bootstrap documentation. Document that all arguments are passed on to the module's bootstrap function, and the behaviour of the bootstrap function in modules built by xsubpp. M ext/DynaLoader/DynaLoader_pm.PL ----------------------------------------------------------------------- Summary of changes: dist/XSLoader/XSLoader_pm.PL | 12 ++++++++---- ext/DynaLoader/DynaLoader_pm.PL | 9 ++++++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/dist/XSLoader/XSLoader_pm.PL b/dist/XSLoader/XSLoader_pm.PL index 47492e1..66afa8e 100644 --- a/dist/XSLoader/XSLoader_pm.PL +++ b/dist/XSLoader/XSLoader_pm.PL @@ -274,18 +274,22 @@ in F<YourPackage.pm>) and XS code (defined in F<YourPackage.xs>). If this Perl code makes calls into this XS code, and/or this XS code makes calls to the Perl code, one should be careful with the order of initialization. -The call to C<XSLoader::load()> (or C<bootstrap()>) has three side effects: +The call to C<XSLoader::load()> (or C<bootstrap()>) calls the module's +bootstrap code. For modules build by F<xsubpp> (nearly all modules) this +has three side effects: =over =item * -if C<$VERSION> was specified, a sanity check is done to ensure that the -versions of the F<.pm> and the (compiled) F<.xs> parts are compatible; +A sanity check is done to ensure that the versions of the F<.pm> and the +(compiled) F<.xs> parts are compatible. If C<$VERSION> was specified, this +is used for the check. If not specified, it defaults to +C<$XS_VERSION // $VERSION> (in the module's namespace) =item * -the XSUBs are made accessible from Perl; +the XSUBs are made accessible from Perl =item * diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL index 776ddf9..2fa33cd 100644 --- a/ext/DynaLoader/DynaLoader_pm.PL +++ b/ext/DynaLoader/DynaLoader_pm.PL @@ -884,7 +884,7 @@ $filename is not defined then "DynaLoader" will be used. Syntax: -bootstrap($module) +bootstrap($module [...]) This is the normal entry point for automatic dynamic loading in Perl. @@ -937,6 +937,13 @@ it uses the function reference returned by dl_install_xsub for speed) =back +All arguments to bootstrap() are passed to the module's bootstrap function. +The default code generated by F<xsubpp> expects $module [, $version] +If the optional $version argument is not given, it defaults to +C<$XS_VERSION // $VERSION> in the module's symbol table. The default code +compares the Perl-space version with the version of the compiled XS code, +and croaks with an error if they do not match. + =back -- Perl5 Master Repository
