f82441bfa4
Traditionally, Buildroot has a default of enabling thread support. However, with the current construct of the thread choice in the uclibc package, the m68k and microblaze architecture end up with no thread support as the default. In order to avoid having to explicit a more complicated "default" value for the choice, we take a simple approach: we order the 3 possible choices by order of "preference", since Kconfig selects the first selectable option in a choice by default. So, NPTL is first and is the default when available. Then comes linuxthreads which only gets selected as the default when NPTL is available. None is offered as a last choice (in the current implementation, it is never the default, since all architectures can have thread support, either through NPTL or linuxthreads). [Thomas: reworked according to Yann's comment that we could rely on the Kconfig behavior that selects the first available choice option.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
183 lines
5.6 KiB
Plaintext
183 lines
5.6 KiB
Plaintext
if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|
|
|
|
config BR2_PACKAGE_UCLIBC
|
|
bool
|
|
default y
|
|
select BR2_PACKAGE_LINUX_HEADERS
|
|
|
|
comment "uClibc Options"
|
|
|
|
config BR2_UCLIBC_CONFIG
|
|
string "uClibc configuration file to use?"
|
|
default "package/uclibc/uClibc-ng.config"
|
|
help
|
|
Some people may wish to use their own modified uClibc configuration
|
|
file and will specify their config file location with this option.
|
|
See also docs/README in this package.
|
|
If unsure, use the default.
|
|
|
|
config BR2_UCLIBC_CONFIG_FRAGMENT_FILES
|
|
string "Additional uClibc configuration fragment files"
|
|
help
|
|
A space-separated list of configuration fragment files,
|
|
that will be merged to the main uClibc configuration file.
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_INET_RPC
|
|
bool "Enable RPC support"
|
|
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
help
|
|
Enable this option if you want your toolchain to support
|
|
RPC (needed for NFS, for example).
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_WCHAR
|
|
bool "Enable WCHAR support"
|
|
select BR2_USE_WCHAR
|
|
help
|
|
Enable this option if you want your toolchain to support
|
|
wide characters (i.e characters longer than 8 bits, needed
|
|
for locale support).
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_LOCALE
|
|
bool "Enable toolchain locale/i18n support"
|
|
select BR2_TOOLCHAIN_BUILDROOT_WCHAR
|
|
select BR2_ENABLE_LOCALE
|
|
help
|
|
Enable this option if you want your toolchain to support
|
|
localization and internationalization.
|
|
|
|
choice
|
|
prompt "Thread library implementation"
|
|
help
|
|
Use this option to select the thread library implementation
|
|
that should be used in your toolchain.
|
|
|
|
config BR2_PTHREADS_NATIVE
|
|
bool "Native POSIX Threading (NPTL)"
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
|
depends on BR2_USE_MMU
|
|
depends on !BR2_m68k && !BR2_microblaze
|
|
|
|
config BR2_PTHREADS
|
|
bool "linuxthreads"
|
|
select BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on BR2_bfin || BR2_m68k || BR2_microblaze || BR2_arm || BR2_armeb || BR2_xtensa
|
|
|
|
config BR2_PTHREADS_NONE
|
|
bool "none"
|
|
|
|
endchoice
|
|
|
|
config BR2_PTHREAD_DEBUG
|
|
bool "Thread library debugging"
|
|
depends on BR2_PTHREADS || BR2_PTHREADS_NATIVE
|
|
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
|
|
help
|
|
Build the thread library with debugging enabled.
|
|
|
|
config BR2_TOOLCHAIN_BUILDROOT_USE_SSP
|
|
bool "Enable stack protection support"
|
|
select BR2_TOOLCHAIN_HAS_SSP
|
|
help
|
|
Enable stack smashing protection support using GCCs
|
|
-fstack-protector-all option in uClibc.
|
|
|
|
See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
|
|
for details.
|
|
|
|
config BR2_UCLIBC_INSTALL_UTILS
|
|
bool "Compile and install uClibc utilities"
|
|
default y
|
|
help
|
|
Enabling this option will compile and install the getconf,
|
|
ldconfig and ldd uClibc utilities for the target.
|
|
|
|
You can save ~32 KiB in target space by disabling them since
|
|
they're normally not needed.
|
|
|
|
config BR2_UCLIBC_INSTALL_TEST_SUITE
|
|
bool "Compile and install uClibc tests"
|
|
help
|
|
Enabling this option will compile and install the uClibc test suite.
|
|
This is useful if you want to check if the uClibc library is working
|
|
for your architecture and/or help developing uClibc.
|
|
|
|
The test suite will be installed into /root/uClibc directory. To run
|
|
the test suite enter the /root/uClibc/test directory and type
|
|
"sh uclibcng-testrunner.sh".
|
|
|
|
See the /root/uClibc/test/README for additional information.
|
|
|
|
This is not needed at all for normal builds, so you can safely say no
|
|
if you do not plan to dig into your C library.
|
|
|
|
# Mapping from the Buildroot architecture configuration options to the
|
|
# uClibc architecture names.
|
|
config BR2_UCLIBC_TARGET_ARCH
|
|
string
|
|
default "arc" if BR2_arcle || BR2_arceb
|
|
default "arm" if BR2_arm || BR2_armeb
|
|
default "bfin" if BR2_bfin
|
|
default "m68k" if BR2_m68k
|
|
default "microblaze" if BR2_microblaze
|
|
default "mips" if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
|
default "powerpc" if BR2_powerpc
|
|
default "sh" if BR2_sh
|
|
default "sparc" if BR2_sparc
|
|
default "xtensa" if BR2_xtensa
|
|
default "i386" if BR2_i386
|
|
default "x86_64" if BR2_x86_64
|
|
|
|
config BR2_UCLIBC_ARC_TYPE
|
|
string
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "arc"
|
|
default "ARC_CPU_700" if BR2_arc750d
|
|
default "ARC_CPU_700" if BR2_arc770d
|
|
default "ARC_CPU_HS" if BR2_archs38
|
|
|
|
config BR2_UCLIBC_MIPS_ABI
|
|
string
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "mips"
|
|
default "O32" if BR2_MIPS_OABI32
|
|
default "N32" if BR2_MIPS_NABI32
|
|
default "N64" if BR2_MIPS_NABI64
|
|
|
|
config BR2_UCLIBC_MIPS_ISA
|
|
string
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "mips"
|
|
default "MIPS32" if BR2_mips_32
|
|
default "MIPS32R2" if BR2_mips_32r2
|
|
default "MIPS64" if BR2_mips_64
|
|
|
|
config BR2_UCLIBC_SH_TYPE
|
|
string
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "sh"
|
|
default "SH2A" if BR2_sh2a
|
|
default "SH4" if BR2_sh4 || BR2_sh4eb
|
|
|
|
config BR2_UCLIBC_SPARC_TYPE
|
|
string
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "sparc"
|
|
default "V7" if BR2_sparc_v7 || BR2_sparc_sparchfleon || BR2_sparc_sparcsfleon
|
|
default "V8" if BR2_sparc_v8 || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleonv8
|
|
|
|
config BR2_UCLIBC_POWERPC_TYPE
|
|
string
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "powerpc"
|
|
default "CLASSIC" if !BR2_powerpc_8540 && !BR2_powerpc_8548
|
|
default "E500" if BR2_powerpc_8540 || BR2_powerpc_8548
|
|
|
|
config BR2_UCLIBC_X86_TYPE
|
|
string
|
|
depends on BR2_UCLIBC_TARGET_ARCH = "i386"
|
|
default "486" if BR2_x86_i486
|
|
default "586" if BR2_x86_i586
|
|
default "586MMX" if BR2_x86_pentium_mmx
|
|
default "686" if BR2_x86_i686 || BR2_x86_pentiumpro
|
|
default "PENTIUMII" if BR2_x86_pentium2
|
|
default "PENTIUMIII" if BR2_x86_pentium3
|
|
default "PENTIUM4" if BR2_x86_pentium4 || BR2_x86_pentium_m || \
|
|
BR2_x86_nocona || BR2_x86_core2 || BR2_x86_corei7
|
|
|
|
endif # BR2_TOOLCHAIN_BUILDROOT_UCLIBC
|