]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Trim/Trim.py
BaseTools: Remove EDKI related logic from Trim tool
[mirror_edk2.git] / BaseTools / Source / Python / Trim / Trim.py
index 825ed3e5d507a3ffdc598e0a1aa57a4957f86a4e..228779b5a9a16f22cbad12e4c8770f0dc6569d29 100644 (file)
@@ -61,70 +61,6 @@ gAslIncludePattern = re.compile("^(\s*)[iI]nclude\s*\(\"?([^\"\(\)]+)\"\)", re.M
 ## Regular expression for matching C style #include "XXX.asl" in asl file\r
 gAslCIncludePattern = re.compile(r'^(\s*)#include\s*[<"]\s*([-\\/\w.]+)\s*([>"])', re.MULTILINE)\r
 ## Patterns used to convert EDK conventions to EDK2 ECP conventions\r
-gImportCodePatterns = [\r
-    [\r
-        re.compile('^(\s*)\(\*\*PeiServices\)\.PciCfg\s*=\s*([^;\s]+);', re.MULTILINE),\r
-        '''\\1{\r
-\\1  STATIC EFI_PEI_PPI_DESCRIPTOR gEcpPeiPciCfgPpiList = {\r
-\\1    (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
-\\1    &gEcpPeiPciCfgPpiGuid,\r
-\\1    \\2\r
-\\1  };\r
-\\1  (**PeiServices).InstallPpi (PeiServices, &gEcpPeiPciCfgPpiList);\r
-\\1}'''\r
-    ],\r
-\r
-    [\r
-        re.compile('^(\s*)\(\*PeiServices\)->PciCfg\s*=\s*([^;\s]+);', re.MULTILINE),\r
-        '''\\1{\r
-\\1  STATIC EFI_PEI_PPI_DESCRIPTOR gEcpPeiPciCfgPpiList = {\r
-\\1    (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
-\\1    &gEcpPeiPciCfgPpiGuid,\r
-\\1    \\2\r
-\\1  };\r
-\\1  (**PeiServices).InstallPpi (PeiServices, &gEcpPeiPciCfgPpiList);\r
-\\1}'''\r
-    ],\r
-\r
-    [\r
-        re.compile("(\s*).+->Modify[\s\n]*\(", re.MULTILINE),\r
-        '\\1PeiLibPciCfgModify ('\r
-    ],\r
-\r
-    [\r
-        re.compile("(\W*)gRT->ReportStatusCode[\s\n]*\(", re.MULTILINE),\r
-        '\\1EfiLibReportStatusCode ('\r
-    ],\r
-\r
-    [\r
-        re.compile('#include\s+EFI_GUID_DEFINITION\s*\(FirmwareFileSystem\)', re.MULTILINE),\r
-        '#include EFI_GUID_DEFINITION (FirmwareFileSystem)\n#include EFI_GUID_DEFINITION (FirmwareFileSystem2)'\r
-    ],\r
-\r
-    [\r
-        re.compile('gEfiFirmwareFileSystemGuid', re.MULTILINE),\r
-        'gEfiFirmwareFileSystem2Guid'\r
-    ],\r
-\r
-    [\r
-        re.compile('EFI_FVH_REVISION', re.MULTILINE),\r
-        'EFI_FVH_PI_REVISION'\r
-    ],\r
-\r
-    [\r
-        re.compile("(\s*)\S*CreateEvent\s*\([\s\n]*EFI_EVENT_SIGNAL_READY_TO_BOOT[^,]*,((?:[^;]+\n)+)(\s*\));", re.MULTILINE),\r
-        '\\1EfiCreateEventReadyToBoot (\\2\\3;'\r
-    ],\r
-\r
-    [\r
-        re.compile("(\s*)\S*CreateEvent\s*\([\s\n]*EFI_EVENT_SIGNAL_LEGACY_BOOT[^,]*,((?:[^;]+\n)+)(\s*\));", re.MULTILINE),\r
-        '\\1EfiCreateEventLegacyBoot (\\2\\3;'\r
-    ],\r
-#    [\r
-#        re.compile("(\W)(PEI_PCI_CFG_PPI)(\W)", re.MULTILINE),\r
-#        '\\1ECP_\\2\\3'\r
-#    ]\r
-]\r
 \r
 ## file cache to avoid circular include in ASL file\r
 gIncludedAslFile = []\r
@@ -494,97 +430,6 @@ def GenerateVfrBinSec(ModuleName, DebugDir, OutputFile):
     fStringIO.close ()\r
     fInputfile.close ()\r
 \r
-## Trim EDK source code file(s)\r
-#\r
-#\r
-# @param  Source    File or directory to be trimmed\r
-# @param  Target    File or directory to store the trimmed content\r
-#\r
-def TrimEdkSources(Source, Target):\r
-    if os.path.isdir(Source):\r
-        for CurrentDir, Dirs, Files in os.walk(Source):\r
-            if '.svn' in Dirs:\r
-                Dirs.remove('.svn')\r
-            elif "CVS" in Dirs:\r
-                Dirs.remove("CVS")\r
-\r
-            for FileName in Files:\r
-                Dummy, Ext = os.path.splitext(FileName)\r
-                if Ext.upper() not in ['.C', '.H']: continue\r
-                if Target is None or Target == '':\r
-                    TrimEdkSourceCode(\r
-                        os.path.join(CurrentDir, FileName),\r
-                        os.path.join(CurrentDir, FileName)\r
-                        )\r
-                else:\r
-                    TrimEdkSourceCode(\r
-                        os.path.join(CurrentDir, FileName),\r
-                        os.path.join(Target, CurrentDir[len(Source)+1:], FileName)\r
-                        )\r
-    else:\r
-        TrimEdkSourceCode(Source, Target)\r
-\r
-## Trim one EDK source code file\r
-#\r
-# Do following replacement:\r
-#\r
-#   (**PeiServices\).PciCfg = <*>;\r
-#   =>  {\r
-#         STATIC EFI_PEI_PPI_DESCRIPTOR gEcpPeiPciCfgPpiList = {\r
-#         (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
-#         &gEcpPeiPciCfgPpiGuid,\r
-#         <*>\r
-#       };\r
-#       (**PeiServices).InstallPpi (PeiServices, &gEcpPeiPciCfgPpiList);\r
-#\r
-#   <*>Modify(<*>)\r
-#   =>  PeiLibPciCfgModify (<*>)\r
-#\r
-#   gRT->ReportStatusCode (<*>)\r
-#   => EfiLibReportStatusCode (<*>)\r
-#\r
-#   #include <LoadFile\.h>\r
-#   =>  #include <FvLoadFile.h>\r
-#\r
-#   CreateEvent (EFI_EVENT_SIGNAL_READY_TO_BOOT, <*>)\r
-#   => EfiCreateEventReadyToBoot (<*>)\r
-#\r
-#   CreateEvent (EFI_EVENT_SIGNAL_LEGACY_BOOT, <*>)\r
-#   =>  EfiCreateEventLegacyBoot (<*>)\r
-#\r
-# @param  Source    File to be trimmed\r
-# @param  Target    File to store the trimmed content\r
-#\r
-def TrimEdkSourceCode(Source, Target):\r
-    EdkLogger.verbose("\t%s -> %s" % (Source, Target))\r
-    CreateDirectory(os.path.dirname(Target))\r
-\r
-    try:\r
-        f = open (Source, 'r')\r
-    except:\r
-        EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=Source)\r
-    # read whole file\r
-    Lines = f.read()\r
-    f.close()\r
-\r
-    NewLines = None\r
-    for Re, Repl in gImportCodePatterns:\r
-        if NewLines is None:\r
-            NewLines = Re.sub(Repl, Lines)\r
-        else:\r
-            NewLines = Re.sub(Repl, NewLines)\r
-\r
-    # save all lines if trimmed\r
-    if Source == Target and NewLines == Lines:\r
-        return\r
-\r
-    try:\r
-        f = open (Target, 'w')\r
-    except:\r
-        EdkLogger.error("Trim", FILE_OPEN_FAILURE, ExtraData=Target)\r
-    f.write(NewLines)\r
-    f.close()\r
-\r
 \r
 ## Parse command line options\r
 #\r
