diff options
author | skrll <skrll@pkgsrc.org> | 2000-10-12 19:07:06 +0000 |
---|---|---|
committer | skrll <skrll@pkgsrc.org> | 2000-10-12 19:07:06 +0000 |
commit | 54367d8e8a7d3002623c496265f3423c2b29f7e1 (patch) | |
tree | 595fe27e6abd37e19ffdd17f89cb463b7eba2e60 /devel | |
parent | bb5a5fb25fe954ff9d2e5147ce01824d54755f6c (diff) | |
download | pkgsrc-54367d8e8a7d3002623c496265f3423c2b29f7e1.tar.gz |
Make sure that -Wl does the right thing on a.out.
Make sure that an -fPIC c++rt0 is pulled in for sparc<1.4.3
Fixes: pkg/11166, pkg/10190, pkg/11189, and port-sparc/10846
Diffstat (limited to 'devel')
-rw-r--r-- | devel/libtool/Makefile | 9 | ||||
-rw-r--r-- | devel/libtool/files/patch-sum | 4 | ||||
-rw-r--r-- | devel/libtool/patches/patch-aa | 29 |
3 files changed, 26 insertions, 16 deletions
diff --git a/devel/libtool/Makefile b/devel/libtool/Makefile index ae0bd518930..9bfd62891ab 100644 --- a/devel/libtool/Makefile +++ b/devel/libtool/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.20 2000/09/14 10:20:46 skrll Exp $ +# $NetBSD: Makefile,v 1.21 2000/10/12 19:07:06 skrll Exp $ # DISTNAME= libtool-1.3.5 -PKGNAME= libtool-1.3.5nb5 +PKGNAME= libtool-1.3.5nb6 CATEGORIES= devel pkgtools MASTER_SITES= ${MASTER_SITE_GNU:=libtool/} @@ -17,6 +17,11 @@ test check: build .include "../../mk/bsd.prefs.mk" +.if ${MACHINE_PLATFORM:MNetBSD-1.4-sparc} != "" || \ + ${MACHINE_PLATFORM:MNetBSD-1.4.[12]-sparc} != "" +DEPENDS+= c++rt0>=1.0:../../sysutils/c++rt0 +.endif + .if ${OPSYS} == "NetBSD" .if !exists(/usr/libexec/ld.so) && !exists(/usr/libexec/ld.elf_so) CONFIGURE_ARGS= --disable-shared diff --git a/devel/libtool/files/patch-sum b/devel/libtool/files/patch-sum index aa13a423330..b1cea244856 100644 --- a/devel/libtool/files/patch-sum +++ b/devel/libtool/files/patch-sum @@ -1,5 +1,5 @@ -$NetBSD: patch-sum,v 1.11 2000/09/14 10:20:46 skrll Exp $ +$NetBSD: patch-sum,v 1.12 2000/10/12 19:07:07 skrll Exp $ -MD5 (patch-aa) = 40127f6b3bfe5747ccb450017417487c +MD5 (patch-aa) = f8cff8ebe275632555d567076adf514c MD5 (patch-ab) = b550fbb6345a031c6ea34ee66ec257e1 MD5 (patch-ac) = be7e8b63e245f3d9ba4e19c5fd928d00 diff --git a/devel/libtool/patches/patch-aa b/devel/libtool/patches/patch-aa index a3fcc8992ba..3c89a35ed88 100644 --- a/devel/libtool/patches/patch-aa +++ b/devel/libtool/patches/patch-aa @@ -1,8 +1,8 @@ -$NetBSD: patch-aa,v 1.13 2000/09/14 10:20:46 skrll Exp $ +$NetBSD: patch-aa,v 1.14 2000/10/12 19:07:07 skrll Exp $ --- ltconfig.in.orig Sat May 27 02:58:57 2000 +++ ltconfig.in -@@ -1194,11 +1194,15 @@ +@@ -1194,11 +1194,17 @@ netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then @@ -10,8 +10,10 @@ $NetBSD: patch-aa,v 1.13 2000/09/14 10:20:46 skrll Exp $ - archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' + wlarc= -+ if test -f /usr/lib/c++rt0.o; then -+ # Add in C++ constructor/destructor support ++ # Add in C++ constructor/destructor support ++ if test -f ${PREFIX}/lib/c++rt0/c++rt0.o.PIC; then ++ archive_cmds="$archive_cmds ${PREFIX}/lib/c++rt0/c++rt0.o.PIC" ++ elif test -f /usr/lib/c++rt0.o; then + archive_cmds="$archive_cmds /usr/lib/c++rt0.o" + fi else @@ -22,26 +24,29 @@ $NetBSD: patch-aa,v 1.13 2000/09/14 10:20:46 skrll Exp $ fi ;; -@@ -1392,9 +1396,17 @@ +@@ -1392,11 +1398,19 @@ netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' -+ wl= -+ if test -f /usr/lib/c++rt0.o; then -+ # Add in C++ constructor/destructor support ++ # Add in C++ constructor/destructor support ++ if test -f ${PREFIX}/lib/c++rt0/c++rt0.o.PIC; then ++ archive_cmds="$archive_cmds ${PREFIX}/lib/c++rt0/c++rt0.o.PIC" ++ elif test -f /usr/lib/c++rt0.o; then + archive_cmds="$archive_cmds /usr/lib/c++rt0.o" + fi else + # I don't think there are any ELF toolchains with non-gnu ld. + # I'm not touching this just in case! archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF -+ wl= fi - hardcode_libdir_flag_spec='${wl}-R$libdir' +- hardcode_libdir_flag_spec='${wl}-R$libdir' ++ hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes -@@ -2012,6 +2024,9 @@ + hardcode_shlibpath_var=no + ;; +@@ -2012,6 +2026,9 @@ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else @@ -51,7 +56,7 @@ $NetBSD: patch-aa,v 1.13 2000/09/14 10:20:46 skrll Exp $ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' soname_spec='${libname}${release}.so$major' dynamic_linker='NetBSD ld.elf_so' -@@ -2069,7 +2084,7 @@ +@@ -2069,7 +2086,7 @@ ;; solaris*) |