[edk2] [Patch] BaseTools: Separate HOST and PREFIX env for GCC tool chain

Liming Gao posted 1 patch 5 years, 12 months ago
Failed in applying to current master (apply log)
BaseTools/Conf/tools_def.template | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
[edk2] [Patch] BaseTools: Separate HOST and PREFIX env for GCC tool chain
Posted by Liming Gao 5 years, 12 months ago
The crossing GCC compiler may use the different path for make and gcc tool.
So, GCC_HOST_BIN is introduced for make path. GCC5_BIN is still kept for
gcc path. User needs to set GCC_HOST_BIN besides set GCC5_BIN env if
the default make and gcc is not used.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
---
 BaseTools/Conf/tools_def.template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 5da229a..48a38e1 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -209,6 +209,7 @@ DEFINE GCC49_X64_PREFIX        = ENV(GCC49_BIN)
 
 DEFINE GCC5_IA32_PREFIX        = ENV(GCC5_BIN)
 DEFINE GCC5_X64_PREFIX         = ENV(GCC5_BIN)
+DEFINE GCC_HOST_PREFIX         = ENV(GCC_HOST_BIN)
 
 DEFINE UNIX_IASL_BIN           = ENV(IASL_PREFIX)iasl
 DEFINE WIN_IASL_BIN            = ENV(IASL_PREFIX)iasl.exe
@@ -4788,7 +4789,7 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 ####################################################################################
 *_GCC44_*_*_FAMILY               = GCC
 
-*_GCC44_*_MAKE_PATH                    = DEF(GCC44_IA32_PREFIX)make
+*_GCC44_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC44_*_*_DLL                        = ENV(GCC44_DLL)
 *_GCC44_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -4864,7 +4865,7 @@ RELEASE_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -Os
 ####################################################################################
 *_GCC45_*_*_FAMILY               = GCC
 
-*_GCC45_*_MAKE_PATH                    = DEF(GCC45_IA32_PREFIX)make
+*_GCC45_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC45_*_*_DLL                        = ENV(GCC45_DLL)
 *_GCC45_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -4940,7 +4941,7 @@ RELEASE_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os
 ####################################################################################
 *_GCC46_*_*_FAMILY               = GCC
 
-*_GCC46_*_MAKE_PATH                    = DEF(GCC46_IA32_PREFIX)make
+*_GCC46_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC46_*_*_DLL                        = ENV(GCC46_DLL)
 *_GCC46_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -5050,7 +5051,7 @@ RELEASE_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-v
 ####################################################################################
 *_GCC47_*_*_FAMILY               = GCC
 
-*_GCC47_*_MAKE_PATH                    = DEF(GCC47_IA32_PREFIX)make
+*_GCC47_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC47_*_*_DLL                        = ENV(GCC47_DLL)
 *_GCC47_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -5189,7 +5190,7 @@ RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-s
 ####################################################################################
 *_GCC48_*_*_FAMILY               = GCC
 
-*_GCC48_*_MAKE_PATH                    = DEF(GCC48_IA32_PREFIX)make
+*_GCC48_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC48_*_*_DLL                        = ENV(GCC48_DLL)
 *_GCC48_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -5328,7 +5329,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
 ####################################################################################
 *_GCC49_*_*_FAMILY               = GCC
 
-*_GCC49_*_MAKE_PATH                    = DEF(GCC49_IA32_PREFIX)make
+*_GCC49_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC49_*_*_DLL                        = ENV(GCC49_DLL)
 *_GCC49_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -5473,7 +5474,7 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS)
 ####################################################################################
 *_GCC5_*_*_FAMILY                = GCC
 
-*_GCC5_*_MAKE_PATH               = DEF(GCC5_IA32_PREFIX)make
+*_GCC5_*_MAKE_PATH               = DEF(GCC_HOST_PREFIX)make
 *_GCC5_*_*_DLL                   = ENV(GCC5_DLL)
 *_GCC5_*_ASL_PATH                = DEF(UNIX_IASL_BIN)
 
