diff options
Diffstat (limited to 'sys-devel/libtool/files/1.4.1/libtool-1.4.1-duplicate-dependency.patch')
-rw-r--r-- | sys-devel/libtool/files/1.4.1/libtool-1.4.1-duplicate-dependency.patch | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/sys-devel/libtool/files/1.4.1/libtool-1.4.1-duplicate-dependency.patch b/sys-devel/libtool/files/1.4.1/libtool-1.4.1-duplicate-dependency.patch new file mode 100644 index 000000000000..e54c96fdb67b --- /dev/null +++ b/sys-devel/libtool/files/1.4.1/libtool-1.4.1-duplicate-dependency.patch @@ -0,0 +1,92 @@ +--- libtool-1.4.2/ltmain.sh.duplicatedep Tue Sep 11 07:40:18 2001 ++++ libtool-1.4.2/ltmain.sh Tue Jan 1 08:06:36 2002 +@@ -177,6 +177,8 @@ + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + ++ --preserve-dup-deps) duplicate_deps="yes" ;; ++ + --quiet | --silent) + show=: + ;; +@@ -1330,11 +1332,32 @@ + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do +- case "$libs " in +- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; +- esac ++ if test "X$duplicate_deps" = "Xyes" ; then ++ case "$libs " in ++ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; ++ esac ++ fi + libs="$libs $deplib" + done ++ ++ if test "$linkmode" = lib; then ++ libs="$predeps $libs $compiler_lib_search_path $postdeps" ++ ++ # Compute libraries that are listed more than once in $predeps ++ # $postdeps and mark them as special (i.e., whose duplicates are ++ # not to be eliminated). ++ pre_post_deps= ++ if test "X$duplicate_deps" = "Xyes" ; then ++ for pre_post_dep in $predeps $postdeps; do ++ case "$pre_post_deps " in ++ *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; ++ esac ++ pre_post_deps="$pre_post_deps $pre_post_dep" ++ done ++ fi ++ pre_post_deps= ++ fi ++ + deplibs= + newdependency_libs= + newlib_search_path= +@@ -1555,9 +1578,11 @@ + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" +- case "$tmp_libs " in +- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; +- esac ++ if test "X$duplicate_deps" = "Xyes" ; then ++ case "$tmp_libs " in ++ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; ++ esac ++ fi + tmp_libs="$tmp_libs $deplib" + done + elif test $linkmode != prog && test $linkmode != lib; then +@@ -1680,9 +1705,11 @@ + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi +- case "$tmp_libs " in +- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; +- esac ++ if test "X$duplicate_deps" = "Xyes" ; then ++ case "$tmp_libs " in ++ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; ++ esac ++ fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue +@@ -1981,9 +2008,11 @@ + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" +- case "$tmp_libs " in +- *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; +- esac ++ if test "X$duplicate_deps" = "Xyes" ; then ++ case "$tmp_libs " in ++ *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; ++ esac ++ fi + tmp_libs="$tmp_libs $deplib" + done + |