from optparse import OptionParser\r
from Configuration import Configuration\r
from Check import Check\r
-from Common.InfClassObject import Inf\r
-from Common.DecClassObject import Dec\r
-from Common.DscClassObject import Dsc\r
-from Common.FdfClassObject import Fdf\r
+\r
+\r
from Common.String import NormPath\r
from Common.BuildVersion import gBUILD_VERSION\r
from Common import BuildToolError\r
+\r
+from MetaFileWorkspace.MetaFileParser import DscParser\r
+from MetaFileWorkspace.MetaFileParser import DecParser\r
+from MetaFileWorkspace.MetaFileParser import InfParser\r
+from MetaFileWorkspace.MetaFileParser import Fdf\r
+from MetaFileWorkspace.MetaFileTable import MetaFileStorage\r
import c\r
import re, string\r
from Exception import *\r
self.IsInit = True\r
self.ScanSourceCode = True\r
self.ScanMetaData = True\r
+ self.MetaFile = ''\r
\r
# Parse the options and args\r
self.ParseOption()\r
for Root, Dirs, Files in os.walk(EccGlobalData.gTarget):\r
if p.match(Root.upper()):\r
continue\r
-\r
for Dir in Dirs:\r
Dirname = os.path.join(Root, Dir)\r
if os.path.islink(Dirname):\r
Filename = os.path.normpath(os.path.join(Root, File))\r
EdkLogger.quiet("Parsing %s" % Filename)\r
Op.write("%s\r" % Filename)\r
- Dec(Filename, True, True, EccGlobalData.gWorkspace, EccGlobalData.gDb)\r
+ #Dec(Filename, True, True, EccGlobalData.gWorkspace, EccGlobalData.gDb)\r
+ self.MetaFile = DecParser(Filename, MODEL_FILE_DEC, EccGlobalData.gDb.TblDec)\r
+ self.MetaFile.Start()\r
continue\r
if len(File) > 4 and File[-4:].upper() == ".DSC":\r
Filename = os.path.normpath(os.path.join(Root, File))\r
EdkLogger.quiet("Parsing %s" % Filename)\r
Op.write("%s\r" % Filename)\r
- Dsc(Filename, True, True, EccGlobalData.gWorkspace, EccGlobalData.gDb)\r
+ #Dsc(Filename, True, True, EccGlobalData.gWorkspace, EccGlobalData.gDb)\r
+ self.MetaFile = DscParser(Filename, MODEL_FILE_DSC, MetaFileStorage(EccGlobalData.gDb.TblDsc.Cur, Filename, MODEL_FILE_DSC, True))\r
+ # alwasy do post-process, in case of macros change\r
+ self.MetaFile.DoPostProcess()\r
+ self.MetaFile.Start()\r
+ self.MetaFile._PostProcess()\r
continue\r
if len(File) > 4 and File[-4:].upper() == ".INF":\r
Filename = os.path.normpath(os.path.join(Root, File))\r
EdkLogger.quiet("Parsing %s" % Filename)\r
Op.write("%s\r" % Filename)\r
- Inf(Filename, True, True, EccGlobalData.gWorkspace, EccGlobalData.gDb)\r
+ #Inf(Filename, True, True, EccGlobalData.gWorkspace, EccGlobalData.gDb)\r
+ self.MetaFile = InfParser(Filename, MODEL_FILE_INF, EccGlobalData.gDb.TblInf)\r
+ self.MetaFile.Start()\r
continue\r
if len(File) > 4 and File[-4:].upper() == ".FDF":\r
Filename = os.path.normpath(os.path.join(Root, File))\r