diff options
author | Mike Maslenkin <mike.maslenkin@gmail.com> | 2015-12-03 03:27:13 +0000 |
---|---|---|
committer | vanjeff <vanjeff@Edk2> | 2015-12-03 03:27:13 +0000 |
commit | 183f7faabc138a8d47c6dd387ed2ad175e9f96fe (patch) | |
tree | edf9b9f3b9a6392fe7b7763072065c0724a7a378 /BaseTools/Source/Python/build/BuildReport.py | |
parent | 37c2cf4fb85f7c79a15fc860dc5366f562d5f305 (diff) | |
download | edk2-platforms-183f7faabc138a8d47c6dd387ed2ad175e9f96fe.tar.xz |
BaseTools: sync BaseTools from main trunk r18579.
This patch fixes incomplete merge of multiple workspaces support.
Without this patch build fails with error similar to:
~/sources/edk2> build -p MdePkg/MdePkg.dsc -t GCC48 -a X64
Build environment: Linux-3.16.7-24-desktop-x86_64-with-SuSE-13.2-x86_64
Build start time: 17:15:43, Dec.02 2015
WORKSPACE = /home/user/sources/edk2
ECP_SOURCE = /home/user/sources/edk2/EdkCompatibilityPkg
EDK_SOURCE = /home/user/sources/edk2/EdkCompatibilityPkg
EFI_SOURCE = /home/user/sources/edk2/EdkCompatibilityPkg
EDK_TOOLS_PATH = /home/user/sources/edk2/BaseTools
build.py...
: error C0DE: Unknown fatal error when processing [/home/user/sources/edk2/MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf]
(Please send email to edk2-devel@lists.sourceforge.net for help, attaching following call stack trace!)
(Python 2.7.8 on linux2) Traceback (most recent call last):
File "/home/user/sources/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 2033, in Main
MyBuild.Launch()
File "/home/user/sources/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 1788, in Launch
self._MultiThreadBuildPlatform()
File "/home/user/sources/edk2/BaseTools/BinWrappers/PosixLike/../../Source/Python/build/build.py", line 1583, in _MultiThreadBuildPlatform
self.Progress
File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 175, in __new__
if not AutoGenObject._Init(Workspace, MetaFile, Target, Toolchain, Arch, *args, **kwargs):
File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 355, in _Init
Pkgs = list(PkgSet) + list(PGen.PackageList)
File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1484, in _GetPackageList
for La in self.LibraryAutoGenList:
File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1594, in _GetLibraryAutoGenList
self._GetAutoGenObjectList()
File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 1575, in _GetAutoGenObjectList
self.MetaFile
File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 175, in __new__
if not AutoGenObject._Init(Workspace, MetaFile, Target, Toolchain, Arch, *args, **kwargs):
File "/home/user/sources/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py", line 2199, in _Init
self.SourceDir = mws.relpath(self.SourceDir, self.WorkspaceDir)
File "/home/user/sources/edk2/BaseTools/Source/Python/Common/MultipleWorkspace.py", line 94, in relpath
for Pkg in cls.PACKAGES_PATH:
TypeError: 'NoneType' object is not iterable
- Failed -
Build end time: 17:15:44, Dec.02 2015
Build total time: 00:00:01
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/branches/UDK2015@19102 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'BaseTools/Source/Python/build/BuildReport.py')
-rw-r--r-- | BaseTools/Source/Python/build/BuildReport.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/BaseTools/Source/Python/build/BuildReport.py b/BaseTools/Source/Python/build/BuildReport.py index d64c55d08b..38e55f3e07 100644 --- a/BaseTools/Source/Python/build/BuildReport.py +++ b/BaseTools/Source/Python/build/BuildReport.py @@ -41,6 +41,7 @@ from Common.DataType import TAB_BRG_PCD from Common.DataType import TAB_BRG_LIBRARY
from Common.DataType import TAB_BACK_SLASH
from Common.LongFilePathSupport import OpenLongFilePath as open
+from Common.MultipleWorkspace import MultipleWorkspace as mws
## Pattern to extract contents in EDK DXS files
gDxsDependencyPattern = re.compile(r"DEPENDENCY_START(.+)DEPENDENCY_END", re.DOTALL)
@@ -1235,12 +1236,13 @@ class FdRegionReport(object): DecDefaultValue = Package.Pcds[TokenCName, TokenSpaceGuidCName, DecType].DefaultValue
PlatformPcds[(TokenCName, TokenSpaceGuidCName)] = DecDefaultValue
#
- # Collect PCDs defined in DSC common section
+ # Collect PCDs defined in DSC file
#
- Platform = Wa.BuildDatabase[Wa.MetaFile, 'COMMON']
- for (TokenCName, TokenSpaceGuidCName) in Platform.Pcds:
- DscDefaultValue = Platform.Pcds[(TokenCName, TokenSpaceGuidCName)].DefaultValue
- PlatformPcds[(TokenCName, TokenSpaceGuidCName)] = DscDefaultValue
+ for arch in Wa.ArchList:
+ Platform = Wa.BuildDatabase[Wa.MetaFile, arch]
+ for (TokenCName, TokenSpaceGuidCName) in Platform.Pcds:
+ DscDefaultValue = Platform.Pcds[(TokenCName, TokenSpaceGuidCName)].DefaultValue
+ PlatformPcds[(TokenCName, TokenSpaceGuidCName)] = DscDefaultValue
#
# Add PEI and DXE a priori files GUIDs defined in PI specification.
@@ -1255,7 +1257,7 @@ class FdRegionReport(object): for Pa in Wa.AutoGenObjectList:
for ModuleKey in Pa.Platform.Modules:
M = Pa.Platform.Modules[ModuleKey].M
- InfPath = os.path.join(Wa.WorkspaceDir, M.MetaFile.File)
+ InfPath = mws.join(Wa.WorkspaceDir, M.MetaFile.File)
self._GuidsDb[M.Guid.upper()] = "%s (%s)" % (M.Module.BaseName, InfPath)
#
@@ -1277,7 +1279,7 @@ class FdRegionReport(object): Guid = GuidStructureByteArrayToGuidString(GuidValue).upper()
for Section in Ffs.SectionList:
try:
- ModuleSectFile = os.path.join(Wa.WorkspaceDir, Section.SectFileName)
+ ModuleSectFile = mws.join(Wa.WorkspaceDir, Section.SectFileName)
self._GuidsDb[Guid] = ModuleSectFile
except AttributeError:
pass
|