Den 2010-09-09 19:00 skrev Ralf Wildenhues: > * Peter Rosin wrote on Thu, Sep 09, 2010 at 10:59:30AM CEST: >> + 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.
Right, that code path is in the "hot path". I neglected that. Good point. Pushed as below. Thanks! Cheers, Peter >From 18a85621b92fbeac985484679a2160c7bb2433c6 Mon Sep 17 00:00:00 2001 From: Peter Rosin <p...@lysator.liu.se> Date: Thu, 9 Sep 2010 20:51:27 +0200 Subject: [PATCH] Fix dependency tracking for MSYS/MinGW. * libltdl/config/ltmain.m4sh (func_to_tool_file): 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. Signed-off-by: Peter Rosin <p...@lysator.liu.se> --- ChangeLog | 11 +++++++++++ libltdl/config/ltmain.m4sh | 18 +++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8e17222..5d4876b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-09-09 Peter Rosin <p...@lysator.liu.se> + + Fix dependency tracking for MSYS/MinGW. + * libltdl/config/ltmain.m4sh (func_to_tool_file): 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. + 2010-09-08 Peter Rosin <p...@lysator.liu.se> Mention adjustment of naming of MSVC import libraries in NEWS. diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index 1a7bd96..b2d0f88 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -873,14 +873,22 @@ 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, no conversion takes place. func_to_tool_file () { $opt_debug - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result + case ,$2, in + *,"$to_tool_file_cmd",*) + 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 +1384,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" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result -- 1.7.1