public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1 0/1] BaseTools/tools_def: Add WINGCC49 support
@ 2018-06-19 23:26 Chris Co
  2018-06-19 23:26 ` [PATCH v1 1/1] " Chris Co
  0 siblings, 1 reply; 5+ messages in thread
From: Chris Co @ 2018-06-19 23:26 UTC (permalink / raw)
  To: edk2-devel@lists.01.org; +Cc: Yonghong Zhu, Liming Gao, Leif Lindholm

REF: https://github.com/christopherco/edk2/tree/wingcc_build

This patch adds a build option for invoking GCC49 ARM cross compiler 
in the Windows environment to build firmware for Windows 10 IoT 
devices using NXP i.MX6 and i.MX7 SoCs.

In addition, this build option targets the Microsoft ASL
compiler instead of iasl.  The Microsoft ASL compiler is
necessary to expose Windows-specific Pin Function Config
Descriptors on Windows IoT devices.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Christopher Co <christopher.co@microsoft.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>

Chris Co (1):
  BaseTools/tools_def: Add WINGCC49 support

 BaseTools/Conf/tools_def.template | 55 ++++++++++++++++++++
 1 file changed, 55 insertions(+)

-- 
2.7.4



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
  2018-06-19 23:26 [PATCH v1 0/1] BaseTools/tools_def: Add WINGCC49 support Chris Co
@ 2018-06-19 23:26 ` Chris Co
  2018-06-21  4:55   ` Gao, Liming
  0 siblings, 1 reply; 5+ messages in thread
From: Chris Co @ 2018-06-19 23:26 UTC (permalink / raw)
  To: edk2-devel@lists.01.org; +Cc: Yonghong Zhu, Liming Gao, Leif Lindholm

From: Chris Co <chrco@microsoft.com>

This patch adds a build option for invoking GCC49 ARM cross
compiler in the Windows environment to build firmware for
Windows 10 IoT devices using NXP i.MX6 and i.MX7 SoCs.

In addition, this build option targets the Microsoft ASL
compiler instead of iasl.  The Microsoft ASL compiler is
necessary to expose Windows-specific Pin Function Config
Descriptors on Windows IoT devices.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Christopher Co <christopher.co@microsoft.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
---
 BaseTools/Conf/tools_def.template | 55 ++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 11a79029b890..192732a677af 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -5468,6 +5468,61 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS)
 
 ####################################################################################
 #
+# WINGCC 4.9 - This configuration is used to compile under Windows to produce
+#           PE/COFF binaries using GCC 4.9.
+#
+####################################################################################
+*_WINGCC49_*_*_FAMILY               = GCC
+
+*_WINGCC49_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
+*_WINGCC49_*_*_DLL                        = ENV(GCC49_DLL)
+*_WINGCC49_*_ASL_PATH                     = asl.exe
+
+*_WINGCC49_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
+*_WINGCC49_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
+*_WINGCC49_*_ASLCC_FLAGS                  = DEF(GCC_ASLCC_FLAGS)
+*_WINGCC49_*_VFRPP_FLAGS                  = DEF(GCC_VFRPP_FLAGS)
+*_WINGCC49_*_APP_FLAGS                    =
+*_WINGCC49_*_ASL_FLAGS                    = /MsftInternal
+*_WINGCC49_*_ASL_OUTFLAGS                 = DEF(MS_ASL_OUTFLAGS)
+
+##################
+# WINGCC49 ARM definitions
+##################
+*_WINGCC49_ARM_OBJCOPY_PATH         = noop
+*_WINGCC49_ARM_CC_PATH              = ENV(WINGCC49_ARM_PREFIX)gcc
+*_WINGCC49_ARM_SLINK_PATH           = ENV(WINGCC49_ARM_PREFIX)ar
+*_WINGCC49_ARM_DLINK_PATH           = ENV(WINGCC49_ARM_PREFIX)gcc
+*_WINGCC49_ARM_ASLDLINK_PATH        = ENV(WINGCC49_ARM_PREFIX)gcc
+*_WINGCC49_ARM_ASM_PATH             = ENV(WINGCC49_ARM_PREFIX)gcc
+*_WINGCC49_ARM_PP_PATH              = ENV(WINGCC49_ARM_PREFIX)gcc
+*_WINGCC49_ARM_VFRPP_PATH           = ENV(WINGCC49_ARM_PREFIX)gcc
+*_WINGCC49_ARM_ASLCC_PATH           = ENV(WINGCC49_ARM_PREFIX)gcc
+*_WINGCC49_ARM_ASLPP_PATH           = ENV(WINGCC49_ARM_PREFIX)gcc
+*_WINGCC49_ARM_RC_PATH              = ENV(WINGCC49_ARM_PREFIX)objcopy
+*_WINGCC49_ARM_SYMRENAME_PATH       = noop
+
+*_WINGCC49_ARM_ARCHCC_FLAGS         = -mthumb
+*_WINGCC49_ARM_PLATFORM_FLAGS       = -march=armv7-a
+
+*_WINGCC49_ARM_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)
+*_WINGCC49_ARM_ASLDLINK_FLAGS       = DEF(GCC49_ARM_ASLDLINK_FLAGS)
+*_WINGCC49_ARM_ASM_FLAGS            = DEF(GCC49_ARM_ASM_FLAGS)
+*_WINGCC49_ARM_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
+*_WINGCC49_ARM_DLINK2_FLAGS         = DEF(GCC49_ARM_DLINK2_FLAGS)
+*_WINGCC49_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)
+*_WINGCC49_ARM_PLATFORM_FLAGS       = -march=armv7-a
+*_WINGCC49_ARM_PP_FLAGS             = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
+*_WINGCC49_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)
+*_WINGCC49_ARM_VFRPP_FLAGS          = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
+*_WINGCC49_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
+
+  DEBUG_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -O0
+RELEASE_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -Wno-unused-but-set-variable -Wno-unused-const-variable
+  NOOPT_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -O0
+
+####################################################################################
+#
 # GCC 5 - This configuration is used to compile under Linux to produce
 #         PE/COFF binaries using GCC 5
 #
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
  2018-06-19 23:26 ` [PATCH v1 1/1] " Chris Co
