>>>>> Ralf Wildenhues writes:
Ralf> If your command line is too long, it's too long. And if $ECHO is not
Ralf> builtin, it might be too long for it as well.
Avoiding $ECHO also makes creating archive_linkscript_cmds more
cumbersome.
Appended is the current iteration of the patch, using loop and
initializing $output file.
Thanks, David
* config/ltmain.m4sh (func_mode_link): If command exceeds
max_cmd_len and file_list_spec exists, write list of input files
to temporary file.
* m4/libtool.m4 (_LT_LINKER_SHLIBS, aix[45]): Define file_list_spec.
(_LT_LANG_CXX_CONFIG, aix[45]): Define file_list_spec.
Index: config/ltmain.m4sh
===================================================================
RCS file: /cvsroot/libtool/libtool/config/ltmain.m4sh,v
retrieving revision 1.60
diff -c -p -r1.60 ltmain.m4sh
*** config/ltmain.m4sh 7 Apr 2005 17:58:26 -0000 1.60
--- config/ltmain.m4sh 14 Apr 2005 17:58:38 -0000
*************** EOF
*** 5129,5134 ****
--- 5129,5145 ----
$ECHO \""$obj"\" >> $output
done
$ECHO ')' >> $output
+ delfiles="$delfiles $output"
+ elif test "X$skipped_export" != "X:" && test "X$file_list_spec" != X;
then
+ output=${output_objdir}/${output_la}.lnk
+ func_echo "creating linker input file list: $output"
+ : > $output
+ for obj in $save_libobjs
+ do
+ $ECHO "$obj" >> $output
+ done
+ delfiles="$delfiles $output"
+ output=\"$file_list_spec$filelist\"
else
func_echo "creating reloadable object files..."
output=$output_objdir/$output_la-${k}.$objext
Index: m4/libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/m4/libtool.m4,v
retrieving revision 1.181
diff -c -p -r1.181 libtool.m4
*** m4/libtool.m4 12 Apr 2005 17:28:48 -0000 1.181
--- m4/libtool.m4 13 Apr 2005 18:36:17 -0000
*************** _LT_EOF
*** 3838,3843 ****
--- 3838,3844 ----
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
if test "$GCC" = yes; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
*************** if test "$_lt_caught_CXX_error" != yes;
*** 4808,4813 ****
--- 4809,4815 ----
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
if test "$GXX" = yes; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)