\r
def ParseCCFlags(self, ccflag):\r
ccflags = set()\r
- flag = ""\r
- for ch in ccflag:\r
- if ch in (r"/", "-"):\r
- if flag.strip():\r
- ccflags.add(flag.strip())\r
- flag = ch\r
- else:\r
- flag += ch\r
- if flag.strip():\r
- ccflags.add(flag.strip())\r
+ ccflaglist = ccflag.split(" ")\r
+ i = 0\r
+ while i < len(ccflaglist):\r
+ item = ccflaglist[i].strip()\r
+ if item in (r"/D", r"/U","-D","-U"):\r
+ ccflags.add(" ".join((ccflaglist[i],ccflaglist[i+1])))\r
+ i = i+1\r
+ elif item.startswith((r"/D", r"/U","-D","-U")):\r
+ ccflags.add(item)\r
+ i +=1\r
return ccflags\r
def GenerateByteArrayValue (self, StructuredPcds):\r
#\r
if 'COMMON' not in BuildOptions:\r
BuildOptions['COMMON'] = set()\r
if Arch == TAB_STAR:\r
- BuildOptions['COMMON'].add(self.BuildOptions[Options])\r
+ BuildOptions['COMMON']|= self.ParseCCFlags(self.BuildOptions[Options])\r
if Arch in self.SupArchList:\r
if Arch not in BuildOptions:\r
BuildOptions[Arch] = set()\r
CommonBuildOptions = reduce(lambda x,y: x&y, ArchBuildOptions.values())\r
BuildOptions['COMMON'] |= CommonBuildOptions\r
ValueList = list(BuildOptions['COMMON'])\r
- CC_FLAGS += " ".join([item for item in ValueList if item.startswith(('-D', '/D', '-U', '/U'))])\r
+ CC_FLAGS += " ".join(ValueList)\r
MakeApp += CC_FLAGS\r
\r
if sys.platform == "win32":\r