From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by mx.groups.io with SMTP id smtpd.web08.2913.1618277477636599811 for ; Mon, 12 Apr 2021 18:31:18 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: byosoft.com.cn, ip: 58.240.74.242, mailfrom: gaoliming@byosoft.com.cn) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Tue, 13 Apr 2021 09:31:08 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , Cc: "'Bob Feng'" , "'Yuwei Chen'" References: <20210409214838.1501-1-michael.d.kinney@intel.com> In-Reply-To: <20210409214838.1501-1-michael.d.kinney@intel.com> Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BhdGNoIDEvMV0gQmFzZVRvb2xzL1BsYXRmb3JtQXV0b0dlbjogTUFLRV9GTEFHUyBhbmQgTUFLRV9QQVRIIGZpeGVz?= Date: Tue, 13 Apr 2021 09:31:16 +0800 Message-ID: <00dc01d73004$b2d11bd0$18735370$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQG6DdqEQL7tkFDby6HPD6RnSowJRqrr7WNg Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn Mike: I don't see the issue in the code change. I want to know what unit test has been done for this change.=20 Thanks Liming > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: devel@edk2.groups.io =B4=FA= =B1=ED Michael D > Kinney > =B7=A2=CB=CD=CA=B1=BC=E4: 2021=C4=EA4=D4=C210=C8=D5 5:49 > =CA=D5=BC=FE=C8=CB: devel@edk2.groups.io > =B3=AD=CB=CD: Bob Feng ; Liming Gao > ; Yuwei Chen > =D6=F7=CC=E2: [edk2-devel] [Patch 1/1] BaseTools/PlatformAutoGen: MAKE_F= LAGS > and MAKE_PATH fixes >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3312 >=20 > Update parsing of MAKE_FLAGS in DSC [BuildOptions] sections > to split the flags into a list to be compatible with > running the make command using Popen(). Parsing MAKE_FLAGS > from tools_def.txt already uses _SplitOption(). This change > uses the same _SplitOption() method for MAKE_FLAGS from a > DSC [BuildOptions] section. >=20 > Also update the parsing of MAKE_PATH to support MAKE_PATH > from tools_def.txt or the DSC [BuildOptions] section. MAKE_PATH > in DSC [BuildOptions] section is higher priority than MAKE_PATH > in tools_def.txt. >=20 > Cc: Bob Feng > Cc: Liming Gao > Cc: Yuwei Chen > Signed-off-by: Michael D Kinney > --- > .../Source/Python/AutoGen/PlatformAutoGen.py | 36 +++++++++++-------- > 1 file changed, 21 insertions(+), 15 deletions(-) >=20 > diff --git a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py > b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py > index 7d8e7b3c7cc1..c16f2e4cd8b7 100644 > --- a/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py > +++ b/BaseTools/Source/Python/AutoGen/PlatformAutoGen.py > @@ -1,7 +1,7 @@ > ## @file > # Create makefile for MS nmake and GNU make > # > -# Copyright (c) 2019, Intel Corporation. All rights reserved.
> +# Copyright (c) 2019 - 2021, Intel Corporation. All rights reserved. > # Copyright (c) 2020, ARM Limited. All rights reserved.
> # SPDX-License-Identifier: BSD-2-Clause-Patent > # > @@ -805,20 +805,26 @@ class PlatformAutoGen(AutoGen): > # > @cached_property > def BuildCommand(self): > - RetVal =3D [] > - if "MAKE" in self.ToolDefinition and "PATH" in > self.ToolDefinition["MAKE"]: > - RetVal +=3D _SplitOption(self.ToolDefinition["MAKE"]["PATH"= ]) > - if "FLAGS" in self.ToolDefinition["MAKE"]: > - NewOption =3D > self.ToolDefinition["MAKE"]["FLAGS"].strip() > - if NewOption !=3D '': > - RetVal +=3D _SplitOption(NewOption) > - if "MAKE" in self.EdkIIBuildOption: > - if "FLAGS" in self.EdkIIBuildOption["MAKE"]: > - Flags =3D self.EdkIIBuildOption["MAKE"]["FLAGS"] > - if Flags.startswith('=3D'): > - RetVal =3D [RetVal[0]] + [Flags[1:]] > - else: > - RetVal.append(Flags) > + if "MAKE" in self.EdkIIBuildOption and "PATH" in > self.EdkIIBuildOption["MAKE"]: > + # MAKE_PATH in DSC [BuildOptions] section is higher priorit= y > + Path =3D self.EdkIIBuildOption["MAKE"]["PATH"] > + if Path.startswith('=3D'): > + Path =3D Path[1:].strip() > + RetVal =3D _SplitOption(Path) > + elif "MAKE" in self.ToolDefinition and "PATH" in > self.ToolDefinition["MAKE"]: > + RetVal =3D _SplitOption(self.ToolDefinition["MAKE"]["PATH"]= ) > + else: > + return [] > + if "MAKE" in self.ToolDefinition and "FLAGS" in > self.ToolDefinition["MAKE"]: > + NewOption =3D self.ToolDefinition["MAKE"]["FLAGS"].strip() > + if NewOption !=3D '': > + RetVal +=3D _SplitOption(NewOption) > + if "MAKE" in self.EdkIIBuildOption and "FLAGS" in > self.EdkIIBuildOption["MAKE"]: > + Flags =3D self.EdkIIBuildOption["MAKE"]["FLAGS"] > + if Flags.startswith('=3D'): > + RetVal =3D [RetVal[0]] + _SplitOption(Flags[1:].strip()= ) > + else: > + RetVal =3D RetVal + _SplitOption(Flags.strip()) > return RetVal >=20 > ## Get tool chain definition > -- > 2.31.1.windows.1 >=20 >=20 >=20 >=20 >=20