blob: b5525e505e9a8ded8a58decc42509df3844c0f4e [file] [log] [blame]
if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
# For legal-info
config BR2_PACKAGE_UCLIBC
bool
default y
comment "uClibc Options"
config BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
bool
config BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
bool
config BR2_UCLIBC_VERSION_SUPPORTS_NPTL
bool
choice
prompt "uClibc C library Version"
default BR2_UCLIBC_VERSION_0_9_33
help
Select the version of uClibc you wish to use.
config BR2_UCLIBC_VERSION_0_9_33
bool "uClibc 0.9.33.x"
select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
select BR2_UCLIBC_VERSION_SUPPORTS_NPTL if !BR2_x86_i386
depends on !(BR2_arc || BR2_xtensa)
config BR2_UCLIBC_VERSION_ARC_GIT
bool "uClibc Git ARC"
select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
depends on BR2_arc
config BR2_UCLIBC_VERSION_NG
bool "uClibc-ng"
select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS if BR2_m68k
select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD \
if BR2_m68k || BR2_arm || BR2_armeb
select BR2_UCLIBC_VERSION_SUPPORTS_NPTL \
if !BR2_arc && !BR2_m68k && !BR2_x86_i386
config BR2_UCLIBC_VERSION_XTENSA_GIT
bool "uClibc Git Xtensa"
depends on BR2_xtensa
select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
config BR2_UCLIBC_VERSION_SNAPSHOT
bool "daily snapshot"
select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS if !BR2_xtensa
select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
select BR2_UCLIBC_VERSION_SUPPORTS_NPTL \
if !BR2_x86_i386 && !BR2_xtensa
depends on !(BR2_arc)
endchoice
config BR2_USE_UCLIBC_SNAPSHOT
string "Date (yyyymmdd) of snapshot or 'snapshot' for latest"
default "snapshot"
depends on BR2_UCLIBC_VERSION_SNAPSHOT
help
Use latest snapshot or one from a specific date?
config BR2_UCLIBC_VERSION_STRING
string
default "0.9.33.2" if BR2_UCLIBC_VERSION_0_9_33
default "arc-2014.12" if BR2_UCLIBC_VERSION_ARC_GIT
default "1.0.2" if BR2_UCLIBC_VERSION_NG
default "7bf35c8b7d4a1f97174eb49f47f33946b282114c" if BR2_UCLIBC_VERSION_XTENSA_GIT
default BR2_USE_UCLIBC_SNAPSHOT if BR2_UCLIBC_VERSION_SNAPSHOT
config BR2_UCLIBC_CONFIG
string "uClibc configuration file to use?"
default "package/uclibc/uClibc-0.9.33.config" if BR2_UCLIBC_VERSION_0_9_33
default "package/uclibc/uClibc-ng.config" if BR2_UCLIBC_VERSION_NG
default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_ARC_GIT
default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT
default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_XTENSA_GIT
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_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"
default BR2_PTHREADS_NATIVE if BR2_UCLIBC_VERSION_SUPPORTS_NPTL
default BR2_PTHREADS_OLD if BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
default BR2_PTHREADS if BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
help
Use this option to select the thread library implementation
that should be used in your toolchain.
config BR2_PTHREADS_NONE
bool "none"
config BR2_PTHREADS
bool "linuxthreads"
select BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
config BR2_PTHREADS_OLD
bool "linuxthreads (stable/old)"
select BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
config BR2_PTHREADS_NATIVE
bool "Native POSIX Threading (NPTL)"
select BR2_TOOLCHAIN_HAS_THREADS
select BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_UCLIBC_VERSION_SUPPORTS_NPTL
endchoice
config BR2_PTHREAD_DEBUG
bool "Thread library debugging"
depends on BR2_PTHREADS || BR2_PTHREADS_OLD || 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"
select BR2_PACKAGE_MAKE
depends on BR2_USE_MMU # make
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
"make UCLIBC_ONLY=1 CC=/bin/true check".
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 "m68k" if BR2_m68k
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_ARM_BX
bool
depends on BR2_UCLIBC_TARGET_ARCH = "arm"
default y if (BR2_ARM_CPU_HAS_THUMB || BR2_ARM_CPU_HAS_THUMB2)
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 "386" if BR2_x86_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