From: Peter Rosin Date: Sat, 2 Aug 2008 12:54:10 +0000 (+0200) Subject: Indicate if the archiver supports a listing file. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f987bddc70eb8968923964bd0b98f530b3781add;p=thirdparty%2Flibtool.git Indicate if the archiver supports a listing file. 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. --- diff --git a/ChangeLog b/ChangeLog index eac2eb4cf..5f0b48ac7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2008-08-02 Peter Rosin + + 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 MSVC doesn't support the -l option, instead it expects the exact diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index 7020c3364..fdc9bf9d9 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -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..." diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4 index 9c4b71fbd..ed5834af7 100644 --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 @@ -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])