From bc7c62de6d2b9fbd6cc024a036494107e8c19f6f Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 26 May 2015 09:48:24 -0700 Subject: [PATCH] mk: Ensure LINK_$(1) is defined for all targets The changes scaled back in 4cc025d8 were a little too aggressive and broke a bunch of cross compilations by not defining the `LINK_$(1)` variable for all targets. This commit ensures that the variable is defined for all targets by defaulting it to the normal compiler if it's not already defined (it's only defined specially for MSVC). Closes #25723 --- mk/cfg/aarch64-linux-android.mk | 1 - mk/cfg/aarch64-unknown-linux-gnu.mk | 1 - mk/cfg/arm-linux-androideabi.mk | 1 - mk/cfg/i686-apple-darwin.mk | 1 - mk/cfg/i686-unknown-linux-gnu.mk | 1 - mk/cfg/x86_64-apple-darwin.mk | 1 - mk/cfg/x86_64-pc-windows-gnu.mk | 1 - mk/cfg/x86_64-unknown-linux-gnu.mk | 1 - mk/platform.mk | 9 +++++++++ 9 files changed, 9 insertions(+), 8 deletions(-) diff --git a/mk/cfg/aarch64-linux-android.mk b/mk/cfg/aarch64-linux-android.mk index 9e0245e093d8..d7a1405c3d0a 100644 --- a/mk/cfg/aarch64-linux-android.mk +++ b/mk/cfg/aarch64-linux-android.mk @@ -1,7 +1,6 @@ # aarch64-linux-android configuration # CROSS_PREFIX_aarch64-linux-android- CC_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc -LINK_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc CXX_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-g++ CPP_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-gcc -E AR_aarch64-linux-android=$(CFG_ANDROID_CROSS_PATH)/bin/aarch64-linux-android-ar diff --git a/mk/cfg/aarch64-unknown-linux-gnu.mk b/mk/cfg/aarch64-unknown-linux-gnu.mk index 88d7700db820..6637423e4951 100644 --- a/mk/cfg/aarch64-unknown-linux-gnu.mk +++ b/mk/cfg/aarch64-unknown-linux-gnu.mk @@ -1,7 +1,6 @@ # aarch64-unknown-linux-gnu configuration CROSS_PREFIX_aarch64-unknown-linux-gnu=aarch64-linux-gnu- CC_aarch64-unknown-linux-gnu=gcc -LINK_aarch64-unknown-linux-gnu=gcc CXX_aarch64-unknown-linux-gnu=g++ CPP_aarch64-unknown-linux-gnu=gcc -E AR_aarch64-unknown-linux-gnu=ar diff --git a/mk/cfg/arm-linux-androideabi.mk b/mk/cfg/arm-linux-androideabi.mk index a66f70f6305e..fdd38ba75fe5 100644 --- a/mk/cfg/arm-linux-androideabi.mk +++ b/mk/cfg/arm-linux-androideabi.mk @@ -1,5 +1,4 @@ # arm-linux-androideabi configuration -LINK_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc CC_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc CXX_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-g++ CPP_arm-linux-androideabi=$(CFG_ANDROID_CROSS_PATH)/bin/arm-linux-androideabi-gcc -E diff --git a/mk/cfg/i686-apple-darwin.mk b/mk/cfg/i686-apple-darwin.mk index 25b692449aa2..7ebb492bb21f 100644 --- a/mk/cfg/i686-apple-darwin.mk +++ b/mk/cfg/i686-apple-darwin.mk @@ -1,6 +1,5 @@ # i686-apple-darwin configuration CC_i686-apple-darwin=$(CC) -LINK_i686-apple-darwin=cc CXX_i686-apple-darwin=$(CXX) CPP_i686-apple-darwin=$(CPP) AR_i686-apple-darwin=$(AR) diff --git a/mk/cfg/i686-unknown-linux-gnu.mk b/mk/cfg/i686-unknown-linux-gnu.mk index 1c5de9a2c05e..88c0907f63b2 100644 --- a/mk/cfg/i686-unknown-linux-gnu.mk +++ b/mk/cfg/i686-unknown-linux-gnu.mk @@ -1,6 +1,5 @@ # i686-unknown-linux-gnu configuration CC_i686-unknown-linux-gnu=$(CC) -LINK_i686-unknown-linux-gnu=cc CXX_i686-unknown-linux-gnu=$(CXX) CPP_i686-unknown-linux-gnu=$(CPP) AR_i686-unknown-linux-gnu=$(AR) diff --git a/mk/cfg/x86_64-apple-darwin.mk b/mk/cfg/x86_64-apple-darwin.mk index 9d3361b7fc63..4c68d3dcf37b 100644 --- a/mk/cfg/x86_64-apple-darwin.mk +++ b/mk/cfg/x86_64-apple-darwin.mk @@ -1,6 +1,5 @@ # x86_64-apple-darwin configuration CC_x86_64-apple-darwin=$(CC) -LINK_x86_64-apple-darwin=cc CXX_x86_64-apple-darwin=$(CXX) CPP_x86_64-apple-darwin=$(CPP) AR_x86_64-apple-darwin=$(AR) diff --git a/mk/cfg/x86_64-pc-windows-gnu.mk b/mk/cfg/x86_64-pc-windows-gnu.mk index 10aaf137e8b3..4118ea26c072 100644 --- a/mk/cfg/x86_64-pc-windows-gnu.mk +++ b/mk/cfg/x86_64-pc-windows-gnu.mk @@ -1,7 +1,6 @@ # x86_64-pc-windows-gnu configuration CROSS_PREFIX_x86_64-pc-windows-gnu=x86_64-w64-mingw32- CC_x86_64-pc-windows-gnu=gcc -LINK_x86_64-pc-windows-gnu=gcc CXX_x86_64-pc-windows-gnu=g++ CPP_x86_64-pc-windows-gnu=gcc -E AR_x86_64-pc-windows-gnu=ar diff --git a/mk/cfg/x86_64-unknown-linux-gnu.mk b/mk/cfg/x86_64-unknown-linux-gnu.mk index 1735d1eb3f79..044c687c9fc4 100644 --- a/mk/cfg/x86_64-unknown-linux-gnu.mk +++ b/mk/cfg/x86_64-unknown-linux-gnu.mk @@ -1,6 +1,5 @@ # x86_64-unknown-linux-gnu configuration CC_x86_64-unknown-linux-gnu=$(CC) -LINK_x86_64-unknown-linux-gnu=cc CXX_x86_64-unknown-linux-gnu=$(CXX) CPP_x86_64-unknown-linux-gnu=$(CPP) AR_x86_64-unknown-linux-gnu=$(AR) diff --git a/mk/platform.mk b/mk/platform.mk index 26a6db1c5bd1..8a5e58c46f67 100644 --- a/mk/platform.mk +++ b/mk/platform.mk @@ -120,6 +120,15 @@ endef $(foreach target,$(CFG_TARGET), \ $(eval $(call ADD_INSTALLED_OBJECTS,$(target)))) +define DEFINE_LINKER + ifndef LINK_$(1) + LINK_$(1) := $$(CC_$(1)) + endif +endef + +$(foreach target,$(CFG_TARGET), \ + $(eval $(call DEFINE_LINKER,$(target)))) + # The -Qunused-arguments sidesteps spurious warnings from clang define FILTER_FLAGS ifeq ($$(CFG_USING_CLANG),1)