1. Add support of a new filed "Shadow" in INF
authorhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Fri, 26 Oct 2007 09:31:48 +0000 (09:31 +0000)
committerhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Fri, 26 Oct 2007 09:31:48 +0000 (09:31 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@855 7335b38e-4728-0410-8992-fb3ffe349368

Source/Python/Common/DataType.py
Source/Python/Common/EdkIIWorkspaceBuild.py
Source/Python/Common/InfClassObject.py
Source/Python/CommonDataClass/ModuleClass.py

index c1696d8..237a2ce 100644 (file)
@@ -265,6 +265,7 @@ TAB_INF_DEFINES_DEFINE = 'DEFINE'
 TAB_INF_DEFINES_SPEC = 'SPEC'\r
 TAB_INF_DEFINES_CUSTOM_MAKEFILE = 'CUSTOM_MAKEFILE'\r
 TAB_INF_DEFINES_MACRO_NAME = 'MacroName'\r
+TAB_INF_DEFINES_SHADOW = 'SHADOW'\r
 TAB_INF_FIXED_PCD = 'FixedPcd'\r
 TAB_INF_FEATURE_PCD = 'FeaturePcd'\r
 TAB_INF_PATCH_PCD = 'PatchPcd'\r
index 0c4e337..9041c0a 100755 (executable)
@@ -138,6 +138,7 @@ class LibraryClassObject(object):
 # @var BinaryModule:           To store value for BinaryModule\r
 # @var CustomMakefile:         To store value for CustomMakefile\r
 # @var Specification:          To store value for Specification\r
+# @var Shadow                  To store value for Shadow\r
 # @var LibraryClass:           To store value for LibraryClass, it is a list structure as\r
 #                              [ LibraryClassObject, ...]\r
 # @var ModuleEntryPointList:   To store value for ModuleEntryPointList\r
@@ -175,6 +176,7 @@ class ModuleBuildClassObject(object):
         self.Version                 = ''\r
         self.PcdIsDriver             = ''\r
         self.BinaryModule            = ''\r
+        self.Shadow                  = ''\r
         self.CustomMakefile          = {}\r
         self.Specification           = {}\r
         self.LibraryClass            = []\r
@@ -678,6 +680,7 @@ class WorkspaceBuild(object):
                 Pb.PcdIsDriver = Module.Header.PcdIsDriver\r
                 Pb.BinaryModule = Module.Header.BinaryModule\r
                 Pb.CustomMakefile = Module.Header.CustomMakefile\r
+                Pb.Shadow = Module.Header.Shadow\r
 \r
                 #\r
                 # Specs os Defines\r
@@ -1471,6 +1474,7 @@ class WorkspaceBuild(object):
                 print 'Version = ', P.Version\r
                 print 'CustomMakefile = ', P.CustomMakefile\r
                 print 'Specification = ', P.Specification\r
+                print 'Shadow = ', P.Shadow\r
                 print 'PcdIsDriver = ', P.PcdIsDriver\r
                 for Lib in P.LibraryClass:\r
                     print 'LibraryClassDefinition = ', Lib.LibraryClass, 'SupModList = ', Lib.SupModList\r
index f63c297..e0eb371 100755 (executable)
@@ -77,7 +77,8 @@ class InfDefines(InfObject):
             TAB_INF_DEFINES_DESTRUCTOR                              : [''],\r
             TAB_INF_DEFINES_DEFINE                                  : [''],\r
             TAB_INF_DEFINES_SPEC                                    : [''],\r
-            TAB_INF_DEFINES_CUSTOM_MAKEFILE                         : ['']\r
+            TAB_INF_DEFINES_CUSTOM_MAKEFILE                         : [''],\r
+            TAB_INF_DEFINES_SHADOW                                  : ['']\r
         }\r
 \r
 ## InfContents\r
@@ -250,6 +251,7 @@ class Inf(InfObject):
         self.Module.Header.SourceFv = self.Defines.DefinesDictionary[TAB_INF_DEFINES_SOURCE_FV][0]\r
         self.Module.Header.PcdIsDriver = self.Defines.DefinesDictionary[TAB_INF_DEFINES_PCD_IS_DRIVER][0]\r
         self.Module.Header.TianoR8FlashMap_h = self.Defines.DefinesDictionary[TAB_INF_DEFINES_TIANO_R8_FLASHMAP_H][0]\r
+        self.Module.Header.Shadow = self.Defines.DefinesDictionary[TAB_INF_DEFINES_SHADOW][0]\r
         \r
         #\r
         # LibraryClass of Defines\r
@@ -740,6 +742,7 @@ class Inf(InfObject):
         print 'SourceFv =', M.Header.SourceFv\r
         print 'PcdIsDriver =', M.Header.PcdIsDriver\r
         print 'TianoR8FlashMap_h =', M.Header.TianoR8FlashMap_h\r
+        print 'Shadow =', M.Header.Shadow\r
         print 'LibraryClass =', M.Header.LibraryClass\r
         for Item in M.Header.LibraryClass:\r
             print Item.LibraryClass, DataType.TAB_VALUE_SPLIT.join(Item.SupModuleList)\r
index dad22d3..5f66bcb 100755 (executable)
@@ -48,6 +48,7 @@ from CommonClass import *
 # @var SourceFv:                 To store value for SourceFv\r
 # @var CustomMakefile:           To store value for CustomMakefile, it is a set structure as\r
 #                                { Family : Filename, ... }\r
+# @var Shadow:                   To store value for Shadow\r
 #\r
 class ModuleHeaderClass(IdentificationClass, CommonHeaderClass, DefineClass):\r
     def __init__(self):\r
@@ -73,6 +74,7 @@ class ModuleHeaderClass(IdentificationClass, CommonHeaderClass, DefineClass):
         self.FvExt = ''\r
         self.SourceFv = ''\r
         self.CustomMakefile = {}\r
+        self.Shadow = ''\r
 \r
 ## ModuleSourceFileClass\r
 #\r