From 84ab2d3d0a6db05f735725880727262a93fcc518 Mon Sep 17 00:00:00 2001 From: schmonz Date: Tue, 21 May 2002 14:03:36 +0000 Subject: Make libtool work on Darwin, based on the patches in pkg/16104 by Jeff Putsch . Also repair a typo that had prevented '-fno-common' from being passed along (found and fixed by skrll). Bump PKGREVISION. Approved by skrll. --- devel/libtool-base/Makefile | 6 ++++- devel/libtool/Makefile.common | 4 ++-- devel/libtool/distinfo | 7 +++--- devel/libtool/patches/patch-aa | 11 ++++++++- devel/libtool/patches/patch-ag | 32 ++++++++++++++++++++++--- devel/libtool/patches/patch-am | 54 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 104 insertions(+), 10 deletions(-) create mode 100644 devel/libtool/patches/patch-am (limited to 'devel') diff --git a/devel/libtool-base/Makefile b/devel/libtool-base/Makefile index b79ff23ced9..aa14507ccfb 100644 --- a/devel/libtool-base/Makefile +++ b/devel/libtool-base/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.9 2002/04/17 13:24:21 martti Exp $ +# $NetBSD: Makefile,v 1.10 2002/05/21 14:03:38 schmonz Exp $ # .include "../libtool/Makefile.common" @@ -20,6 +20,10 @@ test: build DEPENDS+= c++rt0>=1.0:../../sysutils/c++rt0 .endif +.if ${MACHINE_PLATFORM:MDarwin-*-*} != "" +.include "../../devel/dlcompat/buildlink.mk" +.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/Makefile.common b/devel/libtool/Makefile.common index 6c86d90b22c..364b0a5a992 100644 --- a/devel/libtool/Makefile.common +++ b/devel/libtool/Makefile.common @@ -1,9 +1,9 @@ -# $NetBSD: Makefile.common,v 1.21 2002/04/15 18:25:45 kei Exp $ +# $NetBSD: Makefile.common,v 1.22 2002/05/21 14:03:36 schmonz Exp $ # DISTNAME= libtool-ml-20010614 PKGPFX= ${DISTNAME:C/ml-/1.4./} -PKGREVISION= 8 +PKGREVISION= 9 WRKSRC= ${WRKDIR}/libtool-ml CATEGORIES= devel pkgtools MASTER_SITES= ${MASTER_SITE_LOCAL} diff --git a/devel/libtool/distinfo b/devel/libtool/distinfo index 98e04734a48..d82739cd2ca 100644 --- a/devel/libtool/distinfo +++ b/devel/libtool/distinfo @@ -1,17 +1,18 @@ -$NetBSD: distinfo,v 1.16 2002/05/13 08:02:33 skrll Exp $ +$NetBSD: distinfo,v 1.17 2002/05/21 14:03:37 schmonz Exp $ SHA1 (libtool-ml-20010614.tar.gz) = ff746666737e420592c3017d65bf4c47f1430dac Size (libtool-ml-20010614.tar.gz) = 784246 bytes -SHA1 (patch-aa) = c085c1dd5a3f3f56bfa279076724fc13311d83bb +SHA1 (patch-aa) = 63005677ad929a7dc08fad93efe6b0905316411d SHA1 (patch-ab) = 1d23b17b2d1ce914e5665b3cbc0adc6590fca827 SHA1 (patch-ac) = 61196acaa12edee0b1209b2ba7c6414453bfa438 SHA1 (patch-ad) = 6aab76688d0f55648e35adc45a3492ba9c87acfb SHA1 (patch-ae) = 03de2a4fc9d828d62c6e6126ecf2dbbfeb1d82ea SHA1 (patch-af) = 2a0630e92b355ee86800c4f3a7993fbb126a0999 -SHA1 (patch-ag) = 93c0ed94970c69f1a4af9ccec31463f2e3adc670 +SHA1 (patch-ag) = 17fd063e27035841a63c94334d535cb7063149c6 SHA1 (patch-ah) = 7f0a0153f5e23aab4a3fcd6ae395b5b56d2b52a1 SHA1 (patch-ai) = bf5296409ccba34bccbc5ed289eeaa8350d7176e SHA1 (patch-aj) = 5382fc0a6a58687da5523c596118a4eeb948f675 SHA1 (patch-ak) = 7e7c6a515361863b683bbc8be24c8146501ca864 SHA1 (patch-al) = 22f1b7289d9ba477255e66364ae23af24a298dd0 +SHA1 (patch-am) = cedc92d0e229ced47ca5eb6ad4997fb1506d5ec9 SHA1 (patch-ao) = 4e115e9d6ddde556205dc786cde471bfee5a5e9e diff --git a/devel/libtool/patches/patch-aa b/devel/libtool/patches/patch-aa index 44dbd7d0ca3..5eb7a9232c9 100644 --- a/devel/libtool/patches/patch-aa +++ b/devel/libtool/patches/patch-aa @@ -1,7 +1,16 @@ -$NetBSD: patch-aa,v 1.26 2001/10/04 07:58:02 skrll Exp $ +$NetBSD: patch-aa,v 1.27 2002/05/21 14:03:37 schmonz Exp $ --- ltconfig.in.orig Mon May 21 05:05:06 2001 +++ ltconfig.in +@@ -1104,7 +1104,7 @@ + version_type=darwin + need_lib_prefix=no + need_version=no +- library_names_spec='${libname}${release}${versuffix}.`test .$module = .yes && echo so || echo dylib` ${libname}${release}${major}.$`test .$module = .yes && echo so || echo dylib` ${libname}.`test .$module = .yes && echo so || echo dylib`' ++ library_names_spec='${libname}${release}${versuffix}.`test .$module = .yes && echo so || echo dylib` ${libname}${release}${major}.`test .$module = .yes && echo so || echo dylib` ${libname}.`test .$module = .yes && echo so || echo dylib`' + soname_spec='${libname}${release}${major}.`test .$module = .yes && echo so || echo dylib`' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH @@ -1198,7 +1198,7 @@ # This must be Linux ELF. diff --git a/devel/libtool/patches/patch-ag b/devel/libtool/patches/patch-ag index ebe284886a6..3dee189d0a4 100644 --- a/devel/libtool/patches/patch-ag +++ b/devel/libtool/patches/patch-ag @@ -1,10 +1,27 @@ -$NetBSD: patch-ag,v 1.5 2001/10/26 10:58:03 skrll Exp $ +$NetBSD: patch-ag,v 1.6 2002/05/21 14:03:37 schmonz Exp $ --- ltcf-cxx.sh.orig Wed May 23 05:05:06 2001 +++ ltcf-cxx.sh -@@ -383,7 +383,23 @@ +@@ -382,8 +382,40 @@ + ;; esac ;; ++ darwin* | rhapsody*) ++ case "$host_os" in ++ rhapsody* | darwin1.[012]) ++ allow_undefined_flag='-undefined suppress' ++ ;; ++ *) # Darwin 1.3 on ++ allow_undefined_flag='-flat_namespace -undefined suppress' ++ ;; ++ esac ++ archive_cmds='$CC $(if test .$module = .yes; then echo -bundle; else echo -dynamiclib; fi) $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts -install_name $rpath/$soname $verstring' ++ # We need to add '_' to the symbols in $export_symbols first ++ #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols $lib' ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ whole_archive_flag_spec='-all_load $convenience' ++ ;; netbsd*) - # NetBSD uses g++ - do we need to do anything? + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then @@ -27,7 +44,16 @@ $NetBSD: patch-ag,v 1.5 2001/10/26 10:58:03 skrll Exp $ ;; osf3*) if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then -@@ -982,6 +998,14 @@ +@@ -690,7 +722,7 @@ + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files +- lt_cv_prog_cc_pic='-fno-common' ++ ac_cv_prog_cc_pic='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all +@@ -982,6 +1014,14 @@ esac done diff --git a/devel/libtool/patches/patch-am b/devel/libtool/patches/patch-am new file mode 100644 index 00000000000..68c23fc8422 --- /dev/null +++ b/devel/libtool/patches/patch-am @@ -0,0 +1,54 @@ +$NetBSD: patch-am,v 1.3 2002/05/21 14:03:37 schmonz Exp $ + +--- ltcf-c.sh.orig Wed Apr 25 00:05:02 2001 ++++ ltcf-c.sh +@@ -173,16 +173,6 @@ + $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' + ;; + +- darwin* | rhapsody*) +- allow_undefined_flag='-undefined suppress' +- archive_cmds='$CC `test .$module = .yes && echo -bundle || echo -dynamiclib` $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts -install_name $rpath/$soname `test -n "$verstring" -a x$verstring != x0.0 && echo $verstring`' +- # We need to add '_' to the symbols in $export_symbols first +- #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols' +- hardcode_direct=yes +- hardcode_shlibpath_var=no +- whole_archive_flag_spec='-all_load $convenience' +- ;; +- + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' +@@ -379,6 +369,23 @@ + fix_srcfile_path='`cygpath -w "$srcfile"`' + ;; + ++ darwin* | rhapsody*) ++ case "$host_os" in ++ rhapsody* | darwin1.[012]) ++ allow_undefined_flag='-undefined suppress' ++ ;; ++ *) # Darwin 1.3 on ++ allow_undefined_flag='-flat_namespace -undefined suppress' ++ ;; ++ esac ++ archive_cmds='$CC $(if test .$module = .yes; then echo -bundle; else echo -dynamiclib; fi) $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts -install_name $rpath/$soname $verstring' ++ # We need to add '_' to the symbols in $export_symbols first ++ #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols $lib' ++ hardcode_direct=yes ++ hardcode_shlibpath_var=no ++ whole_archive_flag_spec='-all_load $convenience' ++ ;; ++ + freebsd1*) + ld_shlibs=no + ;; +@@ -644,7 +651,7 @@ + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files +- lt_cv_prog_cc_pic='-fno-common' ++ ac_cv_prog_cc_pic='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all -- cgit v1.2.3