]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
Indicate if the archiver supports a listing file.
authorPeter Rosin <peda@lysator.liu.se>
Sat, 2 Aug 2008 12:54:10 +0000 (14:54 +0200)
committerPeter Rosin <peda@lysator.liu.se>
Tue, 13 Jan 2009 09:04:00 +0000 (10:04 +0100)
Allow the use of a file listing file if the archiver supports
it.  Add hint so that the Microsoft lib archiver uses the file
listing feature.
* libltdl/m4/libtool.m4 (_LT_PROG_AR): Indicate if the
archiver supports a listing file with the new variable
archiver_list_spec.
* libltdl/config/ltmain.m4sh: If the archiver supports
a listing file, use it when max_cmd_len is exceeded.

ChangeLog
libltdl/config/ltmain.m4sh
libltdl/m4/libtool.m4

index eac2eb4cfee34291fae88d6a1284a73c03675331..5f0b48ac7cb19e9303030cfcce21b60ffeba7e2a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2008-08-02  Peter Rosin  <peda@lysator.liu.se>
+
+       Allow the use of a file listing file if the archiver supports
+       it.  Add hint so that the Microsoft lib archiver uses the file
+       listing feature.
+       * libltdl/m4/libtool.m4 (_LT_PROG_AR): Indicate if the
+       archiver supports a listing file with the new variable
+       archiver_list_spec.
+       * libltdl/config/ltmain.m4sh: If the archiver supports
+       a listing file, use it when max_cmd_len is exceeded.
+
 2008-08-02  Peter Rosin  <peda@lysator.liu.se>
 
        MSVC doesn't support the -l option, instead it expects the exact
index 7020c3364e7b61d222c5073eb1f90b1aa6e3fb5f..fdc9bf9d92e38767021f590f90c1a31e0ff17d8f 100644 (file)
@@ -7783,6 +7783,15 @@ EOF
        len=$func_len_result
        if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
          cmds=$old_archive_cmds
+       elif test -n "$archiver_list_spec"; then
+         func_verbose "using command file archive linking..."
+         for obj in $oldobjs; do
+           $ECHO \""$obj"\"
+         done > $output_objdir/$libname.libcmd
+         save_oldobjs="$oldobjs"
+         oldobjs=" $archiver_list_spec$output_objdir/$libname.libcmd"
+         eval cmds=\"\$old_archive_cmds\"
+         oldobjs="$save_oldobjs"
        else
          # the command line is too long to link in one step, link in parts
          func_verbose "using piecewise archive linking..."
index 9c4b71fbd2e6fe53b9298da35cc1f9b378e6baf1..ed5834af7c0dc3ab5c1b1f92ac467f6527b85751 100644 (file)
@@ -1306,6 +1306,7 @@ ar)
   : ${AR_XFLAGS=x}
   test -z "$AR_SEP" && AR_SEP=' '
   _LT_TAGVAR(ar_extract_one_by_one, $1)=no
+  _LT_TAGVAR(archiver_list_spec, $1)=
   ;;
 lib)
   : ${AR_FLAGS="-NOLOGO -OUT:"}
@@ -1313,6 +1314,7 @@ lib)
   : ${AR_XFLAGS="-NOLOGO -EXTRACT:"}
   test -z "$AR_SEP" && AR_SEP=''
   _LT_TAGVAR(ar_extract_one_by_one, $1)=yes
+  _LT_TAGVAR(archiver_list_spec, $1)='@'
   # Don't use ranlib
   : ${RANLIB=:}
   ;;
@@ -1320,6 +1322,8 @@ esac
 
 _LT_DECL([], [ar_extract_one_by_one], [1],
   [Extract archive members one by one])
+_LT_DECL([], [archiver_list_spec], [1],
+  [How to feed a file listing to the archiver])
 
 _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
 _LT_DECL([], [AR_TFLAGS], [1], [Flags to list archive content])