From nobody Mon Dec 23 10:34:23 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1517968482053506.0171908735283; Tue, 6 Feb 2018 17:54:42 -0800 (PST) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 55BDE21F0DA63; Tue, 6 Feb 2018 17:48:57 -0800 (PST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9977D223972B2 for ; Tue, 6 Feb 2018 17:48:56 -0800 (PST) Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Feb 2018 17:54:38 -0800 Received: from shwdeopenpsi168.ccr.corp.intel.com ([10.239.158.129]) by orsmga006.jf.intel.com with ESMTP; 06 Feb 2018 17:54:37 -0800 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.88; helo=mga01.intel.com; envelope-from=yonghong.zhu@intel.com; receiver=edk2-devel@lists.01.org X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,471,1511856000"; d="scan'208";a="16499694" From: Yonghong Zhu To: edk2-devel@lists.01.org Date: Wed, 7 Feb 2018 09:54:31 +0800 Message-Id: <1517968471-9324-1-git-send-email-yonghong.zhu@intel.com> X-Mailer: git-send-email 2.6.1.windows.1 Subject: [edk2] [Patch V2] BaseTools: Enhance error handling for unsupported toolchain Flags/Path X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Case1: Cover the Tool PATH is not exist, eg: build MdeModule under GCC5 toolchain and IPF arch. Case2: Cover the Tool FLAGS is not exist, eg: build OvmfPkg under CLANG35 toolchain and X64 arch. fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=3D595 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yonghong Zhu Reviewed-by: Liming Gao --- BaseTools/Source/Python/AutoGen/GenMake.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/= Python/AutoGen/GenMake.py index 9df5d8e..afe6f2f 100644 --- a/BaseTools/Source/Python/AutoGen/GenMake.py +++ b/BaseTools/Source/Python/AutoGen/GenMake.py @@ -1,9 +1,9 @@ ## @file # Create makefile for MS nmake and GNU make # -# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BS= D License # which accompanies this distribution. The full text of the license may b= e found at # http://opensource.org/licenses/bsd-license.php # @@ -796,13 +796,17 @@ cleanlib: for Flag in FlagDict.keys(): if '$('+ Flag +')' in SingleCommandList[0]: Tool =3D Flag break if Tool: + if 'PATH' not in self._AutoGenObject._BuildOpt= ion[Tool]: + EdkLogger.error("build", AUTOGEN_ERROR, "%= s_PATH doesn't exist in %s ToolChain and %s Arch." %(Tool, self._AutoGenObj= ect.ToolChain, self._AutoGenObject.Arch), ExtraData=3D"[%s]" % str(self._Au= toGenObject)) SingleCommandLength +=3D len(self._AutoGenObje= ct._BuildOption[Tool]['PATH']) for item in SingleCommandList[1:]: if FlagDict[Tool]['Macro'] in item: + if 'FLAGS' not in self._AutoGenObject.= _BuildOption[Tool]: + EdkLogger.error("build", AUTOGEN_E= RROR, "%s_FLAGS doesn't exist in %s ToolChain and %s Arch." %(Tool, self._A= utoGenObject.ToolChain, self._AutoGenObject.Arch), ExtraData=3D"[%s]" % str= (self._AutoGenObject)) Str =3D self._AutoGenObject._BuildOpti= on[Tool]['FLAGS'] for Option in self._AutoGenObject.Buil= dOption.keys(): for Attr in self._AutoGenObject.Bu= ildOption[Option]: if Str.find(Option + '_' + Att= r) !=3D -1: Str =3D Str.replace('$(' += Option + '_' + Attr + ')', self._AutoGenObject.BuildOption[Option][Attr]) --=20 2.6.1.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel