libmicrohttpd2

HTTP server C library (MHD 2.x, alpha)
Log | Files | Refs | README | LICENSE

0012-Prefer-response-files-over-linker-scripts-for-mingw-.patch (3895B)


      1 From ec15841963ca3aab3bc88fb0932c014337284bfc Mon Sep 17 00:00:00 2001
      2 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
      3 Date: Wed, 10 Oct 2018 10:47:21 +0300
      4 Subject: [PATCH 2/2] Prefer response files over linker scripts for mingw tools
      5 
      6 The GCC/binutils tools support response files just fine, while
      7 lld (impersonating GNU ld) only supports response files, not
      8 linker scripts. Using a linker script as input just to pass a
      9 list of files is overkill for cases when a response file is enough.
     10 ---
     11  build-aux/ltmain.in | 28 ++++++++++++++--------------
     12  m4/libtool.m4       |  2 ++
     13  2 files changed, 16 insertions(+), 14 deletions(-)
     14 
     15 diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
     16 index e2fb263..db5d590 100644
     17 --- a/build-aux/ltmain.in
     18 +++ b/build-aux/ltmain.in
     19 @@ -7932,20 +7932,7 @@ EOF
     20  	  last_robj=
     21  	  k=1
     22  
     23 -	  if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
     24 -	    output=$output_objdir/$output_la.lnkscript
     25 -	    func_verbose "creating GNU ld script: $output"
     26 -	    echo 'INPUT (' > $output
     27 -	    for obj in $save_libobjs
     28 -	    do
     29 -	      func_to_tool_file "$obj"
     30 -	      $ECHO "$func_to_tool_file_result" >> $output
     31 -	    done
     32 -	    echo ')' >> $output
     33 -	    func_append delfiles " $output"
     34 -	    func_to_tool_file "$output"
     35 -	    output=$func_to_tool_file_result
     36 -	  elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
     37 +	  if test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
     38  	    output=$output_objdir/$output_la.lnk
     39  	    func_verbose "creating linker input file list: $output"
     40  	    : > $output
     41 @@ -7964,6 +7951,19 @@ EOF
     42  	    func_append delfiles " $output"
     43  	    func_to_tool_file "$output"
     44  	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
     45 +	  elif test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
     46 +	    output=$output_objdir/$output_la.lnkscript
     47 +	    func_verbose "creating GNU ld script: $output"
     48 +	    echo 'INPUT (' > $output
     49 +	    for obj in $save_libobjs
     50 +	    do
     51 +	      func_to_tool_file "$obj"
     52 +	      $ECHO "$func_to_tool_file_result" >> $output
     53 +	    done
     54 +	    echo ')' >> $output
     55 +	    func_append delfiles " $output"
     56 +	    func_to_tool_file "$output"
     57 +	    output=$func_to_tool_file_result
     58  	  else
     59  	    if test -n "$save_libobjs"; then
     60  	      func_verbose "creating reloadable object files..."
     61 diff --git a/m4/libtool.m4 b/m4/libtool.m4
     62 index d9322d0..9046a84 100644
     63 --- a/m4/libtool.m4
     64 +++ b/m4/libtool.m4
     65 @@ -5130,6 +5130,7 @@ _LT_EOF
     66        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
     67        _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
     68        _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
     69 +      _LT_TAGVAR(file_list_spec, $1)='@'
     70  
     71        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
     72          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     73 @@ -6706,6 +6707,7 @@ if test yes != "$_lt_caught_CXX_error"; then
     74  	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
     75  	  _LT_TAGVAR(always_export_symbols, $1)=no
     76  	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
     77 +	  _LT_TAGVAR(file_list_spec, $1)='@'
     78  
     79  	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
     80  	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
     81 -- 
     82 2.7.4
     83