libtool-patches
[Top][All Lists]
Advanced

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

Re: [PATCH] Fix dependency tracking for MSYS/MinGW.


From: Ralf Wildenhues
Subject: Re: [PATCH] Fix dependency tracking for MSYS/MinGW.
Date: Thu, 9 Sep 2010 19:00:06 +0200
User-agent: Mutt/1.5.20 (2010-04-22)

* 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




reply via email to

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