-- 
2.8.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [Patch] BaseTools: Separate HOST and PREFIX env for GCC tool chain
Posted by Zhu, Yonghong 5 years, 11 months ago
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> 

Best Regards,
Zhu Yonghong


-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Liming Gao
Sent: Wednesday, April 25, 2018 6:12 PM
To: edk2-devel@lists.01.org
Subject: [edk2] [Patch] BaseTools: Separate HOST and PREFIX env for GCC tool chain

The crossing GCC compiler may use the different path for make and gcc tool.
So, GCC_HOST_BIN is introduced for make path. GCC5_BIN is still kept for gcc path. User needs to set GCC_HOST_BIN besides set GCC5_BIN env if the default make and gcc is not used.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
---
 BaseTools/Conf/tools_def.template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 5da229a..48a38e1 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -209,6 +209,7 @@ DEFINE GCC49_X64_PREFIX        = ENV(GCC49_BIN)
 
 DEFINE GCC5_IA32_PREFIX        = ENV(GCC5_BIN)
 DEFINE GCC5_X64_PREFIX         = ENV(GCC5_BIN)
+DEFINE GCC_HOST_PREFIX         = ENV(GCC_HOST_BIN)
 
 DEFINE UNIX_IASL_BIN           = ENV(IASL_PREFIX)iasl
 DEFINE WIN_IASL_BIN            = ENV(IASL_PREFIX)iasl.exe
@@ -4788,7 +4789,7 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 ####################################################################################
 *_GCC44_*_*_FAMILY               = GCC
 
-*_GCC44_*_MAKE_PATH                    = DEF(GCC44_IA32_PREFIX)make
+*_GCC44_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC44_*_*_DLL                        = ENV(GCC44_DLL)
 *_GCC44_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -4864,7 +4865,7 @@ RELEASE_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -Os
 ####################################################################################
 *_GCC45_*_*_FAMILY               = GCC
 
-*_GCC45_*_MAKE_PATH                    = DEF(GCC45_IA32_PREFIX)make
+*_GCC45_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC45_*_*_DLL                        = ENV(GCC45_DLL)
 *_GCC45_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -4940,7 +4941,7 @@ RELEASE_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os
 ####################################################################################
 *_GCC46_*_*_FAMILY               = GCC
 
-*_GCC46_*_MAKE_PATH                    = DEF(GCC46_IA32_PREFIX)make
+*_GCC46_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC46_*_*_DLL                        = ENV(GCC46_DLL)
 *_GCC46_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -5050,7 +5051,7 @@ RELEASE_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-v
 ####################################################################################
 *_GCC47_*_*_FAMILY               = GCC
 
-*_GCC47_*_MAKE_PATH                    = DEF(GCC47_IA32_PREFIX)make
+*_GCC47_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC47_*_*_DLL                        = ENV(GCC47_DLL)
 *_GCC47_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -5189,7 +5190,7 @@ RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-s
 ####################################################################################
 *_GCC48_*_*_FAMILY               = GCC
 
-*_GCC48_*_MAKE_PATH                    = DEF(GCC48_IA32_PREFIX)make
+*_GCC48_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC48_*_*_DLL                        = ENV(GCC48_DLL)
 *_GCC48_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -5328,7 +5329,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
 ####################################################################################
 *_GCC49_*_*_FAMILY               = GCC
 
-*_GCC49_*_MAKE_PATH                    = DEF(GCC49_IA32_PREFIX)make
+*_GCC49_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
 *_GCC49_*_*_DLL                        = ENV(GCC49_DLL)
 *_GCC49_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
 
@@ -5473,7 +5474,7 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS  = DEF(GCC49_AARCH64_DLINK_FLAGS)  ####################################################################################
 *_GCC5_*_*_FAMILY                = GCC
 
-*_GCC5_*_MAKE_PATH               = DEF(GCC5_IA32_PREFIX)make
+*_GCC5_*_MAKE_PATH               = DEF(GCC_HOST_PREFIX)make
 *_GCC5_*_*_DLL                   = ENV(GCC5_DLL)
 *_GCC5_*_ASL_PATH                = DEF(UNIX_IASL_BIN)
 
--
2.8.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel