public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Gao, Liming" <liming.gao@intel.com>
To: Pete Batard <pete@akeo.ie>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Subject: Re: [PATCH 6/6] BaseTools/Conf: Add VS2017/ARM support
Date: Mon, 4 Dec 2017 15:48:10 +0000	[thread overview]
Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E189D15@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20171204131205.11304-7-pete@akeo.ie>

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_AVAILABLE 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 <liming.gao@intel.com>
> Subject: [PATCH 6/6] BaseTools/Conf: Add VS2017/ARM support
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Pete Batard <pete@akeo.ie>
> ---
>  BaseTools/Conf/build_rule.template | 30 ++++++++++++++++++++
>  BaseTools/Conf/tools_def.template  | 28 ++++++++++++++++++
>  2 files changed, 58 insertions(+)
> 
> diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.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
> 
> +[Assembly-Code-File.COMMON.ARM]
> +    # Remove --convert-hex for ARM as it breaks MSFT assemblers
> +    <InputFile.MSFT, InputFile.INTEL, InputFile.RVCT>
> +        ?.asm, ?.Asm, ?.ASM
> +
> +    <InputFile.GCC, InputFile.GCCLD>
> +        ?.S, ?.s
> +
> +    <ExtraDependency>
> +        $(MAKE_FILE)
> +
> +    <OutputFile>
> +        $(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
> +
> +    <Command.INTEL>
> +        "$(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
> +
> +    <Command.MSFT>
> +        "$(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
> +
> +    <Command.GCC, Command.GCCLD, Command.RVCT>
> +        "$(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]
>      <InputFile>
>          ?.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        = x86
>  DEFINE VS2017_BIN_HOST    = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\DEF(VS2017_HOST)
>  DEFINE VS2017_BIN_IA32    = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x86
>  DEFINE VS2017_BIN_X64     = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\x64
> +DEFINE VS2017_BIN_ARM     = DEF(VS2017_BIN)\HostDEF(VS2017_HOST)\arm
> 
>  DEFINE WINSDK_BIN       = ENV(WINSDK_PREFIX)
>  DEFINE WINSDKx86_BIN    = ENV(WINSDKx86_PREFIX)
> @@ -4169,6 +4170,33 @@ NOOPT_VS2017_X64_NASM_FLAGS     = -O0 -f win64 -g
>  RELEASE_VS2017_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP
> /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT)
> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
>  NOOPT_VS2017_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32
> /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT)
> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
> 
> +#################
> +# ARM definitions
> +#################
> +*_VS2017_ARM_CC_PATH              = DEF(VS2017_BIN_ARM)\cl.exe
> +*_VS2017_ARM_VFRPP_PATH           = DEF(VS2017_BIN_ARM)\cl.exe
> +*_VS2017_ARM_SLINK_PATH           = DEF(VS2017_BIN_ARM)\lib.exe
> +*_VS2017_ARM_DLINK_PATH           = DEF(VS2017_BIN_ARM)\link.exe
> +*_VS2017_ARM_APP_PATH             = DEF(VS2017_BIN_ARM)\cl.exe
> +*_VS2017_ARM_PP_PATH              = DEF(VS2017_BIN_ARM)\cl.exe
> +*_VS2017_ARM_ASM_PATH             = DEF(VS2017_BIN_ARM)\armasm.exe
> +*_VS2017_ARM_ASLCC_PATH           = DEF(VS2017_BIN_ARM)\cl.exe
> +*_VS2017_ARM_ASLPP_PATH           = DEF(VS2017_BIN_ARM)\cl.exe
> +*_VS2017_ARM_ASLDLINK_PATH        = DEF(VS2017_BIN_ARM)\link.exe
> +
> +      *_VS2017_ARM_MAKE_FLAGS     = /nologo
> +  DEBUG_VS2017_ARM_CC_FLAGS       = /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       = /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         = /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      = /nologo /g
> +RELEASE_VS2017_ARM_ASM_FLAGS      = /nologo
> +NOOPT_VS2017_ARM_ASM_FLAGS        = /nologo
> +
> +  DEBUG_VS2017_ARM_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP
> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT)
> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
> +RELEASE_VS2017_ARM_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP
> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT)
> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
> +NOOPT_VS2017_ARM_DLINK_FLAGS      = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP
> /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT)
> /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
> +
>  ##################
>  # EBC definitions
>  ##################
> --
> 2.9.3.windows.2



  reply	other threads:[~2017-12-04 15:43 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-04 13:11 [PATCH 0/6] Add ARM support for VS2017 Pete Batard
2017-12-04 13:12 ` [PATCH 1/6] MdePkg: Disable some Level 4 warnings for VS2017/ARM Pete Batard
2017-12-04 15:36   ` Gao, Liming
2017-12-04 17:42     ` Pete Batard
2017-12-04 13:12 ` [PATCH 2/6] MdePkg/Library/BaseStackCheckLib: Add Null handler " Pete Batard
2017-12-04 13:12 ` [PATCH 3/6] MdePkg/Library/BaseLib: Enable VS2017/ARM builds Pete Batard
2017-12-04 15:40   ` Gao, Liming
2017-12-04 17:43     ` Pete Batard
2017-12-04 13:12 ` [PATCH 4/6] ArmPkg/Library/CompilerIntrinsicsLib: " Pete Batard
2017-12-04 13:12 ` [PATCH 5/6] MdePkg/Include: Add VA list support for VS2017/ARM Pete Batard
2017-12-04 13:12 ` [PATCH 6/6] BaseTools/Conf: Add VS2017/ARM support Pete Batard
2017-12-04 15:48   ` Gao, Liming [this message]
2017-12-04 17:43     ` Pete Batard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A89E2EF3DFEDB4C8BFDE51014F606A14E189D15@SHSMSX104.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox