edk2/BaseTools/Source/Python/build
Mike Maslenkin 183f7faabc 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
2015-12-03 03:27:13 +00:00
..
__init__.py Sync EDKII BaseTools to BaseTools project r1971 2010-05-18 05:04:32 +00:00
build.py BaseTools: sync BaseTools from main trunk r18579. 2015-12-03 03:27:13 +00:00
BuildReport.py BaseTools: sync BaseTools from main trunk r18579. 2015-12-03 03:27:13 +00:00