]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Trim/Trim.py
Sync EDKII BaseTools to BaseTools project r1971
[mirror_edk2.git] / BaseTools / Source / Python / Trim / Trim.py
index a55c136edba61ffff2c66bd9c93f817cf99b42ab..d19bb09b2d286301c1b327b68ab195785ffb141e 100644 (file)
@@ -1,8 +1,8 @@
 ## @file
 # Trim files preprocessed by compiler
 #
-# Copyright (c) 2007, Intel Corporation
-# All rights reserved. This program and the accompanying materials
+# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
+# This program and the accompanying materials
 # are licensed and made available under the terms and conditions of the BSD License
 # which accompanies this distribution.  The full text of the license may be found at
 # http://opensource.org/licenses/bsd-license.php
@@ -28,12 +28,12 @@ import Common.EdkLogger as EdkLogger
 # Version and Copyright
 __version_number__ = "0.10"
 __version__ = "%prog Version " + __version_number__
-__copyright__ = "Copyright (c) 2007-2008, Intel Corporation. All rights reserved."
+__copyright__ = "Copyright (c) 2007-2010, Intel Corporation. All rights reserved."
 
 ## Regular expression for matching Line Control directive like "#line xxx"
 gLineControlDirective = re.compile('^\s*#(?:line)?\s+([0-9]+)\s+"*([^"]*)"')
 ## Regular expression for matching "typedef struct"
-gTypedefPattern = re.compile("^\s*typedef\s+struct\s*[{]*$", re.MULTILINE)
+gTypedefPattern = re.compile("^\s*typedef\s+struct(\s+\w+)?\s*[{]*$", re.MULTILINE)
 ## Regular expression for matching "#pragma pack"
 gPragmaPattern = re.compile("^\s*#pragma\s+pack", re.MULTILINE)
 ## Regular expression for matching HEX number
@@ -81,6 +81,21 @@ gImportCodePatterns = [
         '#include <FvLoadFile.h>'
     ],
 
+    [
+        re.compile('#include\s+EFI_GUID_DEFINITION\s*\(FirmwareFileSystem\)', re.MULTILINE),
+        '#include EFI_GUID_DEFINITION (FirmwareFileSystem)\n#include EFI_GUID_DEFINITION (FirmwareFileSystem2)'
+    ],
+
+    [
+        re.compile('gEfiFirmwareFileSystemGuid', re.MULTILINE),
+        'gEfiFirmwareFileSystem2Guid'
+    ],
+
+    [
+        re.compile('EFI_FVH_REVISION', re.MULTILINE),
+        'EFI_FVH_PI_REVISION'
+    ],
+
     [
         re.compile("(\s*)\S*CreateEvent\s*\([\s\n]*EFI_EVENT_SIGNAL_READY_TO_BOOT[^,]*,((?:[^;]+\n)+)(\s*\));", re.MULTILINE),
         '\\1EfiCreateEventReadyToBoot (\\2\\3;'
@@ -279,6 +294,7 @@ def DoInclude(Source, Indent=''):
         CurrentIndent = Indent + Result[0][0]
         IncludedFile = Result[0][1]
         NewFileContent.extend(DoInclude(IncludedFile, CurrentIndent))
+        NewFileContent.append("\n")
 
     gIncludedAslFile.pop()
     F.close()
@@ -504,7 +520,7 @@ def Main():
                     "\nTrim",
                     CODE_ERROR,
                     "Unknown fatal error when trimming [%s]" % InputFile,
-                    ExtraData="\n(Please send email to dev@buildtools.tianocore.org for help, attaching following call stack trace!)\n",
+                    ExtraData="\n(Please send email to edk2-buildtools-devel@lists.sourceforge.net for help, attaching following call stack trace!)\n",
                     RaiseError=False
                     )
         EdkLogger.quiet("(Python %s on %s) " % (platform.python_version(), sys.platform) + traceback.format_exc())