]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Fixed the issue of the CFlag for compile PcdValueInit.c
authorFeng, Bob C <bob.c.feng@intel.com>
Mon, 1 Jul 2019 09:48:51 +0000 (17:48 +0800)
committerFeng, Bob C <bob.c.feng@intel.com>
Wed, 10 Jul 2019 01:26:18 +0000 (09:26 +0800)
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>
Reviewed-by: Liming Gao <liming.gao@intel.com>
BaseTools/Source/Python/Workspace/DscBuildData.py

index 9f65ad54257dacc54bd97356e30d314c0f5672b7..985f8775259d21ba08fa0266b804738c71ce74ec 100644 (file)
@@ -2668,7 +2668,8 @@ class DscBuildData(PlatformBuildClassObject):
             elif len(ArchBuildOptions.keys()) > 1:\r
                 CommonBuildOptions = reduce(lambda x,y: x&y, ArchBuildOptions.values())\r
                 BuildOptions['COMMON'] |= CommonBuildOptions\r
-            ValueList = list(BuildOptions['COMMON'])\r
+            ValueList = [item for item in BuildOptions['COMMON'] if item.startswith((r"/U","-U"))]\r
+            ValueList.extend([item for item in BuildOptions['COMMON'] if item.startswith((r"/D", "-D"))])\r
             CC_FLAGS += " ".join(ValueList)\r
         MakeApp += CC_FLAGS\r
 \r