pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc Another Interix fubar workaround: C++ libs weren't li...
details: https://anonhg.NetBSD.org/pkgsrc/rev/a78d46458afd
branches: trunk
changeset: 481772:a78d46458afd
user: tv <tv%pkgsrc.org@localhost>
date: Tue Oct 12 04:41:39 2004 +0000
description:
Another Interix fubar workaround: C++ libs weren't linking in libtool
because Interix installs completely hosed .la files for libstdc++ and
libsupc++. Make libtool instead trust g++ to DTRT.
diffstat:
devel/libtool-base/Makefile | 4 +-
devel/libtool/distinfo | 6 +-
devel/libtool/patches/manual-libtool.m4 | 39 ++++++++++----
devel/libtool/patches/patch-ab | 83 +++++++++++++++++++-------------
devel/libtool/patches/patch-ad | 83 +++++++++++++++++++-------------
mk/platform/Interix.mk | 4 +-
6 files changed, 132 insertions(+), 87 deletions(-)
diffs (truncated from 830 to 300 lines):
diff -r d7e8ce365f1c -r a78d46458afd devel/libtool-base/Makefile
--- a/devel/libtool-base/Makefile Tue Oct 12 01:17:36 2004 +0000
+++ b/devel/libtool-base/Makefile Tue Oct 12 04:41:39 2004 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.42 2004/10/11 16:51:56 tv Exp $
+# $NetBSD: Makefile,v 1.43 2004/10/12 04:41:39 tv Exp $
#
PKGNAME= ${DISTNAME:C/-/-base-/}
-PKGREVISION= 3
+PKGREVISION= 4
SVR4_PKGNAME= ltoob
COMMENT= Generic shared library support script (the script itself)
diff -r d7e8ce365f1c -r a78d46458afd devel/libtool/distinfo
--- a/devel/libtool/distinfo Tue Oct 12 01:17:36 2004 +0000
+++ b/devel/libtool/distinfo Tue Oct 12 04:41:39 2004 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.49 2004/10/11 17:19:53 tv Exp $
+$NetBSD: distinfo,v 1.50 2004/10/12 04:41:39 tv Exp $
SHA1 (libtool-1.5.10.tar.gz) = bb2cab7f405c5eb08ab8ba193cbac59ebe6e6e9e
Size (libtool-1.5.10.tar.gz) = 2699923 bytes
SHA1 (patch-aa) = 173b8f40ebb067e3bcea798b87e822a445d5688e
-SHA1 (patch-ab) = 9176d6add4b76a0541b7c7eb0a7dc0f5a5b22e4a
+SHA1 (patch-ab) = eb46985d419849a5bb5aab150ba761fe0113777c
SHA1 (patch-ac) = e5cb5ca2303ebb82bb17db6c785580c23db2c6d3
-SHA1 (patch-ad) = 44d53b1733ccd1e2f887e7844c66d7119e3ca9de
+SHA1 (patch-ad) = 530dc8b47e2c8d60ef203e07d972e96f64c54df3
diff -r d7e8ce365f1c -r a78d46458afd devel/libtool/patches/manual-libtool.m4
--- a/devel/libtool/patches/manual-libtool.m4 Tue Oct 12 01:17:36 2004 +0000
+++ b/devel/libtool/patches/manual-libtool.m4 Tue Oct 12 04:41:39 2004 +0000
@@ -1,4 +1,4 @@
-$NetBSD: manual-libtool.m4,v 1.9 2004/10/11 17:19:53 tv Exp $
+$NetBSD: manual-libtool.m4,v 1.10 2004/10/12 04:41:39 tv Exp $
--- libtool.m4.orig 2004-09-19 08:15:08.000000000 -0400
+++ libtool.m4
@@ -120,7 +120,7 @@
;;
+interix3*)
-+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
++ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
irix5* | irix6* | nonstopux*)
@@ -158,16 +158,24 @@
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-@@ -3091,6 +3091,8 @@ case $host_os in
+@@ -3091,6 +3091,16 @@ case $host_os in
;;
esac
;;
+ interix3*)
++ # Oy, what a hack.
++ # Because shlibs are not compiled -fPIC due to broken code, we must
++ # choose an --image-base. Otherwise, 0x10000000 will be chosen for
++ # all libraries, leading to runtime relocations -- slow and very
++ # memory consuming. To do this, we pick a random 256KB-aligned
++ # start address between 0x50000000 and 0x6ffc0000 at link time.
++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
++ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed s,^,_, $export_symbols >$output_objdir/$soname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file
$wl$output_objdir/$soname ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+ ;;
irix5* | irix6*)
case $cc_basename in
CC)
-@@ -3210,6 +3212,13 @@ case $host_os in
+@@ -3210,6 +3220,13 @@ case $host_os in
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
wlarc=
@@ -181,7 +189,7 @@
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_AC_TAGVAR(hardcode_direct, $1)=yes
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-@@ -3651,6 +3660,14 @@ if AC_TRY_EVAL(ac_compile); then
+@@ -3651,6 +3668,21 @@ if AC_TRY_EVAL(ac_compile); then
esac
done
@@ -191,12 +199,19 @@
+ predep_objects_CXX=`eval echo $predep_objects_CXX | sed -e 's:/usr/lib/c++rt0.o:$cpprt0_file:'`
+ fi
+ ;;
++ interix3*)
++ # Interix installs completely hosed .la files for C++, so rather than
++ # hack all around it, let's just trust "g++" to DTRT.
++ predep_objects_CXX=
++ postdep_objects_CXX=
++ postdeps_CXX=
++ ;;
+ esac
+
# Clean up.
rm -f a.out a.exe
else
-@@ -4591,9 +4608,11 @@ AC_MSG_CHECKING([for $compiler option to
+@@ -4591,9 +4623,11 @@ AC_MSG_CHECKING([for $compiler option to
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
;;
darwin* | rhapsody*)
@@ -209,7 +224,7 @@
;;
*djgpp*)
# DJGPP does not support shared libraries at all
-@@ -4615,6 +4634,10 @@ AC_MSG_CHECKING([for $compiler option to
+@@ -4615,6 +4649,10 @@ AC_MSG_CHECKING([for $compiler option to
;;
esac
;;
@@ -220,7 +235,7 @@
*)
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
-@@ -4689,6 +4712,8 @@ AC_MSG_CHECKING([for $compiler option to
+@@ -4689,6 +4727,8 @@ AC_MSG_CHECKING([for $compiler option to
;;
esac
;;
@@ -229,7 +244,7 @@
irix5* | irix6* | nonstopux*)
case $cc_basename in
CC)
-@@ -4854,9 +4879,11 @@ AC_MSG_CHECKING([for $compiler option to
+@@ -4854,9 +4894,11 @@ AC_MSG_CHECKING([for $compiler option to
;;
darwin* | rhapsody*)
@@ -242,7 +257,7 @@
;;
msdosdjgpp*)
-@@ -4885,6 +4912,11 @@ AC_MSG_CHECKING([for $compiler option to
+@@ -4885,6 +4927,11 @@ AC_MSG_CHECKING([for $compiler option to
esac
;;
@@ -254,7 +269,7 @@
*)
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
-@@ -5187,6 +5219,17 @@ EOF
+@@ -5187,6 +5234,17 @@ EOF
fi
;;
@@ -272,7 +287,7 @@
netbsd*)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-@@ -5592,6 +5635,21 @@ $echo "local: *; };" >> $output_objdir/$
+@@ -5592,6 +5650,21 @@ $echo "local: *; };" >> $output_objdir/$
fi
;;
diff -r d7e8ce365f1c -r a78d46458afd devel/libtool/patches/patch-ab
--- a/devel/libtool/patches/patch-ab Tue Oct 12 01:17:36 2004 +0000
+++ b/devel/libtool/patches/patch-ab Tue Oct 12 04:41:39 2004 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-ab,v 1.44 2004/10/11 17:19:53 tv Exp $
+$NetBSD: patch-ab,v 1.45 2004/10/12 04:41:39 tv Exp $
--- configure.orig 2004-09-19 08:22:04.000000000 -0400
+++ configure
@@ -21,7 +21,7 @@
;;
+interix3*)
-+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
++ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
irix5* | irix6* | nonstopux*)
@@ -105,7 +105,7 @@
+ # memory consuming. To do this, we pick a random 256KB-aligned
+ # start address between 0x50000000 and 0x6ffc0000 at link time.
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
-+ archive_expsym_cmds='sed s,^,_, $export_symbols >$output_objdir/$soname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file
$wl$output_objdir/$soname.exp ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
++ archive_expsym_cmds='sed s,^,_, $export_symbols >$output_objdir/$soname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file
$wl$output_objdir/$soname ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+ export_dynamic_flag_spec='${wl}-E'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-h,$libdir'
@@ -214,16 +214,24 @@
ac_ext=cc
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-@@ -10817,6 +10854,8 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10817,6 +10854,16 @@ if test -z "$aix_libpath"; then aix_libp
;;
esac
;;
+ interix3*)
++ # Oy, what a hack.
++ # Because shlibs are not compiled -fPIC due to broken code, we must
++ # choose an --image-base. Otherwise, 0x10000000 will be chosen for
++ # all libraries, leading to runtime relocations -- slow and very
++ # memory consuming. To do this, we pick a random 256KB-aligned
++ # start address between 0x50000000 and 0x6ffc0000 at link time.
++ archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
++ archive_expsym_cmds_CXX='sed s,^,_, $export_symbols >$output_objdir/$soname.exp && $CC -shared $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file
$wl$output_objdir/$soname ${wl}--image-base,$(($RANDOM %4096/2*262144+1342177280)) -o $lib'
+ ;;
irix5* | irix6*)
case $cc_basename in
CC)
-@@ -10936,6 +10975,13 @@ if test -z "$aix_libpath"; then aix_libp
+@@ -10936,6 +10983,13 @@ if test -z "$aix_libpath"; then aix_libp
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
wlarc=
@@ -237,7 +245,7 @@
hardcode_libdir_flag_spec_CXX='-R$libdir'
hardcode_direct_CXX=yes
hardcode_shlibpath_var_CXX=no
-@@ -11324,6 +11370,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
+@@ -11324,6 +11378,21 @@ if { (eval echo "$as_me:$LINENO: \"$ac_c
esac
done
@@ -247,12 +255,19 @@
+ predep_objects_CXX=`eval echo $predep_objects_CXX | sed -e 's:/usr/lib/c++rt0.o:$cpprt0_file:'`
+ fi
+ ;;
++ interix3*)
++ # Interix installs completely hosed .la files for C++, so rather than
++ # hack all around it, let's just trust "g++" to DTRT.
++ predep_objects_CXX=
++ postdep_objects_CXX=
++ postdeps_CXX=
++ ;;
+ esac
+
# Clean up.
rm -f a.out a.exe
else
-@@ -11371,9 +11425,11 @@ echo $ECHO_N "checking for $compiler opt
+@@ -11371,9 +11440,11 @@ echo $ECHO_N "checking for $compiler opt
lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
;;
darwin* | rhapsody*)
@@ -265,7 +280,7 @@
;;
*djgpp*)
# DJGPP does not support shared libraries at all
-@@ -11395,6 +11451,10 @@ echo $ECHO_N "checking for $compiler opt
+@@ -11395,6 +11466,10 @@ echo $ECHO_N "checking for $compiler opt
;;
esac
;;
@@ -276,7 +291,7 @@
*)
lt_prog_compiler_pic_CXX='-fPIC'
;;
-@@ -11469,6 +11529,8 @@ echo $ECHO_N "checking for $compiler opt
+@@ -11469,6 +11544,8 @@ echo $ECHO_N "checking for $compiler opt
;;
esac
;;
@@ -285,7 +300,7 @@
irix5* | irix6* | nonstopux*)
case $cc_basename in
CC)
-@@ -11939,6 +12001,7 @@ beos*)
+@@ -11939,6 +12016,7 @@ beos*)
bsdi[45]*)
version_type=linux
need_version=no
@@ -293,7 +308,7 @@
library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
soname_spec='${libname}${release}${shared_ext}$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-@@ -12053,16 +12116,17 @@ kfreebsd*-gnu)
+@@ -12053,16 +12131,17 @@ kfreebsd*-gnu)
;;
freebsd*)
@@ -317,7 +332,7 @@
need_version=yes
;;
esac
-@@ -12138,15 +12202,22 @@ hpux9* | hpux10* | hpux11*)
+@@ -12138,15 +12217,22 @@ hpux9* | hpux10* | hpux11*)
postinstall_cmds='chmod 555 $lib'
;;
@@ -346,7 +361,7 @@
esac
need_lib_prefix=no
need_version=no
-@@ -12223,11 +12294,11 @@ knetbsd*-gnu)
+@@ -12223,11 +12309,11 @@ knetbsd*-gnu)
;;
netbsd*)
@@ -360,7 +375,7 @@
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
Home |
Main Index |
Thread Index |
Old Index