--- /dev/null
+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