|
From: <qh...@us...> - 2010-08-25 05:08:53
|
Revision: 2025
http://edk2-buildtools.svn.sourceforge.net/edk2-buildtools/?rev=2025&view=rev
Author: qhuang8
Date: 2010-08-25 05:08:47 +0000 (Wed, 25 Aug 2010)
Log Message:
-----------
Store the global definition to the table so that they can be passed to FDF file even if the DSC file itself is not changed.
Modified Paths:
--------------
trunk/BaseTools/Source/Python/CommonDataClass/DataClass.py
trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py
trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
Modified: trunk/BaseTools/Source/Python/CommonDataClass/DataClass.py
===================================================================
--- trunk/BaseTools/Source/Python/CommonDataClass/DataClass.py 2010-08-23 03:47:45 UTC (rev 2024)
+++ trunk/BaseTools/Source/Python/CommonDataClass/DataClass.py 2010-08-25 05:08:47 UTC (rev 2025)
@@ -93,6 +93,7 @@
MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF = 5014
MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH = 5015
MODEL_META_DATA_COMMENT = 5016
+MODEL_META_DATA_GLOBAL_DEFINE = 5017
MODEL_EXTERNAL_DEPENDENCY = 10000
Modified: trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py
===================================================================
--- trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py 2010-08-23 03:47:45 UTC (rev 2024)
+++ trunk/BaseTools/Source/Python/Workspace/MetaFileParser.py 2010-08-25 05:08:47 UTC (rev 2025)
@@ -19,7 +19,6 @@
import copy
import Common.EdkLogger as EdkLogger
-import Common.GlobalData as GlobalData
from CommonDataClass.DataClass import *
from Common.DataType import *
from Common.String import *
@@ -660,7 +659,21 @@
# Make the defined macro in DSC [Defines] section also
# available for FDF file.
if self._SectionName == TAB_COMMON_DEFINES.upper():
- GlobalData.gGlobalDefines.setdefault(Name, Value)
+ self._LastItem = self._Store(
+ MODEL_META_DATA_GLOBAL_DEFINE,
+ Name,
+ Value,
+ '',
+ 'COMMON',
+ 'COMMON',
+ self._Owner,
+ self._From,
+ self._LineIndex+1,
+ -1,
+ self._LineIndex+1,
+ -1,
+ self._Enabled
+ )
continue
elif Line.upper().startswith('EDK_GLOBAL '):
(Name, Value) = self._MacroParser()
@@ -728,7 +741,21 @@
TokenList[1] = NormPath(TokenList[1], self._Macros)
self._ValueList[0:len(TokenList)] = TokenList
# Treat elements in the [defines] section as global macros for FDF file.
- GlobalData.gGlobalDefines.setdefault(TokenList[0], TokenList[1])
+ self._LastItem = self._Store(
+ MODEL_META_DATA_GLOBAL_DEFINE,
+ TokenList[0],
+ TokenList[1],
+ '',
+ 'COMMON',
+ 'COMMON',
+ self._Owner,
+ self._From,
+ self._LineIndex+1,
+ -1,
+ self._LineIndex+1,
+ -1,
+ self._Enabled
+ )
## <subsection_header> parser
def _SubsectionHeaderParser(self):
Modified: trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py
===================================================================
--- trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py 2010-08-23 03:47:45 UTC (rev 2024)
+++ trunk/BaseTools/Source/Python/Workspace/WorkspaceDatabase.py 2010-08-25 05:08:47 UTC (rev 2025)
@@ -100,6 +100,10 @@
RecordList = self._RawData[MODEL_META_DATA_DEFINE, self._Arch]
for Record in RecordList:
GlobalData.gEdkGlobal[Record[0]] = Record[1]
+
+ RecordList = self._RawData[MODEL_META_DATA_GLOBAL_DEFINE, self._Arch]
+ for Record in RecordList:
+ GlobalData.gGlobalDefines[Record[0]] = Record[1]
## XXX[key] = value
def __setitem__(self, key, value):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|