]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Python/Calc-Deps.py
Adding top-level Conf directory for next generation of EDK II build infrastructure...
[mirror_edk2.git] / Tools / Python / Calc-Deps.py
index a0afa3f432c15853ba01d167e2bd12e80fb1f03b..b022a907ae118f2adc6d159ff4b5ecf9a6dbf609 100755 (executable)
@@ -1,5 +1,14 @@
 #!/usr/bin/env python
 
+# Copyright (c) 2007, Intel Corporation
+# All rights reserved. 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
+# 
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
 """Calculate the dependencies a given module has by looking through the source
 code to see what guids and functions are referenced to see which Packages and
 Library Classes need to be referenced. """
@@ -120,6 +129,8 @@ def getCNames(spdFile):
 
   # Get the name of the package
   packageName = XmlElement(spd, "PackageSurfaceArea/SpdHeader/PackageName")
+  packageVersion = XmlElement(spd, "PackageSurfaceArea/SpdHeader/Version")
+  packageGuid = XmlElement(spd, "PackageSurfaceArea/SpdHeader/GuidValue")
 
   # Find the C_Name
   for cname in XmlList(spd, "/PackageSurfaceArea/GuidDeclarations/Entry/C_Name") + \
@@ -132,7 +143,8 @@ def getCNames(spdFile):
 
     # Map the <C_Name> to the <PackageName>. We will use this to lookup every 
     # identifier in the Input Code.
-    cname_table[cname_text] = packageName
+    cname_table[cname_text] = {"name": packageName, "version": packageVersion, "guid": packageGuid}
+
 
   return
 
@@ -195,7 +207,11 @@ large file."""
   getSpds()
 
   # Debug stuff.
-  print pp.pprint(function_table)
-  print pp.pprint(cname_table)
-  print "Classes = ", pp.pprint(list(search_classes(ids)))
-  print "C_Names = ", pp.pprint(list(search_cnames(ids)))
+  print "Function Table = "
+  pp.pprint(function_table)
+  print "CName Table = "
+  pp.pprint(cname_table)
+  print "Classes = "
+  pp.pprint(list(search_classes(ids)))
+  print "C_Names = "
+  pp.pprint(list(search_cnames(ids)))