* Peter Rosin wrote on Thu, Sep 09, 2010 at 10:59:30AM CEST: > As discussed in that other thread, namely > http://lists.gnu.org/archive/html/libtool-patches/2010-09/msg00105.html > I accidentally broke MSYS/MinGW. Here's an improved version of the patch > shown in that message to fix the build issue. Sorry again. > > Ok to push?
With nit addressed below. Thanks! Ralf > Subject: [PATCH] Fix dependency tracking for MSYS/MinGW. > > * libltdl/config/ltmain.m4sh (func_to_tool_file_cmd): Add lazy > argument which allows the user to specify conversions that are > not desired. > (func_mode_compile): Don't convert source files on MSYS, as > MSYS does it for us. This fixes a regression introduced by > "Use func_to_tool_file instead of fix_srcfile_path". > Reported by Charles Wilson. > --- a/libltdl/config/ltmain.m4sh > +++ b/libltdl/config/ltmain.m4sh > @@ -873,14 +873,24 @@ func_to_host_file () > # end func_to_host_file > > > -# func_to_tool_file ARG > +# func_to_tool_file ARG LAZY > # converts the file name ARG from $build format to toolchain format. Return > -# result in func_to_tool_file_result. > +# result in func_to_tool_file_result. If the conversion in use is listed > +# in (the comma separated) LAZY (with the func_convert_file_ prefix > +# dropped), no conversion will take place. > func_to_tool_file () > { > $opt_debug > - $to_tool_file_cmd "$1" > - func_to_tool_file_result=$func_to_host_file_result > + func_stripname 'func_convert_file_' '' "$to_tool_file_cmd" func_stripname is fast with modern shells, but may fork with others. Let's not introduce a number of forks here, just because you would like to match against a shorter string of your own choosing. Either cache the result of stripping $to_tool_file_cmd (or define it from libtool.m4 already), so this is done once only or just right away match against the whole function name. > + case ,$2, in > + *,"$func_stripname_result",*) > + func_to_tool_file_result=$1 > + ;; > + *) > + $to_tool_file_cmd "$1" > + func_to_tool_file_result=$func_to_host_file_result > + ;; > + esac > } > # end func_to_tool_file > > @@ -1376,7 +1386,7 @@ compiler." > func_append removelist " $lockfile" > trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 > > - func_to_tool_file "$srcfile" > + func_to_tool_file "$srcfile" msys_to_w32 > srcfile=$func_to_tool_file_result > func_quote_for_eval "$srcfile" > qsrcfile=$func_quote_for_eval_result