stas 2003/03/18 18:51:59
Modified: xs/ModPerl/Const Const.pm xs/APR/APR APR.pm Log: add more details regarding overriding dl_load_flags in a crossplatform way Revision Changes Path 1.5 +8 -1 modperl-2.0/xs/ModPerl/Const/Const.pm Index: Const.pm =================================================================== RCS file: /home/cvs/modperl-2.0/xs/ModPerl/Const/Const.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Const.pm 5 Sep 2002 17:07:23 -0000 1.4 +++ Const.pm 19 Mar 2003 02:51:59 -0000 1.5 @@ -6,7 +6,14 @@ our @ISA = qw(DynaLoader); #dlopen("Const.so", RTDL_GLOBAL); -#XXX: this probably isn't portable; hpux works fine tho +#XXX: dl_dlopen.xs check isn't portable; works for hpux +# - on aix this is dl_aix.xs, and depending on release, RTDL_GLOBAL is +# available or not, e.g. 4.3 doesn't have it in the headers, while +# 5.1 does have it +# - from looking at ext/DynaLoader/dl_*.xs when 0x01 is used when it's +# not supported perl issues a warning and passes the right flag to dlopen +# - currently (patchlevel 18958) dl_aix.xs always issues a warning +# even when RTDL_GLOBAL is available, patch submitted to p5p use Config (); use constant DL_GLOBAL => $Config::Config{dlsrc} eq 'dl_dlopen.xs' ? 0x01 : 0x0; 1.3 +1 -0 modperl-2.0/xs/APR/APR/APR.pm Index: APR.pm =================================================================== RCS file: /home/cvs/modperl-2.0/xs/APR/APR/APR.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- APR.pm 13 Sep 2001 02:40:33 -0000 1.2 +++ APR.pm 19 Mar 2003 02:51:59 -0000 1.3 @@ -5,6 +5,7 @@ our @ISA = qw(DynaLoader); #dlopen("APR.so", RTDL_GLOBAL); so we only need to link libapr.a once +# XXX: see xs/ModPerl/Const/Const.pm for issues of using 0x01 sub dl_load_flags { 0x01 } unless (defined &APR::XSLoader::BOOTSTRAP) {