Reviewed-by: Liming Gao <[email protected]>

> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of
> Yonghong Zhu
> Sent: Thursday, November 03, 2016 6:32 PM
> To: [email protected]
> Cc: Gao, Liming <[email protected]>
> Subject: [edk2] [Patch] BaseTools: Fix the Windows GCC Build Failure with
> too long path
> 
> When path is too long, build tool will wrap them into resp.txt, then call
> gcc @resp.txt. It will cause windows GCC build failure, because resp.txt
> still uses windows directory separator \. This patch change the \ to /.
> 
> Cc: Liming Gao <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Yonghong Zhu <[email protected]>
> ---
>  BaseTools/Source/Python/AutoGen/GenMake.py | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py
> b/BaseTools/Source/Python/AutoGen/GenMake.py
> index c8c5fc5..51c5238 100644
> --- a/BaseTools/Source/Python/AutoGen/GenMake.py
> +++ b/BaseTools/Source/Python/AutoGen/GenMake.py
> @@ -766,11 +766,15 @@ cleanlib:
>                                  if (Value.find(MacroName) != -1):
>                                      Value = Value.replace(MacroName,
> self._AutoGenObject.Macros[macro])
>                                      break
>                              else:
>                                  break
> -                        RespDict[Key] = Value
> +
> +                        if self._AutoGenObject.ToolChainFamily == 'GCC':
> +                            RespDict[Key] = Value.replace('\\', '/')
> +                        else:
> +                            RespDict[Key] = Value
>                          for Target in BuildTargets:
>                              for i, SingleCommand in
> enumerate(BuildTargets[Target].Commands):
>                                  if FlagDict[Flag]['Macro'] in SingleCommand:
>                                      BuildTargets[Target].Commands[i] =
> SingleCommand.replace('$(INC)','').replace(FlagDict[Flag]['Macro'],
> RespMacro)
>          return RespDict
> --
> 2.6.1.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to