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)