+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
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..."
: ${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:"}
: ${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=:}
;;
_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])