* [Patch 1/1] BaseTools: Fixed the issue of the CFlag for compile PcdValueInit.c
@ 2019-07-01 9:48 Bob Feng
2019-07-08 2:06 ` Liming Gao
0 siblings, 1 reply; 2+ messages in thread
From: Bob Feng @ 2019-07-01 9:48 UTC (permalink / raw)
To: devel; +Cc: Liming Gao, Bob Feng
This issue happens when using Structured PCD.
Build tool use set to store the cflags for compile PcdValueInit.c,
that is the order of cflags is disorder.
This patch make -U, /U flags appear before -D, /D
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
---
BaseTools/Source/Python/Workspace/DscBuildData.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index 9f65ad54257d..985f8775259d 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -2666,11 +2666,12 @@ class DscBuildData(PlatformBuildClassObject):
if len(ArchBuildOptions.keys()) == 1:
BuildOptions['COMMON'] |= (list(ArchBuildOptions.values())[0])
elif len(ArchBuildOptions.keys()) > 1:
CommonBuildOptions = reduce(lambda x,y: x&y, ArchBuildOptions.values())
BuildOptions['COMMON'] |= CommonBuildOptions
- ValueList = list(BuildOptions['COMMON'])
+ ValueList = [item for item in BuildOptions['COMMON'] if item.startswith((r"/U","-U"))]
+ ValueList.extend([item for item in BuildOptions['COMMON'] if item.startswith((r"/D", "-D"))])
CC_FLAGS += " ".join(ValueList)
MakeApp += CC_FLAGS
if sys.platform == "win32":
MakeApp = MakeApp + PcdMakefileEnd
--
2.20.1.windows.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch 1/1] BaseTools: Fixed the issue of the CFlag for compile PcdValueInit.c
2019-07-01 9:48 [Patch 1/1] BaseTools: Fixed the issue of the CFlag for compile PcdValueInit.c Bob Feng
@ 2019-07-08 2:06 ` Liming Gao
0 siblings, 0 replies; 2+ messages in thread
From: Liming Gao @ 2019-07-08 2:06 UTC (permalink / raw)
To: Feng, Bob C, devel@edk2.groups.io
Reviewed-by: Liming Gao <liming.gao@intel.com>
> -----Original Message-----
> From: Feng, Bob C
> Sent: Monday, July 1, 2019 5:49 PM
> To: devel@edk2.groups.io
> Cc: Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com>
> Subject: [Patch 1/1] BaseTools: Fixed the issue of the CFlag for compile PcdValueInit.c
>
> This issue happens when using Structured PCD.
> Build tool use set to store the cflags for compile PcdValueInit.c,
> that is the order of cflags is disorder.
>
> This patch make -U, /U flags appear before -D, /D
>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Bob Feng <bob.c.feng@intel.com>
> ---
> BaseTools/Source/Python/Workspace/DscBuildData.py | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
> index 9f65ad54257d..985f8775259d 100644
> --- a/BaseTools/Source/Python/Workspace/DscBuildData.py
> +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
> @@ -2666,11 +2666,12 @@ class DscBuildData(PlatformBuildClassObject):
> if len(ArchBuildOptions.keys()) == 1:
> BuildOptions['COMMON'] |= (list(ArchBuildOptions.values())[0])
> elif len(ArchBuildOptions.keys()) > 1:
> CommonBuildOptions = reduce(lambda x,y: x&y, ArchBuildOptions.values())
> BuildOptions['COMMON'] |= CommonBuildOptions
> - ValueList = list(BuildOptions['COMMON'])
> + ValueList = [item for item in BuildOptions['COMMON'] if item.startswith((r"/U","-U"))]
> + ValueList.extend([item for item in BuildOptions['COMMON'] if item.startswith((r"/D", "-D"))])
> CC_FLAGS += " ".join(ValueList)
> MakeApp += CC_FLAGS
>
> if sys.platform == "win32":
> MakeApp = MakeApp + PcdMakefileEnd
> --
> 2.20.1.windows.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-07-08 2:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-01 9:48 [Patch 1/1] BaseTools: Fixed the issue of the CFlag for compile PcdValueInit.c Bob Feng
2019-07-08 2:06 ` Liming Gao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox