diff options
Diffstat (limited to 'dev-lang/perl/files/perl-5.10.1-prefix-soname.patch')
-rw-r--r-- | dev-lang/perl/files/perl-5.10.1-prefix-soname.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/dev-lang/perl/files/perl-5.10.1-prefix-soname.patch b/dev-lang/perl/files/perl-5.10.1-prefix-soname.patch new file mode 100644 index 0000000..85f02a9 --- /dev/null +++ b/dev-lang/perl/files/perl-5.10.1-prefix-soname.patch @@ -0,0 +1,51 @@ +contrast 0005-gentoo_create-libperl-soname.diff + +don't just assume all linkers are GNU, use the right approach instead. + +--- Makefile.SH ++++ Makefile.SH +@@ -78,7 +78,7 @@ + ${api_revision}.${api_version}.${api_subversion} \ + -current_version \ + ${revision}.${patchlevel}.${subversion} \ +- -install_name \$(shrpdir)/\$@" ++ -install_name \$(shrpdir)/libperl.${revision}.${patchlevel}.dylib" + ;; + cygwin*) + shrpldflags="$shrpldflags -Wl,--out-implib=libperl.dll.a -Wl,--image-base,0x52000000" +@@ -86,13 +86,15 @@ + ;; + sunos*) + linklibperl="-lperl" ++ shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}" + ;; + netbsd*|freebsd[234]*|openbsd*|dragonfly*) + linklibperl="-L. -lperl" ++ shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}" + ;; + interix*) + linklibperl="-L. -lperl" +- shrpldflags="$shrpldflags -Wl,--image-base,0x57000000" ++ shrpldflags="$shrpldflags -Wl,--image-base,0x57000000 -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}" + ;; + aix*) + case "$cc" in +@@ -130,6 +132,9 @@ + linklibperl='libperl.x' + DPERL_EXTERNAL_GLOB='' + ;; ++ linux*) ++ shrpldflags="$shrpldflags -Wl,-soname -Wl,libperl.so.${revision}.${patchlevel}" ++ ;; + esac + case "$ldlibpthname" in + '') ;; +@@ -735,7 +740,7 @@ + true) + $spitshell >>$Makefile <<'!NO!SUBS!' + rm -f $@ +- $(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs) -Wl,-soname -Wl,libperl.so.`echo $(LIBPERL) | cut -d. -f3,4` ++ $(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs) + !NO!SUBS! + case "$osname" in + aix) |