+ local_pkg = os.path.split(Module.LocalPkg())[0]\r
+ if self._ModuleTypeOptions is None:\r
+ self._ModuleTypeOptions = OrderedDict()\r
+ if ModuleType not in self._ModuleTypeOptions:\r
+ options = OrderedDict()\r
+ self._ModuleTypeOptions[ ModuleType] = options\r
+ RecordList = self._RawData[MODEL_META_DATA_BUILD_OPTION, self._Arch]\r
+ for ToolChainFamily, ToolChain, Option, Dummy1, Dummy2, Dummy3, Dummy4, Dummy5 in RecordList:\r
+ if Dummy2 not in (TAB_COMMON,local_pkg.upper(),"EDKII"):\r
+ continue\r
+ Type = Dummy3\r
+ if Type.upper() == ModuleType.upper():\r
+ Key = (ToolChainFamily, ToolChain)\r
+ if Key not in options or not ToolChain.endswith('_FLAGS') or Option.startswith('='):\r
+ options[Key] = Option\r
+ else:\r
+ if ' ' + Option not in options[Key]:\r
+ options[Key] += ' ' + Option\r
+ return self._ModuleTypeOptions[ModuleType]\r