From 01ce3538131437b2deae873ce5aeccf05951ebac Mon Sep 17 00:00:00 2001 From: Hess Chen Date: Tue, 19 Aug 2014 08:22:04 +0000 Subject: This patch is going to fix a build failure (running of GenFds) in Linux system caused by patch at r15816. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen Reviewed-by: Gao, Liming git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15831 6f19259b-4bc3-4df7-8a09-765794883524 --- BaseTools/Source/Python/AutoGen/GenMake.py | 2 +- BaseTools/Source/Python/build/build.py | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'BaseTools') diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py index 180e217705..0ad368a4ce 100644 --- a/BaseTools/Source/Python/AutoGen/GenMake.py +++ b/BaseTools/Source/Python/AutoGen/GenMake.py @@ -1200,7 +1200,7 @@ cleanlib: # class TopLevelMakefile(BuildFile): ## template used to generate toplevel makefile - _TEMPLATE_ = TemplateString('''${BEGIN}\tGenFds -f "${fdf_file}" -o "${platform_build_directory}" -t ${toolchain_tag} -b ${build_target} -p "${active_platform}" -a ${build_architecture_list} ${extra_options}${END}${BEGIN} -r ${fd} ${END}${BEGIN} -i ${fv} ${END}${BEGIN} -C ${cap} ${END}${BEGIN} -D ${macro} ${END}''') + _TEMPLATE_ = TemplateString('''${BEGIN}\tGenFds -f ${fdf_file} -o ${platform_build_directory} -t ${toolchain_tag} -b ${build_target} -p ${active_platform} -a ${build_architecture_list} ${extra_options}${END}${BEGIN} -r ${fd} ${END}${BEGIN} -i ${fv} ${END}${BEGIN} -C ${cap} ${END}${BEGIN} -D ${macro} ${END}''') ## Constructor of TopLevelMakefile # diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py index 56dbc5b39b..85ee9985bb 100644 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -245,7 +245,14 @@ def LaunchCommand(Command, WorkingDir): # if working directory doesn't exist, Popen() will raise an exception if not os.path.isdir(WorkingDir): EdkLogger.error("build", FILE_NOT_FOUND, ExtraData=WorkingDir) - + + # Command is used as the first Argument in following Popen(). + # It could be a string or sequence. We find that if command is a string in following Popen(), + # ubuntu may fail with an error message that the command is not found. + # So here we may need convert command from string to list instance. + if not isinstance(Command, list): + Command = Command.split() + Proc = None EndOfProcedure = None try: @@ -1402,12 +1409,6 @@ class Build(): for Arch in Wa.ArchList: GlobalData.gGlobalDefines['ARCH'] = Arch Pa = PlatformAutoGen(Wa, self.PlatformFile, BuildTarget, ToolChain, Arch) - for Module in Pa.Platform.Modules: - # Get ModuleAutoGen object to generate C code file and makefile - Ma = ModuleAutoGen(Wa, Module, BuildTarget, ToolChain, Arch, self.PlatformFile) - if Ma == None: - continue - self.BuildModules.append(Ma) self._BuildPa(self.Target, Pa) # Create MAP file when Load Fix Address is enabled. @@ -1491,7 +1492,6 @@ class Build(): Ma = ModuleAutoGen(Wa, self.ModuleFile, BuildTarget, ToolChain, Arch, self.PlatformFile) if Ma == None: continue MaList.append(Ma) - self.BuildModules.append(Ma) if not Ma.IsBinaryModule: self._Build(self.Target, Ma, BuildModule=True) -- cgit v1.2.3