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 9e0245e093d8a..d7a1405c3d0a8 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 88d7700db820f..6637423e4951a 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 a66f70f6305ed..fdd38ba75fe58 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 25b692449aa29..7ebb492bb21fe 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 1c5de9a2c05e6..88c0907f63b2a 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 9d3361b7fc638..4c68d3dcf37b4 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 10aaf137e8b3a..4118ea26c072b 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 1735d1eb3f798..044c687c9fc4c 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 26a6db1c5bd1a..8a5e58c46f676 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)