summary refs log tree commit diff
path: root/scripts/Kbuild.include
diff options
context:
space:
mode:
authorSam Ravnborg <sam@neptun.(none)>2007-10-19 21:46:01 +0200
committerSam Ravnborg <sam@neptun.(none)>2007-10-19 21:46:01 +0200
commit910b40468a9ce3f2f5d48c5d260329c27d45adb5 (patch)
tree7c6957b94da9c9358839cde3f1ed6c827aac63a7 /scripts/Kbuild.include
parent50a8ec31c3a00594ceb7c5f1dcf2ecdaf6a5b847 (diff)
downloadlinux-910b40468a9ce3f2f5d48c5d260329c27d45adb5.tar.gz
kbuild: introduce cc-cross-prefix
cc-cross-prefix is useful for the architecture that like
to provide a default CROSS_COMPILE value,
but may have several to select between.

Sample usage:

ifneq ($(SUBARCH),$(ARCH))
        ifeq ($(CROSS_COMPILE),)
               CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-)
        endif
endif

Actual usage by the different archs will taken care of later.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/Kbuild.include')
-rw-r--r--scripts/Kbuild.include11
1 files changed, 11 insertions, 0 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index de7bb284c611..b96ea8d6a5ed 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -56,6 +56,17 @@ endef
 # gcc support functions
 # See documentation in Documentation/kbuild/makefiles.txt
 
+# cc-cross-prefix
+# Usage: CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-)
+# Return first prefix where a prefix$(CC) is found in PATH.
+# If no $(CC) found in PATH with listed prefixes return nothing
+cc-cross-prefix =  \
+	$(word 1, $(foreach c,$(1),                                   \
+		$(shell set -e;                                       \
+		if (which $(strip $(c))$(CC)) > /dev/null 2>&1 ; then \
+			echo $(c);                                    \
+		fi)))
+
 # output directory for tests below
 TMPOUT := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/)