Enhance DscParser to support !if Macro format.
[mirror/efi/basetools/.git] / Source / Python / Common / DscClassObject.py
index 50b6cc5..c25580a 100755 (executable)
@@ -1,7 +1,7 @@
 ## @file\r
 # This file is used to define each component of DSC file\r
 #\r
-# Copyright (c) 2007 ~ 2008, Intel Corporation\r
+# Copyright (c) 2007 - 2010, Intel Corporation\r
 # All rights reserved. This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
 # which accompanies this distribution.  The full text of the license may be found at\r
@@ -989,10 +989,14 @@ class Dsc(DscObject):
             #\r
             elif PreviousIf[2] in (MODEL_META_DATA_CONDITIONAL_STATEMENT_IF, Model):\r
                 List = PreviousIf[0].split(' ')\r
-                Value1 = List[0]\r
-                Value2 = List[1]\r
-                Value3 = List[2]\r
-                Value3 = SplitString(Value3)\r
+                Value1, Value2, Value3 = '', '==', '0'\r
+                if len(List) == 3:\r
+                    Value1 = List[0]\r
+                    Value2 = List[1]\r
+                    Value3 = List[2]\r
+                    Value3 = SplitString(Value3)\r
+                if len(List) == 1:\r
+                    Value1 = List[0]\r
                 Model = PreviousIf[2]\r
                 self.TblDsc.Insert(Model, Value1, Value2, Value3, ArchList, BelongsToItem, self.FileID, PreviousIf[1], StartColumn, EndLine, EndColumn, Enabled)\r
             #\r