Here's the patch I intend to commit. This includes the former --tag CXX fix, plus the part that makes --tag=disable-static --tag=disable-shared
independent from other tags by delaying their effect. As far as I can tell, kde is fairly happy with this.... Index: Makefile =================================================================== RCS file: /cvs/ports/devel/libtool/Makefile,v retrieving revision 1.44 diff -u -p -r1.44 Makefile --- Makefile 2 Nov 2005 02:47:09 -0000 1.44 +++ Makefile 8 Dec 2005 23:12:49 -0000 @@ -6,7 +6,7 @@ COMMENT-ltdl= "GNU libtool system indepe VERSION= 1.5.20 DISTNAME= libtool-${VERSION} -PKGNAME= ${DISTNAME}p1 +PKGNAME= ${DISTNAME}p2 PKGNAME-ltdl= libltdl-${VERSION}p1 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=libtool/} Index: patches/patch-libltdl_ltmain_sh =================================================================== RCS file: /cvs/ports/devel/libtool/patches/patch-libltdl_ltmain_sh,v retrieving revision 1.13 diff -u -p -r1.13 patch-libltdl_ltmain_sh --- patches/patch-libltdl_ltmain_sh 2 Nov 2005 02:47:09 -0000 1.13 +++ patches/patch-libltdl_ltmain_sh 8 Dec 2005 23:12:49 -0000 @@ -1,7 +1,18 @@ $OpenBSD: patch-libltdl_ltmain_sh,v 1.13 2005/11/02 02:47:09 brad Exp $ ---- libltdl/ltmain.sh.orig Wed Aug 31 14:55:39 2005 -+++ libltdl/ltmain.sh Tue Nov 1 15:15:22 2005 -@@ -1089,14 +1089,15 @@ EOF +--- libltdl/ltmain.sh.orig Wed Aug 31 20:55:39 2005 ++++ libltdl/ltmain.sh Tue Dec 6 19:58:54 2005 +@@ -468,7 +468,9 @@ do + preserve_args="$preserve_args $arg" + ;; + +- --tag) prevopt="--tag" prev=tag ;; ++ --tag) prevopt="--tag" prev=tag ++ preserve_args="$preserve_args --tag" ++ ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift +@@ -1089,14 +1091,15 @@ EOF if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi @@ -18,7 +29,7 @@ $OpenBSD: patch-libltdl_ltmain_sh,v 1.13 break ;; esac -@@ -1984,6 +1985,17 @@ EOF +@@ -1984,6 +1987,17 @@ EOF ;; esac for pass in $passes; do @@ -36,7 +47,7 @@ $OpenBSD: patch-libltdl_ltmain_sh,v 1.13 if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" -@@ -2245,20 +2257,20 @@ EOF +@@ -2245,20 +2259,20 @@ EOF # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" @@ -67,7 +78,7 @@ $OpenBSD: patch-libltdl_ltmain_sh,v 1.13 continue fi # $pass = conv -@@ -2445,8 +2457,12 @@ EOF +@@ -2445,8 +2459,12 @@ EOF fi link_static=no # Whether the deplib will be linked statically @@ -81,7 +92,7 @@ $OpenBSD: patch-libltdl_ltmain_sh,v 1.13 if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes -@@ -2644,7 +2660,7 @@ EOF +@@ -2644,7 +2662,7 @@ EOF add_dir= add= # Finalize command for both is simple: just hardcode it. @@ -90,7 +101,7 @@ $OpenBSD: patch-libltdl_ltmain_sh,v 1.13 add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" -@@ -5932,40 +5948,6 @@ relink_command=\"$relink_command\"" +@@ -5932,40 +5950,6 @@ relink_command=\"$relink_command\"" # Exit here if they wanted silent mode. test "$show" = : && exit $EXIT_SUCCESS Index: patches/patch-ltmain_in =================================================================== RCS file: /cvs/ports/devel/libtool/patches/patch-ltmain_in,v retrieving revision 1.13 diff -u -p -r1.13 patch-ltmain_in --- patches/patch-ltmain_in 2 Nov 2005 02:47:09 -0000 1.13 +++ patches/patch-ltmain_in 8 Dec 2005 23:12:49 -0000 @@ -1,7 +1,46 @@ $OpenBSD: patch-ltmain_in,v 1.13 2005/11/02 02:47:09 brad Exp $ ---- ltmain.in.orig Wed Aug 31 14:25:28 2005 -+++ ltmain.in Tue Nov 1 15:13:43 2005 -@@ -1089,14 +1089,15 @@ EOF +--- ltmain.in.orig Wed Aug 31 20:25:28 2005 ++++ ltmain.in Wed Dec 7 09:43:10 2005 +@@ -352,6 +352,8 @@ func_extract_archives () + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + ++disable_libs=no ++ + # Parse our command line options once, thoroughly. + while test "$#" -gt 0 + do +@@ -468,7 +470,9 @@ do + preserve_args="$preserve_args $arg" + ;; + +- --tag) prevopt="--tag" prev=tag ;; ++ --tag) prevopt="--tag" prev=tag ++ preserve_args="$preserve_args --tag" ++ ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift +@@ -500,6 +504,18 @@ if test -n "$prevopt"; then + exit $EXIT_FAILURE + fi + ++case $disable_libs in ++no) ++ ;; ++shared) ++ build_libtool_libs=no ++ build_old_libs=yes ++ ;; ++static) ++ build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` ++ ;; ++esac ++ + # If this variable is set in any of the actions, the command in it + # will be execed at the end. This prevents here-documents from being + # left over by shells. +@@ -1089,14 +1105,15 @@ EOF if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi @@ -18,7 +57,7 @@ $OpenBSD: patch-ltmain_in,v 1.13 2005/11 break ;; esac -@@ -1984,6 +1985,17 @@ EOF +@@ -1984,6 +2001,17 @@ EOF ;; esac for pass in $passes; do @@ -36,7 +75,7 @@ $OpenBSD: patch-ltmain_in,v 1.13 2005/11 if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" -@@ -2245,20 +2257,20 @@ EOF +@@ -2245,20 +2273,20 @@ EOF # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" @@ -67,7 +106,7 @@ $OpenBSD: patch-ltmain_in,v 1.13 2005/11 continue fi # $pass = conv -@@ -2445,8 +2457,12 @@ EOF +@@ -2445,8 +2473,12 @@ EOF fi link_static=no # Whether the deplib will be linked statically @@ -81,7 +120,7 @@ $OpenBSD: patch-ltmain_in,v 1.13 2005/11 if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes -@@ -2644,7 +2660,7 @@ EOF +@@ -2644,7 +2676,7 @@ EOF add_dir= add= # Finalize command for both is simple: just hardcode it. @@ -90,7 +129,7 @@ $OpenBSD: patch-ltmain_in,v 1.13 2005/11 add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" -@@ -5932,40 +5948,6 @@ relink_command=\"$relink_command\"" +@@ -5932,40 +5964,6 @@ relink_command=\"$relink_command\"" # Exit here if they wanted silent mode. test "$show" = : && exit $EXIT_SUCCESS @@ -131,3 +170,18 @@ $OpenBSD: patch-ltmain_in,v 1.13 2005/11 exit $EXIT_SUCCESS ;; +@@ -6516,12 +6514,11 @@ exit $? + # configuration. But we'll never go from static-only to shared-only. + + # ### BEGIN LIBTOOL TAG CONFIG: disable-shared +-build_libtool_libs=no +-build_old_libs=yes ++disable_libs=shared + # ### END LIBTOOL TAG CONFIG: disable-shared + + # ### BEGIN LIBTOOL TAG CONFIG: disable-static +-build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac` ++disable_libs=static + # ### END LIBTOOL TAG CONFIG: disable-static + + # Local Variables: