pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/devel/libtool libtool: Remove hardcoded compiler objec...
details: https://anonhg.NetBSD.org/pkgsrc/rev/c9d36938fe43
branches: trunk
changeset: 382747:c9d36938fe43
user: jperkin <jperkin%pkgsrc.org@localhost>
date: Thu Aug 04 12:23:21 2022 +0000
description:
libtool: Remove hardcoded compiler objects on SunOS.
I've been running with this patch for many years, and it's required to ensure
correct operation of USE_PKGSRC_GCC_RUNTIME, as well as allowing libtool to be
compiler-agnostic, at least within the same compiler family. Bad things happen
otherwise, such as multiple libstdc++.so's being pulled in, and it matches the
behaviour of NetBSD and others.
While here simplify some of the logic, removing support for GCC 2.7(!) and
Solaris 2.5 and earlier(!!), making this section of code easier to read.
Ride previous PKGREVISION bump.
diffstat:
devel/libtool/distinfo | 8 +-
devel/libtool/patches/manual-libtool.m4 | 53 ++++++-
devel/libtool/patches/patch-build-aux_ltmain.sh | 4 +-
devel/libtool/patches/patch-configure | 156 ++++++++++++++---------
devel/libtool/patches/patch-libltdl_configure | 8 +-
5 files changed, 147 insertions(+), 82 deletions(-)
diffs (truncated from 718 to 300 lines):
diff -r 75ac025882e1 -r c9d36938fe43 devel/libtool/distinfo
--- a/devel/libtool/distinfo Thu Aug 04 12:18:47 2022 +0000
+++ b/devel/libtool/distinfo Thu Aug 04 12:23:21 2022 +0000
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.109 2022/08/03 13:06:31 jperkin Exp $
+$NetBSD: distinfo,v 1.110 2022/08/04 12:23:21 jperkin Exp $
BLAKE2s (libtool-2.4.7.tar.gz) = ae08c74a0da41b3ae252b207ff642d594648edc9c1af41b0191b899d844fecf7
SHA512 (libtool-2.4.7.tar.gz) = 27acef46d9eb67203d708b57d80b853f76fa4b9c2720ff36ec161e6cdf702249e7982214ddf60bae75511aa79bc7d92aa27e3eab7ef9c0f5c040e8e42e76a385
Size (libtool-2.4.7.tar.gz) = 1938886 bytes
SHA1 (patch-Makefile.in) = 0adb634335acd5fb280c99b5d43ae568018ca0af
SHA1 (patch-build-aux_depcomp) = ae6f93ad4fac1df648cfcb62601c72f9ebb30233
-SHA1 (patch-build-aux_ltmain.sh) = 455f1ea72a60e76295d62adb2b2a307df54d9095
-SHA1 (patch-configure) = 22adf967ecbd2e77294d34f5a5f662526a0d3509
-SHA1 (patch-libltdl_configure) = a4ec3706e249e2f0c014513a7be70f0619b0562a
+SHA1 (patch-build-aux_ltmain.sh) = ecb677b383caaaf8efb75a01cc17d49e5599c53c
+SHA1 (patch-configure) = 5c2718a6ca14a1f99e1f965d0636d86eb74ec017
+SHA1 (patch-libltdl_configure) = 58211bf63b3f3ed5ebac583c179af7f69d955fba
diff -r 75ac025882e1 -r c9d36938fe43 devel/libtool/patches/manual-libtool.m4
--- a/devel/libtool/patches/manual-libtool.m4 Thu Aug 04 12:18:47 2022 +0000
+++ b/devel/libtool/patches/manual-libtool.m4 Thu Aug 04 12:23:21 2022 +0000
@@ -1,8 +1,9 @@
-$NetBSD: manual-libtool.m4,v 1.50 2022/08/03 13:06:32 jperkin Exp $
+$NetBSD: manual-libtool.m4,v 1.51 2022/08/04 12:23:21 jperkin Exp $
Support Minix.
Handle pkgsrc wrappers.
Fixup output on various OS.
+Remove hardcoding of build-time compiler objects on SunOS.
--- m4/libtool.m4.orig 2022-03-17 02:43:39.000000000 +0000
+++ m4/libtool.m4
@@ -105,7 +106,7 @@
esac
need_lib_prefix=no
need_version=no
-@@ -2907,19 +2916,25 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
+@@ -2907,19 +2916,25 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
dynamic_linker='GNU/Linux ld.so'
;;
@@ -159,7 +160,7 @@
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
-@@ -3566,12 +3581,8 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
+@@ -3566,12 +3581,8 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
lt_cv_deplibs_check_method=pass_all
;;
@@ -336,7 +337,7 @@
AC_PROG_CXXCPP
else
_lt_caught_CXX_error=yes
-@@ -7115,16 +7152,14 @@ if test yes != "$_lt_caught_CXX_error";
+@@ -7115,16 +7152,14 @@ if test yes != "$_lt_caught_CXX_error";
esac
;;
@@ -361,16 +362,48 @@
;;
*nto* | *qnx*)
-@@ -7298,7 +7333,7 @@ if test yes != "$_lt_caught_CXX_error";
+@@ -7298,35 +7333,12 @@ if test yes != "$_lt_caught_CXX_error";
# GNU C++ compiler with Solaris linker
if test yes,no = "$GXX,$with_gnu_ld"; then
_LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-+ if true; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-@@ -7557,8 +7592,9 @@ if AC_TRY_EVAL(ac_compile); then
+- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+- else
+- # g++ 2.7 appears to require '-G' NOT '-shared' on this
+- # platform.
+- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+- fi
+-
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared $pic_flag $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
+- case $host_os in
+- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+- *)
+- _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+- ;;
+- esac
++ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ fi
+ ;;
+ esac
+@@ -7557,8 +7569,9 @@ if AC_TRY_EVAL(ac_compile); then
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
diff -r 75ac025882e1 -r c9d36938fe43 devel/libtool/patches/patch-build-aux_ltmain.sh
--- a/devel/libtool/patches/patch-build-aux_ltmain.sh Thu Aug 04 12:18:47 2022 +0000
+++ b/devel/libtool/patches/patch-build-aux_ltmain.sh Thu Aug 04 12:23:21 2022 +0000
@@ -1,9 +1,9 @@
-$NetBSD: patch-build-aux_ltmain.sh,v 1.4 2022/08/03 13:06:32 jperkin Exp $
+$NetBSD: patch-build-aux_ltmain.sh,v 1.5 2022/08/04 12:23:21 jperkin Exp $
Automatically generated using manual-* patches and bootstrap.
DO NOT MODIFY THIS PATCH MANUALLY! YOUR CHANGES WILL BE LOST!
---- build-aux/ltmain.sh.orig 2022-08-03 12:14:26.878811652 +0000
+--- build-aux/ltmain.sh.orig 2022-08-04 11:35:59.000000000 +0000
+++ build-aux/ltmain.sh
@@ -323,6 +323,9 @@ test -z "$GREP" && {
# uses them if a suitable command of that name is not already available
diff -r 75ac025882e1 -r c9d36938fe43 devel/libtool/patches/patch-configure
--- a/devel/libtool/patches/patch-configure Thu Aug 04 12:18:47 2022 +0000
+++ b/devel/libtool/patches/patch-configure Thu Aug 04 12:23:21 2022 +0000
@@ -1,9 +1,9 @@
-$NetBSD: patch-configure,v 1.5 2022/08/03 13:06:32 jperkin Exp $
+$NetBSD: patch-configure,v 1.6 2022/08/04 12:23:21 jperkin Exp $
Automatically generated using manual-* patches and bootstrap.
DO NOT MODIFY THIS PATCH MANUALLY! YOUR CHANGES WILL BE LOST!
---- configure.orig 2022-08-03 12:14:26.894800127 +0000
+--- configure.orig 2022-08-04 11:35:59.000000000 +0000
+++ configure
@@ -748,6 +748,9 @@ AM_BACKSLASH
AM_DEFAULT_VERBOSITY
@@ -64,7 +64,7 @@
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
-@@ -3342,6 +3333,20 @@ am__tar='$${TAR-tar} chof - "$$tardir"'
+@@ -3342,6 +3333,20 @@ am__tar='$${TAR-tar} chof - "$$tardir"'
@@ -104,7 +104,7 @@
: ${CP="cp -f"}
: ${MV="mv -f"}
: ${RM="rm -f"}
-@@ -6574,12 +6582,8 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
+@@ -6574,12 +6582,8 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
lt_cv_deplibs_check_method=pass_all
;;
@@ -420,16 +420,48 @@
;;
*nto* | *qnx*)
-@@ -16196,7 +16227,7 @@ fi
+@@ -16196,35 +16227,12 @@ fi
# GNU C++ compiler with Solaris linker
if test yes,no = "$GXX,$with_gnu_ld"; then
no_undefined_flag_CXX=' $wl-z ${wl}defs'
- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-+ if true; then
- archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
- archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-@@ -16360,8 +16391,9 @@ if { { eval echo "\"\$as_me\":${as_linen
+- archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+- else
+- # g++ 2.7 appears to require '-G' NOT '-shared' on this
+- # platform.
+- archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+- archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+- $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+-
+- # Commands to make compiler produce verbose output that lists
+- # what "hidden" libraries, object files and flags are used when
+- # linking a shared library.
+- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+- fi
+-
++ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h $wl$soname -o $lib'
++ archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
++ $CC -shared $pic_flag $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
++ output_verbose_link_cmd=func_echo_all
+ hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
+- case $host_os in
+- solaris2.[0-5] | solaris2.[0-5].*) ;;
+- *)
+- whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+- ;;
+- esac
++ whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ fi
+ ;;
+ esac
+@@ -16360,8 +16368,9 @@ if { { eval echo "\"\$as_me\":${as_linen
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
@@ -441,7 +473,7 @@
prev=$p
continue
fi
-@@ -16541,9 +16573,15 @@ lt_prog_compiler_static_CXX=
+@@ -16541,9 +16550,15 @@ lt_prog_compiler_static_CXX=
esac
;;
darwin* | rhapsody*)
@@ -458,7 +490,7 @@
;;
*djgpp*)
# DJGPP does not support shared libraries at all
-@@ -16621,6 +16659,9 @@ lt_prog_compiler_static_CXX=
+@@ -16621,6 +16636,9 @@ lt_prog_compiler_static_CXX=
;;
esac
;;
@@ -468,7 +500,7 @@
freebsd* | dragonfly* | midnightbsd*)
# FreeBSD uses GNU C++
;;
-@@ -16728,7 +16769,7 @@ lt_prog_compiler_static_CXX=
+@@ -16728,7 +16746,7 @@ lt_prog_compiler_static_CXX=
;;
esac
;;
@@ -477,7 +509,7 @@
;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
-@@ -16818,6 +16859,9 @@ lt_prog_compiler_static_CXX=
+@@ -16818,6 +16836,9 @@ lt_prog_compiler_static_CXX=
case $host_os in
# For platforms that do not support PIC, -DPIC is meaningless:
@@ -487,7 +519,7 @@
*djgpp*)
lt_prog_compiler_pic_CXX=
;;
-@@ -17545,7 +17589,7 @@ dgux*)
+@@ -17545,7 +17566,7 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -496,7 +528,7 @@
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
if test -x /usr/bin/objformat; then
-@@ -17590,6 +17634,17 @@ freebsd* | dragonfly* | midnightbsd*)
+@@ -17590,6 +17611,17 @@ freebsd* | dragonfly* | midnightbsd*)
esac
;;
@@ -514,7 +546,7 @@
haiku*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
-@@ -17667,12 +17722,7 @@ interix[3-9]*)
+@@ -17667,12 +17699,7 @@ interix[3-9]*)
irix5* | irix6* | nonstopux*)
case $host_os in
nonstopux*) version_type=nonstopux ;;
@@ -528,7 +560,7 @@
esac
need_lib_prefix=no
need_version=no
-@@ -17796,19 +17846,25 @@ fi
+@@ -17796,19 +17823,25 @@ fi
dynamic_linker='GNU/Linux ld.so'
;;
@@ -564,7 +596,7 @@
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
-@@ -17834,7 +17890,7 @@ newsos6)
+@@ -17834,7 +17867,7 @@ newsos6)
;;
openbsd* | bitrig*)
@@ -573,7 +605,7 @@
sys_lib_dlsearch_path_spec=/usr/lib
Home |
Main Index |
Thread Index |
Old Index