diff options
author | Noam Camus <noamc@ezchip.com> | 2014-04-01 06:25:47 +0000 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-04-06 14:16:06 +0200 |
commit | 65c2400ff251397db930e90c65c51d714d00fa96 (patch) | |
tree | 67f6ac6719052624876a1a02dcd9f8a9ff76536d | |
parent | fb8774327ad06e8f59faf4da4ab40ffffd39d1dd (diff) | |
download | buildroot-65c2400ff251397db930e90c65c51d714d00fa96.tar.gz buildroot-65c2400ff251397db930e90c65c51d714d00fa96.zip |
toolchain: control vendor part in GNU_TARGET_NAME
This option allows to customize the "vendor" part of the
toolchain tuple, where the toolchain tuple has the form
<arch>-<vendor>-<os>-<libc>. Use this option in situations
where gcc might make different decisions based on the vendor
part of the tuple.
[Thomas: move the config option in a slightly different place, so that
it does not appear between the C library selection and the C library
options.]
Signed-off-by: "Noam Camus" <noamc@ezchip.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r-- | package/Makefile.in | 17 | ||||
-rw-r--r-- | toolchain/toolchain-buildroot/Config.in | 17 |
2 files changed, 33 insertions, 1 deletions
diff --git a/package/Makefile.in b/package/Makefile.in index 1f5cbcd186..0830cd5db9 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -20,8 +20,23 @@ endif MAKE1:=$(HOSTMAKE) -j1 MAKE:=$(HOSTMAKE) $(if $(PARALLEL_JOBS),-j$(PARALLEL_JOBS)) +ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) +TARGET_VENDOR = $(call qstrip,$(BR2_TOOLCHAIN_BUILDROOT_VENDOR)) +else +TARGET_VENDOR = buildroot +endif + +# Sanity checks +ifeq ($(TARGET_VENDOR),) +$(error BR2_TOOLCHAIN_BUILDROOT_VENDOR is not allowed to be empty) +endif +ifeq ($(TARGET_VENDOR),unknown) +$(error BR2_TOOLCHAIN_BUILDROOT_VENDOR cannot be 'unknown'. \ + It might be confused with the native toolchain) +endif + # Compute GNU_TARGET_NAME -GNU_TARGET_NAME=$(ARCH)-buildroot-$(TARGET_OS)-$(LIBC)$(ABI) +GNU_TARGET_NAME=$(ARCH)-$(TARGET_VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI) # Blackfin FLAT needs uclinux ifeq ($(BR2_bfin)$(BR2_BINFMT_FLAT),yy) diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in index 07db50bfcb..42166d2633 100644 --- a/toolchain/toolchain-buildroot/Config.in +++ b/toolchain/toolchain-buildroot/Config.in @@ -1,6 +1,23 @@ # Config entries for internal toolchain backend if BR2_TOOLCHAIN_BUILDROOT + +config BR2_TOOLCHAIN_BUILDROOT_VENDOR + string "custom toolchain vendor name" + default "buildroot" + help + This option allows to customize the "vendor" part of the + toolchain tuple, where the toolchain tuple has the form + <arch>-<vendor>-<os>-<libc>. The default value, "buildroot", + is fine for most cases, except in very specific situations + where gcc might make different decisions based on the vendor + part of the tuple. The value "unknown" is not allowed, as the + cross-compiling toolchain might then be confused with the + native toolchain when the target and host architecture are + identical. The value can not be empty either. + + If you're not sure, just leave the default "buildroot" value. + source "package/linux-headers/Config.in.host" choice |