2010-07-28 00:08:16 +02:00
|
|
|
# Config entries for internal toolchain backend
|
2008-12-15 16:28:48 +01:00
|
|
|
|
2009-12-14 12:10:12 +01:00
|
|
|
if BR2_TOOLCHAIN_BUILDROOT
|
2014-04-01 08:25:47 +02:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2013-06-30 21:28:58 +02:00
|
|
|
source "package/linux-headers/Config.in.host"
|
2013-06-30 21:29:12 +02:00
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "C library"
|
2014-05-06 12:42:44 +02:00
|
|
|
default BR2_TOOLCHAIN_UCLIBC
|
2015-03-18 10:49:48 +01:00
|
|
|
default BR2_TOOLCHAIN_BUILDROOT_GLIBC if BR2_aarch64 || BR2_aarch64_be \
|
2015-08-11 07:22:05 +02:00
|
|
|
|| BR2_microblaze || BR2_powerpc64
|
2013-06-30 21:29:12 +02:00
|
|
|
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|
|
|
|
bool "uClibc"
|
|
|
|
select BR2_TOOLCHAIN_USES_UCLIBC
|
2013-12-05 18:20:56 +01:00
|
|
|
depends on BR2_arcle || BR2_arceb || BR2_arm || BR2_armeb || \
|
2015-02-14 10:23:08 +01:00
|
|
|
BR2_bfin || BR2_i386 || BR2_m68k || \
|
2013-12-05 18:20:56 +01:00
|
|
|
BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
|
sh4: fix toolchain creation
The Linux kernel does force compile with -m4-nofpu, which is only
available when building a multilib toolchain.
The interesting part here is, that buildroot use --disable-multilib for
gcc configure, but enables --with-multilib-list=m4,m4-nofpu in
the default configuration for Qemu targeting r2d emulation.
This results in a toolchain, which can be used for the kernel and
for userland without creating a multilib toolchain with different
kinds of libgcc version. In the multilib case there would be
subdirectories created (!m4 and m4-nofpu). As buildroot uses a
short version of toolchain creation, a multilib enabled gcc build
fails when creating libgcc.
So the best solution is to just keep multilib disabled, but always
add --with-multilib-list when sh4/sh4eb/sh4a/sh4aeb is choosen.
Tested with sh4/sh4a toolchain build and qemu defconfig with
gcc 4.8.x/4.9.x (with and without C++ enabled), uClibc and glibc.
Disable sh4a/sh4aeb for uClibc, as it does not implemented, yet.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(ARM and SH4 uClibc toolchain builds)
2015-04-08 10:54:55 +02:00
|
|
|
BR2_powerpc || BR2_sh2a || BR2_sh4 || BR2_sh4eb || \
|
|
|
|
BR2_sparc || BR2_xtensa || BR2_x86_64
|
2015-10-12 12:08:06 +02:00
|
|
|
# Unsupported for MIPS R6
|
|
|
|
depends on !BR2_mips_32r6 && !BR2_mips_64r6
|
2013-06-30 21:29:12 +02:00
|
|
|
help
|
|
|
|
This option selects uClibc as the C library for the
|
|
|
|
cross-compilation toolchain.
|
|
|
|
|
|
|
|
http://uclibc.org
|
|
|
|
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_EGLIBC
|
2013-11-11 18:57:30 +01:00
|
|
|
bool "eglibc"
|
2015-03-18 10:49:48 +01:00
|
|
|
depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
|
|
|
|
BR2_aarch64_be || BR2_i386 || BR2_mips || \
|
|
|
|
BR2_mipsel || BR2_mips64 || BR2_mips64el || \
|
|
|
|
BR2_powerpc || BR2_sh || BR2_sh64 || \
|
|
|
|
BR2_sparc || BR2_x86_64 || BR2_microblaze || \
|
|
|
|
BR2_powerpc64
|
2013-08-09 21:23:41 +02:00
|
|
|
depends on BR2_USE_MMU
|
2014-12-03 22:41:29 +01:00
|
|
|
depends on !BR2_STATIC_LIBS
|
2015-06-14 16:33:31 +02:00
|
|
|
depends on BR2_DEPRECATED_SINCE_2015_08
|
2013-06-30 21:29:12 +02:00
|
|
|
select BR2_TOOLCHAIN_USES_GLIBC
|
|
|
|
# our eglibc.mk enables RPC support
|
|
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
|
|
help
|
|
|
|
This option selects eglibc as the C library for the
|
|
|
|
cross-compilation toolchain.
|
|
|
|
|
|
|
|
http://eglibc.org
|
|
|
|
|
2013-09-02 18:06:33 +02:00
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
2013-11-11 18:57:30 +01:00
|
|
|
bool "glibc"
|
2015-03-18 10:49:48 +01:00
|
|
|
depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
|
|
|
|
BR2_aarch64_be || BR2_i386 || BR2_mips || \
|
|
|
|
BR2_mipsel || BR2_mips64 || BR2_mips64el|| \
|
|
|
|
BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
|
|
|
|
BR2_sh || BR2_sh64 || BR2_sparc || \
|
2015-08-29 09:57:33 +02:00
|
|
|
BR2_sparc64 || BR2_x86_64 || BR2_microblaze || \
|
|
|
|
BR2_nios2
|
2014-03-03 19:31:27 +01:00
|
|
|
depends on BR2_USE_MMU
|
2014-12-03 22:41:29 +01:00
|
|
|
depends on !BR2_STATIC_LIBS
|
2014-05-23 00:16:14 +02:00
|
|
|
depends on !BR2_powerpc_SPE
|
2014-03-03 19:31:27 +01:00
|
|
|
select BR2_TOOLCHAIN_USES_GLIBC
|
2013-09-02 18:06:33 +02:00
|
|
|
# our glibc.mk enables RPC support
|
|
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
|
|
help
|
|
|
|
This option selects glibc as the C library for the
|
|
|
|
cross-compilation toolchain.
|
|
|
|
|
|
|
|
http://www.gnu.org/software/libc/
|
|
|
|
|
2013-11-11 18:57:31 +01:00
|
|
|
comment "(e)glibc only available with shared lib support"
|
2014-12-03 22:41:29 +01:00
|
|
|
depends on BR2_STATIC_LIBS
|
2013-11-11 18:57:31 +01:00
|
|
|
|
2014-05-05 23:17:08 +02:00
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_MUSL
|
|
|
|
bool "musl (experimental)"
|
2015-03-19 14:29:15 +01:00
|
|
|
depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \
|
|
|
|
BR2_microblaze || BR2_mips || BR2_mipsel || BR2_powerpc || \
|
2015-03-25 09:55:30 +01:00
|
|
|
BR2_sh || BR2_x86_64
|
2014-09-10 22:16:04 +02:00
|
|
|
depends on !BR2_powerpc_SPE # not supported, build breaks
|
2015-10-12 12:08:06 +02:00
|
|
|
# Unsupported for MIPS R6
|
|
|
|
depends on !BR2_mips_32r6 && !BR2_mips_64r6
|
2014-05-05 23:17:08 +02:00
|
|
|
select BR2_TOOLCHAIN_USES_MUSL
|
|
|
|
help
|
|
|
|
This option selects musl as the C library for the
|
|
|
|
cross-compilation toolchain.
|
|
|
|
|
2013-06-30 21:29:12 +02:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_LIBC
|
|
|
|
string
|
|
|
|
default "uclibc" if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|
2013-09-02 18:06:33 +02:00
|
|
|
# Both glibc and eglibc are handled by the package called
|
|
|
|
# 'glibc'
|
|
|
|
default "glibc" if BR2_TOOLCHAIN_BUILDROOT_EGLIBC
|
|
|
|
default "glibc" if BR2_TOOLCHAIN_BUILDROOT_GLIBC
|
2014-05-05 23:17:08 +02:00
|
|
|
default "musl" if BR2_TOOLCHAIN_BUILDROOT_MUSL
|
2013-06-30 21:29:12 +02:00
|
|
|
|
2013-06-30 21:29:05 +02:00
|
|
|
source "package/uclibc/Config.in"
|
2014-02-10 18:43:46 +01:00
|
|
|
source "package/glibc/Config.in"
|
2010-12-31 12:39:01 +01:00
|
|
|
source "package/binutils/Config.in.host"
|
2013-06-30 21:29:03 +02:00
|
|
|
source "package/gcc/Config.in.host"
|
2013-09-02 18:06:37 +02:00
|
|
|
source "package/elf2flt/Config.in.host"
|
2008-12-15 16:28:48 +01:00
|
|
|
endif
|