@ 2018-06-21  4:55   ` Gao, Liming
  2018-06-22  1:28     ` Chris Co
  0 siblings, 1 reply; 5+ messages in thread
From: Gao, Liming @ 2018-06-21  4:55 UTC (permalink / raw)
  To: Chris Co, edk2-devel@lists.01.org; +Cc: Zhu, Yonghong, Leif Lindholm

Chris:
  I suggest to name this tool chain as GCC49xASL and align to other ASL tool chain, such as VS2015xASL. 
  And, ASL_PATH can be set to DEF(WIN_ASL_BIN). WINGCC49_ARM_PREFIX is not required. GCC49_ARM_PREFIX can still be used. 

  Besides, please add this tool chain introduction in file header, like VS2015xASL. Then, other people can know how to set up the environment and use this tool chain. 

Thanks
Liming
>-----Original Message-----
>From: Chris Co [mailto:Christopher.Co@microsoft.com]
>Sent: Wednesday, June 20, 2018 7:27 AM
>To: edk2-devel@lists.01.org
>Cc: Zhu, Yonghong <yonghong.zhu@intel.com>; Gao, Liming
><liming.gao@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>
>Subject: [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
>
>From: Chris Co <chrco@microsoft.com>
>
>This patch adds a build option for invoking GCC49 ARM cross
>compiler in the Windows environment to build firmware for
>Windows 10 IoT devices using NXP i.MX6 and i.MX7 SoCs.
>
>In addition, this build option targets the Microsoft ASL
>compiler instead of iasl.  The Microsoft ASL compiler is
>necessary to expose Windows-specific Pin Function Config
>Descriptors on Windows IoT devices.
>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Christopher Co <christopher.co@microsoft.com>
>Cc: Yonghong Zhu <yonghong.zhu@intel.com>
>Cc: Liming Gao <liming.gao@intel.com>
>Cc: Leif Lindholm <leif.lindholm@linaro.org>
>---
> BaseTools/Conf/tools_def.template | 55 ++++++++++++++++++++
> 1 file changed, 55 insertions(+)
>
>diff --git a/BaseTools/Conf/tools_def.template
>b/BaseTools/Conf/tools_def.template
>index 11a79029b890..192732a677af 100755
>--- a/BaseTools/Conf/tools_def.template
>+++ b/BaseTools/Conf/tools_def.template
>@@ -5468,6 +5468,61 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS  =
>DEF(GCC49_AARCH64_DLINK_FLAGS)
>
>
>###########################################################
>#########################
> #
>+# WINGCC 4.9 - This configuration is used to compile under Windows to
>produce
>+#           PE/COFF binaries using GCC 4.9.
>+#
>+##########################################################
>##########################
>+*_WINGCC49_*_*_FAMILY               = GCC
>+
>+*_WINGCC49_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
>+*_WINGCC49_*_*_DLL                        = ENV(GCC49_DLL)
>+*_WINGCC49_*_ASL_PATH                     = asl.exe
>+
>+*_WINGCC49_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
>+*_WINGCC49_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
>+*_WINGCC49_*_ASLCC_FLAGS                  = DEF(GCC_ASLCC_FLAGS)
>+*_WINGCC49_*_VFRPP_FLAGS                  = DEF(GCC_VFRPP_FLAGS)
>+*_WINGCC49_*_APP_FLAGS                    =
>+*_WINGCC49_*_ASL_FLAGS                    = /MsftInternal
>+*_WINGCC49_*_ASL_OUTFLAGS                 = DEF(MS_ASL_OUTFLAGS)
>+
>+##################
>+# WINGCC49 ARM definitions
>+##################
>+*_WINGCC49_ARM_OBJCOPY_PATH         = noop
>+*_WINGCC49_ARM_CC_PATH              = ENV(WINGCC49_ARM_PREFIX)gcc
>+*_WINGCC49_ARM_SLINK_PATH           = ENV(WINGCC49_ARM_PREFIX)ar
>+*_WINGCC49_ARM_DLINK_PATH           = ENV(WINGCC49_ARM_PREFIX)gcc
>+*_WINGCC49_ARM_ASLDLINK_PATH        =
>ENV(WINGCC49_ARM_PREFIX)gcc
>+*_WINGCC49_ARM_ASM_PATH             = ENV(WINGCC49_ARM_PREFIX)gcc
>+*_WINGCC49_ARM_PP_PATH              = ENV(WINGCC49_ARM_PREFIX)gcc
>+*_WINGCC49_ARM_VFRPP_PATH           = ENV(WINGCC49_ARM_PREFIX)gcc
>+*_WINGCC49_ARM_ASLCC_PATH           = ENV(WINGCC49_ARM_PREFIX)gcc
>+*_WINGCC49_ARM_ASLPP_PATH           = ENV(WINGCC49_ARM_PREFIX)gcc
>+*_WINGCC49_ARM_RC_PATH              =
>ENV(WINGCC49_ARM_PREFIX)objcopy
>+*_WINGCC49_ARM_SYMRENAME_PATH       = noop
>+
>+*_WINGCC49_ARM_ARCHCC_FLAGS         = -mthumb
>+*_WINGCC49_ARM_PLATFORM_FLAGS       = -march=armv7-a
>+
>+*_WINGCC49_ARM_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)
>+*_WINGCC49_ARM_ASLDLINK_FLAGS       =
>DEF(GCC49_ARM_ASLDLINK_FLAGS)
>+*_WINGCC49_ARM_ASM_FLAGS            = DEF(GCC49_ARM_ASM_FLAGS)
>+*_WINGCC49_ARM_DLINK_FLAGS          = DEF(GCC49_ARM_DLINK_FLAGS)
>+*_WINGCC49_ARM_DLINK2_FLAGS         = DEF(GCC49_ARM_DLINK2_FLAGS)
>+*_WINGCC49_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)
>+*_WINGCC49_ARM_PLATFORM_FLAGS       = -march=armv7-a
>+*_WINGCC49_ARM_PP_FLAGS             = $(ARCHCC_FLAGS)
>$(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
>+*_WINGCC49_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)
>+*_WINGCC49_ARM_VFRPP_FLAGS          = $(ARCHCC_FLAGS)
>$(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
>+*_WINGCC49_ARM_CC_XIPFLAGS          = DEF(GCC49_ARM_CC_XIPFLAGS)
>+
>+  DEBUG_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -
>O0
>+RELEASE_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -
>Wno-unused-but-set-variable -Wno-unused-const-variable
>+  NOOPT_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS) -
>O0
>+
>+##########################################################
>##########################
>+#
> # GCC 5 - This configuration is used to compile under Linux to produce
> #         PE/COFF binaries using GCC 5
> #
>--
>2.7.4



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
  2018-06-21  4:55   ` Gao, Liming
@ 2018-06-22  1:28     ` Chris Co
  2018-06-22  1:56       ` Gao, Liming
  0 siblings, 1 reply; 5+ messages in thread
From: Chris Co @ 2018-06-22  1:28 UTC (permalink / raw)
  To: Gao, Liming, edk2-devel@lists.01.org; +Cc: Zhu, Yonghong, Leif Lindholm

> -----Original Message-----
> From: Gao, Liming <liming.gao@intel.com>
> Sent: Wednesday, June 20, 2018 9:56 PM
> To: Chris Co <Christopher.Co@microsoft.com>; edk2-devel@lists.01.org
> Cc: Zhu, Yonghong <yonghong.zhu@intel.com>; Leif Lindholm
> <leif.lindholm@linaro.org>
> Subject: RE: [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
> 
> Chris:
>   I suggest to name this tool chain as GCC49xASL and align to other ASL tool
> chain, such as VS2015xASL.
>   And, ASL_PATH can be set to DEF(WIN_ASL_BIN). WINGCC49_ARM_PREFIX
> is not required. GCC49_ARM_PREFIX can still be used.
> 
>   Besides, please add this tool chain introduction in file header, like
> VS2015xASL. Then, other people can know how to set up the environment
> and use this tool chain.
> 

Thanks for the feedback Liming.
Just confirming - should I still use GCC49_ARM_PREFIX?  I thought the convention was {TOOL_CHAIN_TAG}_{ARCHITECTURE}_PREFIX where TOOL_CHAIN_TAG=GCC49xASL.

> Thanks
> Liming
> >-----Original Message-----
> >From: Chris Co [mailto:Christopher.Co@microsoft.com]
> >Sent: Wednesday, June 20, 2018 7:27 AM
> >To: edk2-devel@lists.01.org
> >Cc: Zhu, Yonghong <yonghong.zhu@intel.com>; Gao, Liming
> ><liming.gao@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>
> >Subject: [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
> >
> >From: Chris Co <chrco@microsoft.com>
> >
> >This patch adds a build option for invoking GCC49 ARM cross compiler in
> >the Windows environment to build firmware for Windows 10 IoT devices
> >using NXP i.MX6 and i.MX7 SoCs.
> >
> >In addition, this build option targets the Microsoft ASL compiler
> >instead of iasl.  The Microsoft ASL compiler is necessary to expose
> >Windows-specific Pin Function Config Descriptors on Windows IoT
> >devices.
> >
> >Contributed-under: TianoCore Contribution Agreement 1.1
> >Signed-off-by: Christopher Co <christopher.co@microsoft.com>
> >Cc: Yonghong Zhu <yonghong.zhu@intel.com>
> >Cc: Liming Gao <liming.gao@intel.com>
> >Cc: Leif Lindholm <leif.lindholm@linaro.org>
> >---
> > BaseTools/Conf/tools_def.template | 55 ++++++++++++++++++++
> > 1 file changed, 55 insertions(+)
> >
> >diff --git a/BaseTools/Conf/tools_def.template
> >b/BaseTools/Conf/tools_def.template
> >index 11a79029b890..192732a677af 100755
> >--- a/BaseTools/Conf/tools_def.template
> >+++ b/BaseTools/Conf/tools_def.template
> >@@ -5468,6 +5468,61 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS  =
> >DEF(GCC49_AARCH64_DLINK_FLAGS)
> >
> >
> >#########################################################
> ##
> >#########################
> > #
> >+# WINGCC 4.9 - This configuration is used to compile under Windows to
> >produce
> >+#           PE/COFF binaries using GCC 4.9.
> >+#
> >+########################################################
> ##
> >##########################
> >+*_WINGCC49_*_*_FAMILY               = GCC
> >+
> >+*_WINGCC49_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
> >+*_WINGCC49_*_*_DLL                        = ENV(GCC49_DLL)
> >+*_WINGCC49_*_ASL_PATH                     = asl.exe
> >+
> >+*_WINGCC49_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
> >+*_WINGCC49_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
> >+*_WINGCC49_*_ASLCC_FLAGS                  = DEF(GCC_ASLCC_FLAGS)
> >+*_WINGCC49_*_VFRPP_FLAGS                  = DEF(GCC_VFRPP_FLAGS)
> >+*_WINGCC49_*_APP_FLAGS                    =
> >+*_WINGCC49_*_ASL_FLAGS                    = /MsftInternal
> >+*_WINGCC49_*_ASL_OUTFLAGS                 = DEF(MS_ASL_OUTFLAGS)
> >+
> >+##################
> >+# WINGCC49 ARM definitions
> >+##################
> >+*_WINGCC49_ARM_OBJCOPY_PATH         = noop
> >+*_WINGCC49_ARM_CC_PATH              = ENV(WINGCC49_ARM_PREFIX)gcc
> >+*_WINGCC49_ARM_SLINK_PATH           = ENV(WINGCC49_ARM_PREFIX)ar
> >+*_WINGCC49_ARM_DLINK_PATH           =
> ENV(WINGCC49_ARM_PREFIX)gcc
> >+*_WINGCC49_ARM_ASLDLINK_PATH        =
> >ENV(WINGCC49_ARM_PREFIX)gcc
> >+*_WINGCC49_ARM_ASM_PATH             =
> ENV(WINGCC49_ARM_PREFIX)gcc
> >+*_WINGCC49_ARM_PP_PATH              = ENV(WINGCC49_ARM_PREFIX)gcc
> >+*_WINGCC49_ARM_VFRPP_PATH           =
> ENV(WINGCC49_ARM_PREFIX)gcc
> >+*_WINGCC49_ARM_ASLCC_PATH           =
> ENV(WINGCC49_ARM_PREFIX)gcc
> >+*_WINGCC49_ARM_ASLPP_PATH           =
> ENV(WINGCC49_ARM_PREFIX)gcc
> >+*_WINGCC49_ARM_RC_PATH              =
> >ENV(WINGCC49_ARM_PREFIX)objcopy
> >+*_WINGCC49_ARM_SYMRENAME_PATH       = noop
> >+
> >+*_WINGCC49_ARM_ARCHCC_FLAGS         = -mthumb
> >+*_WINGCC49_ARM_PLATFORM_FLAGS       = -march=armv7-a
> >+
> >+*_WINGCC49_ARM_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)
> >+*_WINGCC49_ARM_ASLDLINK_FLAGS       =
> >DEF(GCC49_ARM_ASLDLINK_FLAGS)
> >+*_WINGCC49_ARM_ASM_FLAGS            = DEF(GCC49_ARM_ASM_FLAGS)
> >+*_WINGCC49_ARM_DLINK_FLAGS          =
> DEF(GCC49_ARM_DLINK_FLAGS)
> >+*_WINGCC49_ARM_DLINK2_FLAGS         =
> DEF(GCC49_ARM_DLINK2_FLAGS)
> >+*_WINGCC49_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)
> >+*_WINGCC49_ARM_PLATFORM_FLAGS       = -march=armv7-a
> >+*_WINGCC49_ARM_PP_FLAGS             = $(ARCHCC_FLAGS)
> >$(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
> >+*_WINGCC49_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)
> >+*_WINGCC49_ARM_VFRPP_FLAGS          = $(ARCHCC_FLAGS)
> >$(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
> >+*_WINGCC49_ARM_CC_XIPFLAGS          =
> DEF(GCC49_ARM_CC_XIPFLAGS)
> >+
> >+  DEBUG_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS)
> -
> >O0
> >+RELEASE_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS)
> -
> >Wno-unused-but-set-variable -Wno-unused-const-variable
> >+  NOOPT_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS)
> -
> >O0
> >+
> >+########################################################
> ##
> >##########################
> >+#
> > # GCC 5 - This configuration is used to compile under Linux to produce
> > #         PE/COFF binaries using GCC 5
> > #
> >--
> >2.7.4



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
  2018-06-22  1:28     ` Chris Co
