]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/GenC.py
BaseTools: no need to do int() API work for it
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / GenC.py
index 3e98506cc80774b57e1accf978e5b00fb161ebe9..4d9ea1b2a8b1a1aff786b67ccd477c4e86b31ee2 100644 (file)
@@ -916,11 +916,8 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
     PatchPcdSizeVariableName = '_gPcd_BinaryPatch_Size_' + TokenCName\r
     FixPcdSizeTokenName = '_PCD_SIZE_' + TokenCName\r
 \r
-    if GlobalData.BuildOptionPcd:\r
-        for PcdItem in GlobalData.BuildOptionPcd:\r
-            if (Pcd.TokenSpaceGuidCName, TokenCName) == (PcdItem[0], PcdItem[1]):\r
-                Pcd.DefaultValue = PcdItem[2]\r
-                break\r
+    if Pcd.PcdValueFromComm:\r
+        Pcd.DefaultValue = Pcd.PcdValueFromComm\r
     \r
     if Pcd.Type in gDynamicExPcd:\r
         TokenNumber = int(Pcd.TokenValue, 0)\r
@@ -1035,10 +1032,7 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
             try:\r
                 if Value.upper().endswith('L'):\r
                     Value = Value[:-1]\r
-                if Value.upper().startswith('0X'):\r
-                    ValueNumber = int (Value, 16)\r
-                else:\r
-                    ValueNumber = int (Value)\r
+                ValueNumber = int (Value, 0)\r
             except:\r
                 EdkLogger.error("build", AUTOGEN_ERROR,\r
                                 "PCD value is not valid dec or hex number for datum type [%s] of PCD %s.%s" % (Pcd.DatumType, Pcd.TokenSpaceGuidCName, TokenCName),\r
@@ -1088,7 +1082,7 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
                 if not Value.endswith('U'):\r
                     Value += 'U'\r
         if Pcd.DatumType not in ['UINT8', 'UINT16', 'UINT32', 'UINT64', 'BOOLEAN']:\r
-            if Pcd.MaxDatumSize == None or Pcd.MaxDatumSize == '':\r
+            if Pcd.MaxDatumSize is None or Pcd.MaxDatumSize == '':\r
                 EdkLogger.error("build", AUTOGEN_ERROR,\r
                                 "Unknown [MaxDatumSize] of PCD [%s.%s]" % (Pcd.TokenSpaceGuidCName, TokenCName),\r
                                 ExtraData="[%s]" % str(Info))\r
@@ -1125,7 +1119,7 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
 \r
         if Pcd.DatumType not in ['UINT8', 'UINT16', 'UINT32', 'UINT64', 'BOOLEAN', 'VOID*']:\r
             # handle structure PCD\r
-            if Pcd.MaxDatumSize == None or Pcd.MaxDatumSize == '':\r
+            if Pcd.MaxDatumSize is None or Pcd.MaxDatumSize == '':\r
                 EdkLogger.error("build", AUTOGEN_ERROR,\r
                                 "Unknown [MaxDatumSize] of PCD [%s.%s]" % (Pcd.TokenSpaceGuidCName, TokenCName),\r
                                 ExtraData="[%s]" % str(Info))\r
@@ -1215,12 +1209,8 @@ def CreateLibraryPcdCode(Info, AutoGenC, AutoGenH, Pcd):
     PatchPcdSizeTokenName = '_PCD_PATCHABLE_' + TokenCName +'_SIZE'\r
     PatchPcdSizeVariableName = '_gPcd_BinaryPatch_Size_' + TokenCName\r
 \r
-    if GlobalData.BuildOptionPcd:\r
-        for PcdItem in GlobalData.BuildOptionPcd:\r
-            if (Pcd.TokenSpaceGuidCName, TokenCName) == (PcdItem[0], PcdItem[1]):\r
-                Pcd.DefaultValue = PcdItem[2]\r
-                break\r
-\r
+    if Pcd.PcdValueFromComm:\r
+        Pcd.DefaultValue = Pcd.PcdValueFromComm\r
     #\r
     # Write PCDs\r
     #\r