@@ -603,9 +448,6 @@ def Options():
                           help="The input file is EFI image"),\r
         make_option("-a", "--asl-file", dest="FileType", const="Asl", action="store_const",\r
                           help="The input file is ASL file"),\r
-        make_option("-8", "--Edk-source-code", dest="FileType", const="EdkSourceCode", action="store_const",\r
-                          help="The input file is source code for Edk to be trimmed for ECP"),\r
-\r
         make_option("-c", "--convert-hex", dest="ConvertHex", action="store_true",\r
                           help="Convert standard hex format (0xabcd) to MASM format (abcdh)"),\r
 \r
@@ -680,8 +522,6 @@ def Main():
             if CommandOptions.OutputFile is None:\r
                 CommandOptions.OutputFile = os.path.splitext(InputFile)[0] + '.iii'\r
             TrimAslFile(InputFile, CommandOptions.OutputFile, CommandOptions.IncludePathFile)\r
-        elif CommandOptions.FileType == "EdkSourceCode":\r
-            TrimEdkSources(InputFile, CommandOptions.OutputFile)\r
         elif CommandOptions.FileType == "VfrOffsetBin":\r
             GenerateVfrBinSec(CommandOptions.ModuleName, CommandOptions.DebugDir, CommandOptions.OutputFile)\r
         else :\r