@ 2018-06-22  1:56       ` Gao, Liming
  0 siblings, 0 replies; 5+ messages in thread
From: Gao, Liming @ 2018-06-22  1:56 UTC (permalink / raw)
  To: Chris Co, edk2-devel@lists.01.org; +Cc: Zhu, Yonghong, Leif Lindholm

Yes. GCC49_ARM_PREFIX can be reused. The difference in GCC49 and GCC49xASL is ASL compiler. Their GCC part is same. 

> -----Original Message-----
> From: Chris Co [mailto:Christopher.Co@microsoft.com]
> Sent: Friday, June 22, 2018 9:28 AM
> To: Gao, Liming <liming.gao@intel.com>; edk2-devel@lists.01.org
> Cc: Zhu, Yonghong <yonghong.zhu@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>
> Subject: RE: [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
> 
> > -----Original Message-----
> > From: Gao, Liming <liming.gao@intel.com>
> > Sent: Wednesday, June 20, 2018 9:56 PM
> > To: Chris Co <Christopher.Co@microsoft.com>; edk2-devel@lists.01.org
> > Cc: Zhu, Yonghong <yonghong.zhu@intel.com>; Leif Lindholm
> > <leif.lindholm@linaro.org>
> > Subject: RE: [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
> >
> > Chris:
> >   I suggest to name this tool chain as GCC49xASL and align to other ASL tool
> > chain, such as VS2015xASL.
> >   And, ASL_PATH can be set to DEF(WIN_ASL_BIN). WINGCC49_ARM_PREFIX
> > is not required. GCC49_ARM_PREFIX can still be used.
> >
> >   Besides, please add this tool chain introduction in file header, like
> > VS2015xASL. Then, other people can know how to set up the environment
> > and use this tool chain.
> >
> 
> Thanks for the feedback Liming.
> Just confirming - should I still use GCC49_ARM_PREFIX?  I thought the convention was {TOOL_CHAIN_TAG}_{ARCHITECTURE}_PREFIX
> where TOOL_CHAIN_TAG=GCC49xASL.
> 
> > Thanks
> > Liming
> > >-----Original Message-----
> > >From: Chris Co [mailto:Christopher.Co@microsoft.com]
> > >Sent: Wednesday, June 20, 2018 7:27 AM
> > >To: edk2-devel@lists.01.org
> > >Cc: Zhu, Yonghong <yonghong.zhu@intel.com>; Gao, Liming
> > ><liming.gao@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>
> > >Subject: [PATCH v1 1/1] BaseTools/tools_def: Add WINGCC49 support
> > >
> > >From: Chris Co <chrco@microsoft.com>
> > >
> > >This patch adds a build option for invoking GCC49 ARM cross compiler in
> > >the Windows environment to build firmware for Windows 10 IoT devices
> > >using NXP i.MX6 and i.MX7 SoCs.
> > >
> > >In addition, this build option targets the Microsoft ASL compiler
> > >instead of iasl.  The Microsoft ASL compiler is necessary to expose
> > >Windows-specific Pin Function Config Descriptors on Windows IoT
> > >devices.
> > >
> > >Contributed-under: TianoCore Contribution Agreement 1.1
> > >Signed-off-by: Christopher Co <christopher.co@microsoft.com>
> > >Cc: Yonghong Zhu <yonghong.zhu@intel.com>
> > >Cc: Liming Gao <liming.gao@intel.com>
> > >Cc: Leif Lindholm <leif.lindholm@linaro.org>
> > >---
> > > BaseTools/Conf/tools_def.template | 55 ++++++++++++++++++++
> > > 1 file changed, 55 insertions(+)
> > >
> > >diff --git a/BaseTools/Conf/tools_def.template
> > >b/BaseTools/Conf/tools_def.template
> > >index 11a79029b890..192732a677af 100755
> > >--- a/BaseTools/Conf/tools_def.template
> > >+++ b/BaseTools/Conf/tools_def.template
> > >@@ -5468,6 +5468,61 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS  =
> > >DEF(GCC49_AARCH64_DLINK_FLAGS)
> > >
> > >
> > >#########################################################
> > ##
> > >#########################
> > > #
> > >+# WINGCC 4.9 - This configuration is used to compile under Windows to
> > >produce
> > >+#           PE/COFF binaries using GCC 4.9.
> > >+#
> > >+########################################################
> > ##
> > >##########################
> > >+*_WINGCC49_*_*_FAMILY               = GCC
> > >+
> > >+*_WINGCC49_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
> > >+*_WINGCC49_*_*_DLL                        = ENV(GCC49_DLL)
> > >+*_WINGCC49_*_ASL_PATH                     = asl.exe
> > >+
> > >+*_WINGCC49_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
> > >+*_WINGCC49_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
> > >+*_WINGCC49_*_ASLCC_FLAGS                  = DEF(GCC_ASLCC_FLAGS)
> > >+*_WINGCC49_*_VFRPP_FLAGS                  = DEF(GCC_VFRPP_FLAGS)
> > >+*_WINGCC49_*_APP_FLAGS                    =
> > >+*_WINGCC49_*_ASL_FLAGS                    = /MsftInternal
> > >+*_WINGCC49_*_ASL_OUTFLAGS                 = DEF(MS_ASL_OUTFLAGS)
> > >+
> > >+##################
> > >+# WINGCC49 ARM definitions
> > >+##################
> > >+*_WINGCC49_ARM_OBJCOPY_PATH         = noop
> > >+*_WINGCC49_ARM_CC_PATH              = ENV(WINGCC49_ARM_PREFIX)gcc
> > >+*_WINGCC49_ARM_SLINK_PATH           = ENV(WINGCC49_ARM_PREFIX)ar
> > >+*_WINGCC49_ARM_DLINK_PATH           =
> > ENV(WINGCC49_ARM_PREFIX)gcc
> > >+*_WINGCC49_ARM_ASLDLINK_PATH        =
> > >ENV(WINGCC49_ARM_PREFIX)gcc
> > >+*_WINGCC49_ARM_ASM_PATH             =
> > ENV(WINGCC49_ARM_PREFIX)gcc
> > >+*_WINGCC49_ARM_PP_PATH              = ENV(WINGCC49_ARM_PREFIX)gcc
> > >+*_WINGCC49_ARM_VFRPP_PATH           =
> > ENV(WINGCC49_ARM_PREFIX)gcc
> > >+*_WINGCC49_ARM_ASLCC_PATH           =
> > ENV(WINGCC49_ARM_PREFIX)gcc
> > >+*_WINGCC49_ARM_ASLPP_PATH           =
> > ENV(WINGCC49_ARM_PREFIX)gcc
> > >+*_WINGCC49_ARM_RC_PATH              =
> > >ENV(WINGCC49_ARM_PREFIX)objcopy
> > >+*_WINGCC49_ARM_SYMRENAME_PATH       = noop
> > >+
> > >+*_WINGCC49_ARM_ARCHCC_FLAGS         = -mthumb
> > >+*_WINGCC49_ARM_PLATFORM_FLAGS       = -march=armv7-a
> > >+
> > >+*_WINGCC49_ARM_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)
> > >+*_WINGCC49_ARM_ASLDLINK_FLAGS       =
> > >DEF(GCC49_ARM_ASLDLINK_FLAGS)
> > >+*_WINGCC49_ARM_ASM_FLAGS            = DEF(GCC49_ARM_ASM_FLAGS)
> > >+*_WINGCC49_ARM_DLINK_FLAGS          =
> > DEF(GCC49_ARM_DLINK_FLAGS)
> > >+*_WINGCC49_ARM_DLINK2_FLAGS         =
> > DEF(GCC49_ARM_DLINK2_FLAGS)
> > >+*_WINGCC49_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)
> > >+*_WINGCC49_ARM_PLATFORM_FLAGS       = -march=armv7-a
> > >+*_WINGCC49_ARM_PP_FLAGS             = $(ARCHCC_FLAGS)
> > >$(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
> > >+*_WINGCC49_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)
> > >+*_WINGCC49_ARM_VFRPP_FLAGS          = $(ARCHCC_FLAGS)
> > >$(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
> > >+*_WINGCC49_ARM_CC_XIPFLAGS          =
> > DEF(GCC49_ARM_CC_XIPFLAGS)
> > >+
> > >+  DEBUG_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS)
> > -
> > >O0
> > >+RELEASE_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS)
> > -
> > >Wno-unused-but-set-variable -Wno-unused-const-variable
> > >+  NOOPT_WINGCC49_ARM_CC_FLAGS       = DEF(GCC49_ARM_CC_FLAGS)
> > -
> > >O0
> > >+
> > >+########################################################
> > ##
> > >##########################
> > >+#
> > > # GCC 5 - This configuration is used to compile under Linux to produce
> > > #         PE/COFF binaries using GCC 5
> > > #
> > >--
> > >2.7.4



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-06-22  1:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-19 23:26 [PATCH v1 0/1] BaseTools/tools_def: Add WINGCC49 support Chris Co
2018-06-19 23:26 ` [PATCH v1 1/1] " Chris Co
2018-06-21  4:55   ` Gao, Liming
2018-06-22  1:28     ` Chris Co
2018-06-22  1:56       ` Gao, Liming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox