diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm')
-rw-r--r-- | Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm index a6da855862f..e040a899edb 100644 --- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm +++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm @@ -11,8 +11,8 @@ use 5.006; use strict; use warnings; -our $VERSION = '7.34'; -$VERSION = eval $VERSION; +our $VERSION = '7.44_01'; +$VERSION =~ tr/_//d; use ExtUtils::MakeMaker::Config; use Cwd 'cwd'; @@ -49,8 +49,10 @@ sub _unix_os2_ext { # $potential_libs # this is a rewrite of Andy Dougherty's extliblist in perl + require Text::ParseWords; + my ( @searchpath ); # from "-L/path" entries in $potential_libs - my ( @libpath ) = split " ", $Config{'libpth'} || ''; + my ( @libpath ) = Text::ParseWords::quotewords( '\s+', 0, $Config{'libpth'} || '' ); my ( @ldloadlibs, @bsloadlibs, @extralibs, @ld_run_path, %ld_run_path_seen ); my ( @libs, %libs_seen ); my ( $fullname, @fullname ); @@ -63,7 +65,7 @@ sub _unix_os2_ext { $potential_libs =~ s/(^|\s)(-F)\s*(\S+)/$1-Wl,$2 -Wl,$3/g; } - foreach my $thislib ( split ' ', $potential_libs ) { + foreach my $thislib ( Text::ParseWords::quotewords( '\s+', 0, $potential_libs) ) { my ( $custom_name ) = ''; # Handle possible linker path arguments. @@ -88,6 +90,7 @@ sub _unix_os2_ext { $thislib = $self->catdir( $pwd, $thislib ); } push( @searchpath, $thislib ); + $thislib = qq{"$thislib"} if $thislib =~ / /; # protect spaces if there push( @extralibs, "$ptype$thislib" ); push( @ldloadlibs, "$rtype$thislib" ); next; @@ -171,6 +174,10 @@ sub _unix_os2_ext { && -f ( $fullname = "$thispth/lib$thislib.$Config_dlext" ) ) { } + elsif ( $^O eq 'darwin' && require DynaLoader && defined &DynaLoader::dl_load_file + && DynaLoader::dl_load_file( $fullname = "$thispth/lib$thislib.$so", 0 ) ) + { + } elsif ( -f ( $fullname = "$thispth/$thislib$Config_libext" ) ) { } elsif ( -f ( $fullname = "$thispth/lib$thislib.dll$Config_libext" ) ) { @@ -207,7 +214,8 @@ sub _unix_os2_ext { # Now update library lists # what do we know about this library... - my $is_dyna = ( $fullname !~ /\Q$Config_libext\E\z/ ); + # "Sounds like we should always assume it's a dynamic library on AIX." + my $is_dyna = $^O eq 'aix' ? 1 : ( $fullname !~ /\Q$Config_libext\E\z/ ); my $in_perl = ( $libs =~ /\B-l:?\Q${thislib}\E\b/s ); # include the path to the lib once in the dynamic linker path |