libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patch] list of input files if max_cmd_len exceeded


From: David Edelsohn
Subject: Re: [patch] list of input files if max_cmd_len exceeded
Date: Wed, 13 Apr 2005 20:20:13 -0400

>>>>> Peter O'Gorman writes:

Peter> Look for $with_gnu_ld in ltmain.m4sh.

        Okay, sorry that I missed that.  I can move my change to that
block, but the GNU ld linker script syntax is just different enough that I
cannot reuse the file.  GNU ld wants a file containing 

INPUT (
"filename1"
"filename2"
)

without requiring a commandline option while AIX, at least, wants a file
that simply contains filenames (no quotes) and the file is specified with
a commandline option.

        Also, libtool currently does not delete the temporary linker
script, which it probably should.

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 00:12:38 -0000
*************** EOF
*** 5129,5134 ****
--- 5129,5144 ----
              $ECHO \""$obj"\" >> $output
            done
            $ECHO ')' >> $output
+           delfiles="$delfiles $output"
+         elif test "X$file_list_spec" != X; then
+           output=${output_objdir}/${output_la}.lnk
+           func_echo "creating linker input file list: $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]].*)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]