From 938f1507f40d140f4ae68e976145b90ce69d2a5d Mon Sep 17 00:00:00 2001 From: skrll Date: Thu, 29 Jun 2000 08:06:05 +0000 Subject: [PATCH] Update to support C++ in a different way to pkglibtool. There is no --cplusplus option is should just work. Thanks to Todd Verling for help with this. I've been sitting on this update while I played with deplibs_check_method for a.out. There seems to be a problem related to dlopen stuff if file_magic is used. Still investigating. Version bumped to nb4. --- devel/libtool/Makefile | 4 +-- devel/libtool/files/patch-sum | 4 +-- devel/libtool/patches/patch-aa | 53 +++++++++++++++++++++++++++------- 3 files changed, 47 insertions(+), 14 deletions(-) diff --git a/devel/libtool/Makefile b/devel/libtool/Makefile index b4f15d1b4adc..8535f9482a1b 100644 --- a/devel/libtool/Makefile +++ b/devel/libtool/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.18 2000/06/04 17:56:16 rh Exp $ +# $NetBSD: Makefile,v 1.19 2000/06/29 08:06:05 skrll Exp $ # DISTNAME= libtool-1.3.5 -PKGNAME= libtool-1.3.5nb3 +PKGNAME= libtool-1.3.5nb4 CATEGORIES= devel pkgtools MASTER_SITES= ${MASTER_SITE_GNU:=libtool/} diff --git a/devel/libtool/files/patch-sum b/devel/libtool/files/patch-sum index 089a6604f778..6a6485c94a7b 100644 --- a/devel/libtool/files/patch-sum +++ b/devel/libtool/files/patch-sum @@ -1,4 +1,4 @@ -$NetBSD: patch-sum,v 1.7 2000/06/04 17:56:17 rh Exp $ +$NetBSD: patch-sum,v 1.8 2000/06/29 08:06:05 skrll Exp $ -MD5 (patch-aa) = 9872a6807c4d4ffc5383b81882d7779b +MD5 (patch-aa) = 662a3663567c1d3a43dd925046a80a76 MD5 (patch-ab) = d7098941b9d7b79822bb02cfef632b4b diff --git a/devel/libtool/patches/patch-aa b/devel/libtool/patches/patch-aa index d8a120c319d4..b05a52b788e6 100644 --- a/devel/libtool/patches/patch-aa +++ b/devel/libtool/patches/patch-aa @@ -1,23 +1,56 @@ -$NetBSD: patch-aa,v 1.10 2000/06/04 17:56:17 rh Exp $ - ---- ltconfig.in.orig Sat May 27 03:58:57 2000 -+++ ltconfig.in Sun Jun 4 19:35:00 2000 -@@ -1194,11 +1194,11 @@ +$NetBSD: patch-aa,v 1.11 2000/06/29 08:06:06 skrll Exp $ +--- ./ltconfig.in.orig Sat May 27 02:58:57 2000 ++++ ./ltconfig.in Thu Jun 29 09:00:00 2000 +@@ -1194,11 +1194,20 @@ netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' -- else - archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib' - # can we support soname and/or expsyms with a.out? -oliva -+ else ++ if $CC -dumpspecs | grep 'c++rt0' >/dev/null; then ++ # This a.out compiler supports the -shared option ++ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $wllinkopts' ++ else ++ 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 ++ archive_cmds="$archive_cmds /usr/lib/c++rt0.o" ++ fi ++ fi + else +- archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib' +- # can we support soname and/or expsyms with a.out? -oliva + archive_cmds='$CC -shared $libobjs $deplibs $wllinkopts ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $wllinkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; -@@ -2012,6 +2012,9 @@ +@@ -1392,9 +1401,22 @@ + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then +- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out ++ if $CC -dumpspecs | grep 'c++rt0' > /dev/null; then ++ # This a.out compiler supports the -shared option ++ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $wllinkopts' ++ else ++ 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 ++ archive_cmds="$archive_cmds /usr/lib/c++rt0.o" ++ fi ++ 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_direct=yes +@@ -2012,6 +2034,9 @@ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else