GenFds Use R8 component type when finding rule in FDF.
authorjlin16 <jlin16@7335b38e-4728-0410-8992-fb3ffe349368>
Wed, 23 Jan 2008 08:33:29 +0000 (08:33 +0000)
committerjlin16 <jlin16@7335b38e-4728-0410-8992-fb3ffe349368>
Wed, 23 Jan 2008 08:33:29 +0000 (08:33 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@972 7335b38e-4728-0410-8992-fb3ffe349368

Source/Python/GenFds/FfsInfStatement.py
Source/Python/GenFds/GenFds.py
Source/Python/GenFds/GenFdsGlobalVariable.py

index 0888a10..48abc79 100644 (file)
@@ -67,6 +67,8 @@ class FfsInfStatement(FfsInfStatementClassObject):
             self.BaseName = Inf.BaseName\r
             self.ModuleGuid = Inf.Guid\r
             self.ModuleType = Inf.ModuleType\r
+            if Inf.AutoGenVersion < 0x00010005:\r
+                self.ModuleType = GenFdsGlobalVariable.WorkSpace.InfDatabase[self.InfFileName].Module.Header[self.CurrentArch].ComponentType\r
             self.VersionString = Inf.Version\r
             self.BinFileList = Inf.Binaries\r
             if self.KeepReloc == None and Inf.Shadow != '':\r
@@ -205,22 +207,21 @@ class FfsInfStatement(FfsInfStatementClassObject):
                    'COMMON'    + \\r
                    '.'         + \\r
                    self.ModuleType.upper()\r
+        \r
         if self.Rule != None:\r
             RuleName = RuleName + \\r
                        '.'      + \\r
                        self.Rule.upper()\r
                        \r
+        GenFdsGlobalVariable.VerboseLogger ('Trying to apply common rule %s for INF %s' % (RuleName, self.InfFileName))               \r
+        \r
         Rule = GenFdsGlobalVariable.FdfParser.Profile.RuleDict.get(RuleName)\r
         if Rule != None:\r
             GenFdsGlobalVariable.VerboseLogger ("Want To Find Rule Name is : " + RuleName)\r
             return Rule\r
 \r
         if Rule == None :\r
-            GenFdsGlobalVariable.VerboseLogger ('Dont Find Related Rule, Using Default Rule !!!')\r
-            if GenFdsGlobalVariable.DefaultRule == None:\r
-                raise Exception ("Default Rule doesn't exist!!")\r
-            else:\r
-                return GenFdsGlobalVariable.DefaultRule\r
+            raise Exception ('Don\'t Find common rule %s for INF %s' % (RuleName, self.InfFileName))\r
 \r
     ## __GetPlatformArchList__() method\r
     #\r
index 3a835ec..bb93213 100644 (file)
@@ -261,34 +261,6 @@ class GenFds :
     #\r
     def GenFd (OutputDir, FdfParser, WorkSpace, ArchList):\r
         GenFdsGlobalVariable.SetDir (OutputDir, FdfParser, WorkSpace, ArchList)\r
-        \r
-        #Set Default Rule\r
-        VerSection1 = EfiSection()\r
-        VerSection1.BuildNum = "$(BUILD_NUMBER)"\r
-        VerSection1.SectionType = "VERSION"\r
-        VerSection1.Filename = "$(INF_VERSION)"\r
-        VerSection1.VersionNum = "$(INF_VERSION)"\r
-        \r
-        UiSection1 = EfiSection()\r
-        UiSection1.SectionType = 'UI'\r
-        UiSection1.Filename = "$(INF_VERSION)"\r
-        UiSection1.VersionNum = "$(INF_VERSION)"\r
-\r
-        DataSection = EfiSection()\r
-        DataSection.SectionType = "PE32"\r
-        DataSection.Filename = "$(INF_OUTPUT)/$(MODULE_NAME).efi"\r
-\r
-        RuleComplexFile1 = RuleComplexFile.RuleComplexFile()\r
-        RuleComplexFile1.Alignment = 32\r
-        RuleComplexFile1.Arch = 'COMMON'\r
-        RuleComplexFile1.CheckSum = True\r
-        RuleComplexFile1.Fixed = True\r
-        RuleComplexFile1.FvFileType = "APPLICATION"\r
-        RuleComplexFile1.ModuleType = "UEFI_APPLICATION"\r
-        RuleComplexFile1.NameGuid = "$(MODULE_NAME)"\r
-        RuleComplexFile1.TemplateName = ''\r
-        RuleComplexFile1.SectionList = [UiSection1, VerSection1, DataSection]\r
-        GenFdsGlobalVariable.SetDefaultRule(RuleComplexFile1)\r
 \r
         GenFdsGlobalVariable.VerboseLogger("   Gen Fd  !")\r
         if GenFds.OnlyGenerateThisFd != None and GenFds.OnlyGenerateThisFd.upper() in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys():\r
index e0703cf..14d06cf 100644 (file)
@@ -39,7 +39,6 @@ class GenFdsGlobalVariable:
     TargetName = ''\r
     ToolChainTag = ''\r
     RuleDict = {}\r
-    DefaultRule = None\r
     ArchList = None\r
     VtfDict = {}\r
     ActivePlatform = None\r
@@ -102,14 +101,6 @@ class GenFdsGlobalVariable:
         \r
         FvAddressFile.close()\r
 \r
-    \r
-    ## SetDefaultRule()\r
-    #\r
-    #   @param  Rule           Rule object to generate FFS\r
-    #    \r
-    def SetDefaultRule (Rule) :\r
-        GenFdsGlobalVariable.DefaultRule = Rule\r
-\r
     ## ReplaceWorkspaceMacro()\r
     #\r
     #   @param  String           String that may contain macro\r
@@ -124,14 +115,14 @@ class GenFdsGlobalVariable:
         return os.path.normpath(Str)\r
     \r
     def CallExternalTool (cmd, errorMess):\r
-\r
+        \r
         if type(cmd) not in (tuple, list):\r
             GenFdsGlobalVariable.ErrorLogger("ToolError!  Invalid parameter type in call to CallExternalTool")\r
 \r
         if GenFdsGlobalVariable.DebugLevel != -1:\r
             cmd += ('-d', str(GenFdsGlobalVariable.DebugLevel))\r
             GenFdsGlobalVariable.InfLogger (cmd)\r
-        \r
+            \r
         if GenFdsGlobalVariable.VerboseMode:\r
             cmd += ('-v',)\r
             GenFdsGlobalVariable.InfLogger (cmd)\r
@@ -200,7 +191,6 @@ class GenFdsGlobalVariable:
 \r
 \r
     SetDir = staticmethod(SetDir)\r
-    SetDefaultRule = staticmethod(SetDefaultRule)\r
     ReplaceWorkspaceMacro = staticmethod(ReplaceWorkspaceMacro)\r
     CallExternalTool = staticmethod(CallExternalTool)\r
     VerboseLogger = staticmethod(VerboseLogger)\r