From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.24; helo=mga09.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (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 A068A22152383 for ; Mon, 4 Dec 2017 07:43:44 -0800 (PST) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Dec 2017 07:48:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,359,1508828400"; d="scan'208";a="183439578" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga005.fm.intel.com with ESMTP; 04 Dec 2017 07:48:13 -0800 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 4 Dec 2017 07:48:13 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx109.amr.corp.intel.com (10.18.116.9) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 4 Dec 2017 07:48:12 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.152]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.218]) with mapi id 14.03.0319.002; Mon, 4 Dec 2017 23:48:10 +0800 From: "Gao, Liming" To: Pete Batard , "edk2-devel@lists.01.org" Thread-Topic: [PATCH 6/6] BaseTools/Conf: Add VS2017/ARM support Thread-Index: AQHTbQGSMQUXfuLLME2Famp4dDWPYqMzU/0A Date: Mon, 4 Dec 2017 15:48:10 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E189D15@SHSMSX104.ccr.corp.intel.com> References: <20171204131205.11304-1-pete@akeo.ie> <20171204131205.11304-7-pete@akeo.ie> In-Reply-To: <20171204131205.11304-7-pete@akeo.ie> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 6/6] BaseTools/Conf: Add VS2017/ARM support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Dec 2017 15:43:44 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Pete: 1. You add new build for ARM. I remember the reason is that --convert-hex = can't be used by trim for ARM ASM file. Right? 2. On tools_def.txt. Why introduce /D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVA= ILABLE option? Thanks Liming > -----Original Message----- > From: Pete Batard [mailto:pete@akeo.ie] > Sent: Monday, December 4, 2017 9:12 PM > To: edk2-devel@lists.01.org > Cc: Gao, Liming > Subject: [PATCH 6/6] BaseTools/Conf: Add VS2017/ARM support >=20 > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Pete Batard > --- > BaseTools/Conf/build_rule.template | 30 ++++++++++++++++++++ > BaseTools/Conf/tools_def.template | 28 ++++++++++++++++++ > 2 files changed, 58 insertions(+) >=20 > diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_ru= le.template > index 3e6aa8ff0f34..08c1df14af90 100755 > --- a/BaseTools/Conf/build_rule.template > +++ b/BaseTools/Conf/build_rule.template > @@ -207,6 +207,36 @@ > # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing = issues > "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii >=20 > +[Assembly-Code-File.COMMON.ARM] > + # Remove --convert-hex for ARM as it breaks MSFT assemblers > + > + ?.asm, ?.Asm, ?.ASM > + > + > + ?.S, ?.s > + > + > + $(MAKE_FILE) > + > + > + $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj > + > + > + "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i > + Trim --source-code --convert-hex --trim-long -o ${d_path}(+)${s_= base}.iii ${d_path}(+)${s_base}.i > + "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)$= {s_base}.iii > + > + > + "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i > + Trim --source-code --trim-long -o ${d_path}(+)${s_base}.iii ${d_= path}(+)${s_base}.i > + "$(ASM)" /Fo${dst} $(ASM_FLAGS) /I${s_path} $(INC) ${d_path}(+)$= {s_base}.iii > + > + > + "$(PP)" $(PP_FLAGS) $(INC) ${src} > ${d_path}(+)${s_base}.i > + Trim --trim-long --source-code -o ${d_path}(+)${s_base}.iii ${d_= path}(+)${s_base}.i > + # For RVCTCYGWIN ASM_FLAGS must be first to work around pathing = issues > + "$(ASM)" $(ASM_FLAGS) -o ${dst} $(INC) ${d_path}(+)${s_base}.iii > + > [Nasm-Assembly-Code-File.COMMON.COMMON] > > ?.nasm > diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def= .template > index 91b135c2e569..bea31f1660f2 100755 > --- a/BaseTools/Conf/tools_def.template > +++ b/BaseTools/Conf/tools_def.template > @@ -79,6 +79,7 @@ DEFINE VS2017_HOST =3D x86 > DEFINE VS2017_BIN_HOST =3D DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\DEF(V= S2017_HOST) > DEFINE VS2017_BIN_IA32 =3D DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x86 > DEFINE VS2017_BIN_X64 =3D DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x64 > +DEFINE VS2017_BIN_ARM =3D DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm >=20 > DEFINE WINSDK_BIN =3D ENV(WINSDK_PREFIX) > DEFINE WINSDKx86_BIN =3D ENV(WINSDKx86_PREFIX) > @@ -4169,6 +4170,33 @@ NOOPT_VS2017_X64_NASM_FLAGS =3D -O0 -f win64 -= g > RELEASE_VS2017_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP > /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /EN= TRY:$(IMAGE_ENTRY_POINT) > /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rd= ata=3D.data > NOOPT_VS2017_X64_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001 /= OPT:REF /OPT:ICF=3D10 /MAP /ALIGN:32 > /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAG= E_ENTRY_POINT) > /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG >=20 > +################# > +# ARM definitions > +################# > +*_VS2017_ARM_CC_PATH =3D DEF(VS2017_BIN_ARM)\cl.exe > +*_VS2017_ARM_VFRPP_PATH =3D DEF(VS2017_BIN_ARM)\cl.exe > +*_VS2017_ARM_SLINK_PATH =3D DEF(VS2017_BIN_ARM)\lib.exe > +*_VS2017_ARM_DLINK_PATH =3D DEF(VS2017_BIN_ARM)\link.exe > +*_VS2017_ARM_APP_PATH =3D DEF(VS2017_BIN_ARM)\cl.exe > +*_VS2017_ARM_PP_PATH =3D DEF(VS2017_BIN_ARM)\cl.exe > +*_VS2017_ARM_ASM_PATH =3D DEF(VS2017_BIN_ARM)\armasm.exe > +*_VS2017_ARM_ASLCC_PATH =3D DEF(VS2017_BIN_ARM)\cl.exe > +*_VS2017_ARM_ASLPP_PATH =3D DEF(VS2017_BIN_ARM)\cl.exe > +*_VS2017_ARM_ASLDLINK_PATH =3D DEF(VS2017_BIN_ARM)\link.exe > + > + *_VS2017_ARM_MAKE_FLAGS =3D /nologo > + DEBUG_VS2017_ARM_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /= D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- > /GF /Gy /Zi /Gm /Gw /Oi- /D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE > +RELEASE_VS2017_ARM_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /= D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- > /GF /Gw /Oi- /D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE > +NOOPT_VS2017_ARM_CC_FLAGS =3D /nologo /c /WX /GS- /W4 /Gs32768 /= D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Gy /Zi > /Gm /Od /Oi- /D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE > + > + DEBUG_VS2017_ARM_ASM_FLAGS =3D /nologo /g > +RELEASE_VS2017_ARM_ASM_FLAGS =3D /nologo > +NOOPT_VS2017_ARM_ASM_FLAGS =3D /nologo > + > + DEBUG_VS2017_ARM_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001= /OPT:REF /OPT:ICF=3D10 /MAP > /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAG= E_ENTRY_POINT) > /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG > +RELEASE_VS2017_ARM_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001= /IGNORE:4254 /OPT:REF /OPT:ICF=3D10 /MAP > /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAG= E_ENTRY_POINT) > /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rd= ata=3D.data > +NOOPT_VS2017_ARM_DLINK_FLAGS =3D /NOLOGO /NODEFAULTLIB /IGNORE:4001= /OPT:REF /OPT:ICF=3D10 /MAP > /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAG= E_ENTRY_POINT) > /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG > + > ################## > # EBC definitions > ################## > -- > 2.9.3.windows.2