[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/build/uClibc/extra/Configs/Config.alpha b/ap/build/uClibc/extra/Configs/Config.alpha
new file mode 100644
index 0000000..144924a
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.alpha
@@ -0,0 +1,16 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "alpha"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_MMU
+	select ARCH_HAS_NO_LDSO
+	select UCLIBC_HAS_LFS
diff --git a/ap/build/uClibc/extra/Configs/Config.arm b/ap/build/uClibc/extra/Configs/Config.arm
new file mode 100644
index 0000000..0bb2971
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.arm
@@ -0,0 +1,38 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "arm"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+
+config CONFIG_ARM_EABI
+	bool "Build for EABI"
+	help
+	  If you say 'y' here, functions and constants required by the
+	  ARM EABI will be built into the library.  You should say 'y'
+	  if your compiler uses the ARM EABI, in which case you will also
+	  need a kernel supporting the EABI system call interface.
+
+	  If you say 'n' here, then the library will be built for the
+	  old Linux ABI.
+
+config COMPILE_IN_THUMB_MODE
+	bool "Build using Thumb mode"
+	select USE_BX
+	help
+	  Say 'y' here to force building uClibc in thumb mode.
+	  Say 'n' to use your compiler's default mode.
+
+config USE_BX
+	bool "Use BX in function return"
+	help
+	  Say 'y' to use BX to return from functions on your thumb-aware
+	  processor. Say 'y' if you need to use interworking. Say 'n' if not.
+	  It is safe to say 'y' even if you're not doing interworking.
diff --git a/ap/build/uClibc/extra/Configs/Config.avr32 b/ap/build/uClibc/extra/Configs/Config.avr32
new file mode 100644
index 0000000..cbadb4c
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.avr32
@@ -0,0 +1,28 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "avr32"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select FORCE_SHAREABLE_TEXT_SEGMENTS
+
+choice
+	prompt "Target CPU Type"
+	default CONFIG_AVR32_AP7
+
+config CONFIG_AVR32_AP7
+	bool "AVR32 AP7"
+	select ARCH_HAS_MMU
+
+endchoice
+
+config LINKRELAX
+	bool "Enable linker optimizations"
+	default y
diff --git a/ap/build/uClibc/extra/Configs/Config.bfin b/ap/build/uClibc/extra/Configs/Config.bfin
new file mode 100644
index 0000000..a70afcf
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.bfin
@@ -0,0 +1,14 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "bfin"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
diff --git a/ap/build/uClibc/extra/Configs/Config.c6x b/ap/build/uClibc/extra/Configs/Config.c6x
new file mode 100644
index 0000000..96adfb3
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.c6x
@@ -0,0 +1,29 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	default "c6x"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+	select ARCH_HAS_NO_MMU
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_GENERIC_C6X
+
+config CONFIG_GENERIC_C6X
+	bool "Generic C6X DSP"
+
+config CONFIG_TMS320C64X
+	bool "TMS320C64X"
+
+config CONFIG_TMS320C64XPLUS
+	bool "TMS320C64X+"
+
+endchoice
+
diff --git a/ap/build/uClibc/extra/Configs/Config.cris b/ap/build/uClibc/extra/Configs/Config.cris
new file mode 100644
index 0000000..52ca0c3
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.cris
@@ -0,0 +1,34 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "cris"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+
+choice
+	prompt "Target Architecture Type"
+	default CONFIG_CRIS
+	help
+		This is the architecture type of your CPU. This information
+		is used for optimizing purposes.
+
+		Possible settings:
+		- CRIS  Generic support for Axis' CRIS architecture.
+		- CRISv32  Support for Axis' CRISv32 architecture.
+
+config CONFIG_CRIS
+	select ARCH_HAS_MMU
+	bool "CRIS"
+
+config CONFIG_CRISV32
+	select ARCH_HAS_MMU
+	bool "CRISv32"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.e1 b/ap/build/uClibc/extra/Configs/Config.e1
new file mode 100644
index 0000000..ecaa9f0
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.e1
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "e1"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select ARCH_HAS_NO_SHARED
diff --git a/ap/build/uClibc/extra/Configs/Config.frv b/ap/build/uClibc/extra/Configs/Config.frv
new file mode 100644
index 0000000..b389870
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.frv
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "frv"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select UCLIBC_HAS_FPU
+	select ARCH_HAS_NO_MMU
diff --git a/ap/build/uClibc/extra/Configs/Config.h8300 b/ap/build/uClibc/extra/Configs/Config.h8300
new file mode 100644
index 0000000..ffcb9c8
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.h8300
@@ -0,0 +1,28 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "h8300"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+	select ARCH_HAS_NO_MMU
+
+choice
+	prompt "Target Processor"
+	default CONFIG_H8300H
+	help
+	  This is the processor type of your CPU.
+
+config CONFIG_H8300H
+	bool "H8300H"
+
+config CONFIG_H8S
+	bool "H8S (edosk2674)"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.hppa b/ap/build/uClibc/extra/Configs/Config.hppa
new file mode 100644
index 0000000..1323de2
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.hppa
@@ -0,0 +1,17 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "hppa"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select ARCH_HAS_MMU
+	select HAS_NO_THREADS
+	select ARCH_HAS_NO_LDSO
+	select HAVE_NO_SSP
diff --git a/ap/build/uClibc/extra/Configs/Config.i386 b/ap/build/uClibc/extra/Configs/Config.i386
new file mode 100644
index 0000000..288aa5e
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.i386
@@ -0,0 +1,102 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "i386"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_MMU
+
+choice
+	prompt "Target x86 Processor Family"
+	default CONFIG_486
+	help
+	  This is the processor type of your CPU. This information is used for
+	  optimizing purposes.  To build a library that will run on all x86 CPU
+	  types (albeit not optimally fast), you can specify "386" here.  If
+	  you pick anything other than "386", there is no guarantee that uClibc
+	  will even run on anything other than the selected processor type.
+
+	  Here are the settings recommended for greatest speed:
+	  - "Generic 386" select this if your compiler is already setup to 
+	     optimize things properly.
+	  - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI
+	     486DLC/DLC2, UMC 486SX-S and NexGen Nx586.  Only "386" kernels
+	     will run on a 386 class machine.
+	  - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
+	     SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
+	  - "586" for Intel Pentium and other generic Pentium CPUs
+	  - "Pentium-MMX" for the Intel Pentium MMX.
+	  - "Pentium-Pro" for the Intel Pentium Pro/Celeron/Pentium II.
+	  - "Pentium-III" for the Intel Pentium III
+	     and Celerons based on the Coppermine core.
+	  - "Pentium-4" for the Intel Pentium 4.
+	  - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
+	  - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
+	  - "Elan" for the AMD Elan.
+	  - "Crusoe" for the Transmeta Crusoe series.
+	  - "Winchip-C6" for original IDT Winchip.
+	  - "Winchip-2/Winchip-2A/Winchip-3" for IDT Winchip CPUs
+	  - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
+	  - "VIA C3-2 Nehemiah" model 9 and above.
+
+	  If you don't know what to do, choose "386".
+
+config CONFIG_GENERIC_386
+	bool "Generic 386"
+
+config CONFIG_386
+	bool "386"
+
+config CONFIG_486
+	bool "486"
+
+config CONFIG_586
+	bool "Pentium/586/K5/5x86/6x86/6x86MX"
+
+config CONFIG_586MMX
+	bool "Pentium-MMX"
+
+config CONFIG_686
+	bool "Pentium-Pro"
+
+config CONFIG_PENTIUMII
+	bool "Celeron/Pentium-II"
+
+config CONFIG_PENTIUMIII
+	bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon"
+
+config CONFIG_PENTIUM4
+	bool "Pentium-4/Celeron(P4-based)/Xeon"
+
+config CONFIG_K6
+	bool "K6/K6-II/K6-III"
+
+config CONFIG_K7
+	bool "Athlon/Duron/K7"
+
+config CONFIG_ELAN
+	bool "Elan"
+
+config CONFIG_CRUSOE
+	bool "Crusoe"
+
+config CONFIG_WINCHIPC6
+	bool "Winchip-C6"
+
+config CONFIG_WINCHIP2
+	bool "Winchip-2/Winchip-2A/Winchip-3"
+
+config CONFIG_CYRIXIII
+	bool "CyrixIII/VIA-C3"
+
+config CONFIG_NEHEMIAH
+	bool "VIA C3-2 (Nehemiah)"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.i960 b/ap/build/uClibc/extra/Configs/Config.i960
new file mode 100644
index 0000000..798dae0
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.i960
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "i960"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select HAS_NO_THREADS
diff --git a/ap/build/uClibc/extra/Configs/Config.ia64 b/ap/build/uClibc/extra/Configs/Config.ia64
new file mode 100644
index 0000000..ae88be7
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.ia64
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "ia64"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_MMU
+	select ARCH_HAS_NO_LDSO
diff --git a/ap/build/uClibc/extra/Configs/Config.in b/ap/build/uClibc/extra/Configs/Config.in
new file mode 100755
index 0000000..26346e7
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.in
@@ -0,0 +1,2414 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+mainmenu "uClibc C Library Configuration"
+
+config DESIRED_TARGET_ARCH
+	string
+	option env="ARCH"
+
+choice
+	prompt "Target Architecture"
+	default TARGET_alpha if DESIRED_TARGET_ARCH = "alpha"
+	default TARGET_arm if DESIRED_TARGET_ARCH = "arm"
+	default TARGET_avr32 if DESIRED_TARGET_ARCH = "avr32"
+	default TARGET_bfin if DESIRED_TARGET_ARCH = "bfin"
+	default TARGET_cris if DESIRED_TARGET_ARCH = "cris"
+	default TARGET_e1 if DESIRED_TARGET_ARCH = "e1"
+	default TARGET_frv if DESIRED_TARGET_ARCH = "frv"
+	default TARGET_h8300 if DESIRED_TARGET_ARCH = "h8300"
+	default TARGET_hppa if DESIRED_TARGET_ARCH = "hppa"
+	default TARGET_i386 if DESIRED_TARGET_ARCH = "i386"
+	default TARGET_i960 if DESIRED_TARGET_ARCH = "i960"
+	default TARGET_ia64 if DESIRED_TARGET_ARCH = "ia64"
+	default TARGET_m68k if DESIRED_TARGET_ARCH = "m68k"
+	default TARGET_microblaze if DESIRED_TARGET_ARCH = "microblaze"
+	default TARGET_mips if DESIRED_TARGET_ARCH = "mips"
+	default TARGET_nios if DESIRED_TARGET_ARCH = "nios"
+	default TARGET_nios2 if DESIRED_TARGET_ARCH = "nios2"
+	default TARGET_powerpc if DESIRED_TARGET_ARCH = "powerpc"
+	default TARGET_sh if DESIRED_TARGET_ARCH = "sh"
+	default TARGET_sh64 if DESIRED_TARGET_ARCH = "sh64"
+	default TARGET_sparc if DESIRED_TARGET_ARCH = "sparc"
+	default TARGET_v850 if DESIRED_TARGET_ARCH = "v850"
+	default TARGET_vax if DESIRED_TARGET_ARCH = "vax"
+	default TARGET_x86_64 if DESIRED_TARGET_ARCH = "x86_64"
+	default TARGET_xtensa if DESIRED_TARGET_ARCH = "xtensa"
+	help
+	  The architecture of your target.
+
+config TARGET_alpha
+	bool "alpha"
+
+config TARGET_arm
+	bool "arm"
+
+config TARGET_avr32
+	bool "avr32"
+
+config TARGET_bfin
+	bool "bfin"
+
+config TARGET_c6x
+	bool "c6x"
+
+config TARGET_cris
+	bool "cris"
+
+config TARGET_e1
+	bool "e1 (BROKEN)"
+
+config TARGET_frv
+	bool "frv (BROKEN)"
+
+config TARGET_h8300
+	bool "h8300 (BROKEN)"
+
+config TARGET_hppa
+	bool "hppa"
+
+config TARGET_i386
+	bool "i386"
+
+config TARGET_i960
+	bool "i960 (BROKEN)"
+
+config TARGET_ia64
+	bool "ia64"
+
+config TARGET_m68k
+	bool "m68k"
+
+config TARGET_microblaze
+	bool "microblaze"
+
+config TARGET_mips
+	bool "mips"
+
+config TARGET_nios
+	bool "nios"
+
+config TARGET_nios2
+	bool "nios2"
+
+config TARGET_powerpc
+	bool "powerpc"
+
+config TARGET_sh
+	bool "superh"
+
+config TARGET_sh64
+	bool "sh64"
+
+config TARGET_sparc
+	bool "sparc"
+
+config TARGET_v850
+	bool "v850 (BROKEN)"
+
+config TARGET_vax
+	bool "vax"
+
+config TARGET_x86_64
+	bool "x86_64"
+
+config TARGET_xtensa
+	bool "xtensa"
+
+endchoice
+
+
+menu "Target Architecture Features and Options"
+
+if TARGET_alpha
+source "extra/Configs/Config.alpha"
+endif
+
+if TARGET_arm
+source "extra/Configs/Config.arm"
+endif
+
+if TARGET_avr32
+source "extra/Configs/Config.avr32"
+endif
+
+if TARGET_bfin
+source "extra/Configs/Config.bfin"
+endif
+
+if TARGET_cris
+source "extra/Configs/Config.cris"
+endif
+
+if TARGET_e1
+source "extra/Configs/Config.e1"
+endif
+
+if TARGET_frv
+source "extra/Configs/Config.frv"
+endif
+
+if TARGET_h8300
+source "extra/Configs/Config.h8300"
+endif
+
+if TARGET_hppa
+source "extra/Configs/Config.hppa"
+endif
+
+if TARGET_i386
+source "extra/Configs/Config.i386"
+endif
+
+if TARGET_i960
+source "extra/Configs/Config.i960"
+endif
+
+if TARGET_ia64
+source "extra/Configs/Config.ia64"
+endif
+
+if TARGET_m68k
+source "extra/Configs/Config.m68k"
+endif
+
+if TARGET_nios
+source "extra/Configs/Config.nios"
+endif
+
+if TARGET_nios2
+source "extra/Configs/Config.nios2"
+endif
+
+if TARGET_microblaze
+source "extra/Configs/Config.microblaze"
+endif
+
+if TARGET_mips
+source "extra/Configs/Config.mips"
+endif
+
+if TARGET_powerpc
+source "extra/Configs/Config.powerpc"
+endif
+
+if TARGET_sh
+source "extra/Configs/Config.sh"
+endif
+
+if TARGET_sh64
+source "extra/Configs/Config.sh64"
+endif
+
+if TARGET_sparc
+source "extra/Configs/Config.sparc"
+endif
+
+if TARGET_v850
+source "extra/Configs/Config.v850"
+endif
+
+if TARGET_vax
+source "extra/Configs/Config.vax"
+endif
+
+if TARGET_x86_64
+source "extra/Configs/Config.x86_64"
+endif
+
+if TARGET_xtensa
+source "extra/Configs/Config.xtensa"
+endif
+
+if TARGET_c6x
+source "extra/Configs/Config.c6x"
+endif
+
+config TARGET_SUBARCH
+	string
+	default "e500" if CONFIG_E500
+	default "classic" if CONFIG_CLASSIC
+	default "sh4" if CONFIG_SH4
+	default "" if CONFIG_GENERIC_386 || CONFIG_386
+	default "i486" if CONFIG_486
+	default "i586" if CONFIG_586 || CONFIG_586MMX
+	default "i686" if TARGET_ARCH = "i386"
+	default ""
+
+source "extra/Configs/Config.in.arch"
+
+endmenu
+
+menu "General Library Settings"
+
+config HAVE_NO_PIC
+	bool
+
+config DOPIC
+	bool "Generate only Position Independent Code (PIC)"
+	default y
+	depends on !HAVE_NO_PIC
+	help
+	  If you wish to build all of uClibc as PIC objects, then answer Y here.
+	  If you are unsure, then you should answer N.
+
+config ARCH_HAS_NO_SHARED
+	bool
+
+config ARCH_HAS_NO_LDSO
+	bool
+	select ARCH_HAS_NO_SHARED
+
+config HAVE_SHARED
+	bool "Enable shared libraries"
+	depends on !ARCH_HAS_NO_SHARED
+	default y
+	help
+	  If you wish to build uClibc with support for shared libraries then
+	  answer Y here.  If you only want to build uClibc as a static library,
+	  then answer N.
+
+config FORCE_SHAREABLE_TEXT_SEGMENTS
+	bool "Only load shared libraries which can share their text segment"
+	depends on HAVE_SHARED
+	select DOPIC
+	help
+	  If you answer Y here, the uClibc native shared library loader will
+	  only load shared libraries, which do not need to modify any
+	  non-writable segments. These libraries haven't set the DT_TEXTREL
+	  tag in the dynamic section (==> objdump).
+	  All your libraries must be compiled with -fPIC or -fpic, and all
+	  assembler function must be written as position independent code (PIC).
+	  Enabling this option will make uClibc's shared library loader a
+	  little bit smaller and guarantee that no memory will be wasted by
+	  badly coded shared libraries.
+
+config LDSO_LDD_SUPPORT
+	bool "Native 'ldd' support"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Enable all the code needed to support traditional ldd,
+	  which executes the shared library loader to resolve all dependencies
+	  and then provide a list of shared libraries that are required for an
+	  application to function.  Disabling this option will make uClibc's
+	  shared library loader a little bit smaller.
+	  Most people will answer Y.
+
+config LDSO_CACHE_SUPPORT
+	bool "Enable library loader cache (ld.so.conf)"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Enable this to make use of /etc/ld.so.conf, the shared library loader
+	  cache configuration file to support for non-standard library paths.
+	  After updating this file, it is necessary to run 'ldconfig' to update
+	  the /etc/ld.so.cache shared library loader cache file.
+
+config LDSO_PRELOAD_ENV_SUPPORT
+	bool "Enable library loader LD_PRELOAD environment"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Enable this to make use of LD_PRELOAD environment variable.
+	  A whitespace-separated list of additional, user-specified, ELF shared
+	  libraries to be loaded before all others. This can be used to
+	  selectively override functions in other shared libraries. For
+	  set-user-ID/set-group-ID ELF binaries, only libraries in the standard
+	  search directories that are also set-user-ID will be loaded.
+
+config LDSO_PRELOAD_FILE_SUPPORT
+	bool "Enable library loader preload file (ld.so.preload)"
+	depends on HAVE_SHARED
+	help
+	  Enable this to make use of /etc/ld.so.preload. This file contains a
+	  whitespace separated list of shared libraries to be loaded before
+	  the program.
+
+config LDSO_BASE_FILENAME
+	string "Shared library loader naming prefix"
+	depends on HAVE_SHARED && (LDSO_CACHE_SUPPORT || LDSO_PRELOAD_FILE_SUPPORT)
+	default "ld.so"
+	help
+	  If you wish to support both uClibc and glibc on the same system, it
+	  is necessary to set this to something other than "ld.so" to avoid
+	  conflicts with glibc, which also uses "ld.so".  This prevents both
+	  libraries from using the same /etc/ld.so.* files.  If you wish to
+	  support both uClibc and glibc on the same system then you should set
+	  this to "ld-uClibc.so".
+
+	  Most people will leave this set to the default of "ld.so".
+
+	  WARNING: Changing the default prefix could cause problems with
+	           binutils' ld !
+
+config LDSO_STANDALONE_SUPPORT
+	bool "Dynamic linker stand-alone mode support"
+	depends on HAVE_SHARED
+	help
+	  The dynamic linker can be run either indirectly through running some
+	  dynamically linked program or library (in which case no command line
+	  options to the dynamic linker can be passed and, in the ELF case, the
+	  dynamic linker which is stored in the .interp section of the program
+	  is executed) or directly by running:
+
+	  /lib/ld-uClibc.so.*  [OPTIONS] [PROGRAM [ARGUMENTS]]
+
+	  Stand-alone execution is a prerequisite for adding prelink
+	  capabilities to uClibc dynamic linker, as well useful for testing an
+	  updated version of the dynamic linker without breaking the system.
+
+config LDSO_PRELINK_SUPPORT
+	bool "Dynamic linker prelink support"
+	depends on HAVE_SHARED
+	select LDSO_STANDALONE_SUPPORT
+	help
+	  The dynamic linker can be used in stand-alone mode by the prelink tool
+	  for prelinking ELF shared libraries and binaries to speed up startup
+	  time. It also is able to load and handle prelinked libraries and
+	  binaries at runtime.
+
+config UCLIBC_STATIC_LDCONFIG
+	bool "Link ldconfig statically"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Enable this option to statically link the ldconfig binary.
+
+	  Making ldconfig static can be beneficial if you have a library
+	  problem and need to use ldconfig to recover.  Sometimes it is
+	  preferable to instead keep the size of the system down, in which
+	  case you should disable this option.
+
+config LDSO_RUNPATH
+	bool "Enable ELF RUNPATH tag support"
+	depends on HAVE_SHARED
+	default y if LDSO_CACHE_SUPPORT
+	help
+	  ELF's may have dynamic RPATH/RUNPATH tags.  These tags list paths
+	  which extend the library search paths.  They are really only useful
+	  if a package installs libraries in non standard locations and
+	  ld.so.conf support is disabled.
+
+	  Usage of RUNPATH tags is not too common, so disabling this feature
+	  should be safe for most people.
+
+config LDSO_SEARCH_INTERP_PATH
+	bool "Add ldso path to lib search path"
+	depends on HAVE_SHARED
+	default y
+	help
+	  The ldso is told where it is being executed from and can use that
+	  path to find related core libraries.  This is useful by default,
+	  but can be annoying in a mixed development environment.
+
+	  i.e. if the ldso is run from /foo/boo/ldso.so, it will start its
+	  library search with /foo/boo/
+
+	  If unsure, simply say Y here.
+
+config LDSO_LD_LIBRARY_PATH
+	bool "Add LD_LIBRARY_PATH to lib search path"
+	depends on HAVE_SHARED
+	default y
+	help
+	  On hardened system it could be useful to disable the use of
+	  LD_LIBRARY_PATH environment variable (a colon-separated list of
+	  directories in which to search for ELF libraries at execution-time).
+
+	  If unsure, simply say Y here.
+
+config LDSO_NO_CLEANUP
+	bool "Disable automatic unloading of dynamically loaded shared objects"
+	depends on HAVE_SHARED
+	default n
+	help
+	  If you need complete allocation traces when debugging memory leaks
+	  using Valgrind in a process that dynamically loads shared objects,
+	  then answer Y here. Unlike glibc, uClibc unloads all dynamically
+	  loaded shared objects when a process exits, which prevents Valgrind
+	  from correctly resolving the symbols from the unloaded shared objects.
+	  Unless you know you need this, you should answer N.
+
+config UCLIBC_CTOR_DTOR
+	bool "Support global constructors and destructors"
+	default y
+	help
+	  If you wish to build uClibc with support for global constructor
+	  (ctor) and global destructor (dtor) support, then answer Y here.
+	  When ctor/dtor support is enabled, binaries linked with uClibc must
+	  also be linked with crtbegin.o and crtend.o which are provided by gcc
+	  (the "*startfile:" and "*endfile:" settings in your gcc specs file
+	  may need to be adjusted to include these files).  This support will
+	  also add a small amount of additional size to each binary compiled vs
+	  uClibc.  If you will be using uClibc with C++, or if you need the gcc
+	  __attribute__((constructor)) and __attribute__((destructor)) to work,
+	  then you definitely want to answer Y here.  If you don't need ctors
+	  or dtors and want your binaries to be as small as possible, then
+	  answer N.
+
+config LDSO_GNU_HASH_SUPPORT
+	bool "Enable GNU hash style support"
+	depends on HAVE_SHARED
+	help
+	  Newest binutils support a new hash style named GNU-hash. The dynamic
+	  linker will use the new GNU-hash section (.gnu.hash) for symbol lookup
+	  if present into the ELF binaries, otherwise it will use the old SysV
+	  hash style (.hash). This ensures that it is completely backward
+	  compatible.
+	  Further, being the hash table implementation self-contained into each
+	  executable and shared libraries, objects with mixed hash style can
+	  peacefully coexist in the same process.
+
+	  If you want to use this new feature, answer Y
+
+choice
+	prompt "Thread support"
+	#default UCLIBC_HAS_THREADS_NATIVE if (TARGET_alpha || TARGET_arm || TARGET_i386 || TARGET_mips || TARGET_powerpc || TARGET_sh || TARGET_sh64)
+	default HAS_NO_THREADS
+	help
+	  If you want to compile uClibc with pthread support, then answer Y.
+	  This will increase the size of uClibc by adding a bunch of locking
+	  to critical data structures, and adding extra code to ensure that
+	  functions are properly reentrant.
+
+config HAS_NO_THREADS
+	bool "none"
+	help
+	  Disable thread support.
+
+config LINUXTHREADS_OLD
+	bool "older (stable) version of linuxthreads"
+	# linuxthreads and linuxthreads.old need nanosleep()
+	select UCLIBC_HAS_REALTIME
+	help
+	  There are two versions of linuxthreads.  The older (stable) version
+	  has been in uClibc for quite a long time but hasn't seen too many
+	  updates other than bugfixes.
+
+
+config LINUXTHREADS_NEW
+	bool "slightly newer version of linuxthreads"
+	help
+	  The new version has not been tested much, and lacks ports for arches
+	  which glibc does not support (like bfin/frv/etc...), but is based on
+	  the latest code from glibc, so it may be the only choice for the
+	  newer ports (like alpha/amd64/64bit arches and hppa).
+
+config UCLIBC_HAS_THREADS_NATIVE
+	bool "Native POSIX Threading (NPTL)"
+	select UCLIBC_HAS_TLS
+	select UCLIBC_HAS_STDIO_FUTEXES
+	# i386 has no lowlevellock support (yet) as opposed to i486 onward
+	depends on !CONFIG_386
+	help
+	  If you want to compile uClibc with NPTL support, then answer Y.
+
+	  IMPORTANT NOTE!  NPTL requires a Linux 2.6 kernel, binutils
+	  at least version 2.16 and GCC with at least version 4.1.0. NPTL
+	  will not work with older versions of any above sources. If you
+	  ignore any of these guidelines, you do so at your own risk. Do
+	  not ask for help on any of the development mailing lists.
+
+	  !!!! WARNING !!!! BIG FAT WARNING !!!! REALLY BIG FAT WARNING !!!!
+
+	  This is experimental code and at times it may not even build and
+	  even if it does it might decide to do random damage. This code is
+	  potentially hazardous to your health and sanity. It will remain
+	  that way until further notice at which point this notice will
+	  disappear. Thank you for your support and for not smoking.
+
+endchoice
+
+config UCLIBC_HAS_THREADS
+	def_bool y if !HAS_NO_THREADS
+
+config UCLIBC_HAS_TLS
+	bool "Thread-Local Storage"
+	depends on UCLIBC_HAS_THREADS_NATIVE
+	help
+	  If you want to enable TLS support then answer Y.
+	  This is fast an efficient way to store per-thread local data
+	  which is not on stack. It needs __thread support enabled in
+	  gcc.
+
+config PTHREADS_DEBUG_SUPPORT
+	bool "Build pthreads debugging support"
+	depends on UCLIBC_HAS_THREADS
+	help
+	  Say Y here if you wish to be able to debug applications that use
+	  uClibc's pthreads library.  By enabling this option, a library
+	  named libthread_db will be built.  This library will be dlopen()'d
+	  by gdb and will allow gdb to debug the threads in your application.
+
+	  IMPORTANT NOTE!  Because gdb must dlopen() the libthread_db library,
+	  you must compile gdb with uClibc in order for pthread debugging to
+	  work properly.
+
+	  If you are doing development and want to debug applications using
+	  uClibc's pthread library, answer Y.  Otherwise, answer N.
+
+
+config UCLIBC_HAS_SYSLOG
+	bool "Syslog support"
+	default y
+	depends on UCLIBC_HAS_NETWORK_SUPPORT
+	select UCLIBC_HAS_SOCKET
+	help
+	  Support sending messages to the system logger.
+	  This requires socket-support.
+
+config UCLIBC_HAS_LFS
+	bool "Large File Support"
+	default y
+	help
+	  If you wish to build uClibc with support for accessing large files
+	  (i.e. files greater then 2 GiB) then answer Y.  Do not enable this
+	  if you are using an older Linux kernel (2.0.x) that lacks large file
+	  support.  Enabling this option will increase the size of uClibc.
+
+choice
+	prompt "Malloc Implementation"
+	default MALLOC if ! ARCH_USE_MMU
+	default MALLOC_STANDARD if ARCH_USE_MMU
+
+config MALLOC
+	bool "malloc"
+	help
+	  "malloc" use mmap for all allocations and so works very well on
+	  MMU-less systems that do not support the brk() system call.   It is
+	  pretty smart about reusing already allocated memory, and minimizing
+	  memory wastage.
+	  This is the default for uClinux MMU-less systems.
+
+config MALLOC_SIMPLE
+	bool "malloc-simple"
+	help
+	  "malloc-simple" is trivially simple and slow as molasses.  It
+	  was written from scratch for uClibc, and is the simplest possible
+	  (and therefore smallest) malloc implementation.
+
+	  This uses only the mmap() system call to allocate and free memory,
+	  and does not use the brk() system call at all, making it a fine
+	  choice for MMU-less systems with very limited memory.  It's 100%
+	  standards compliant, thread safe, very small, and releases freed
+	  memory back to the OS immediately rather than keeping it in the
+	  process's heap for reallocation.  It is also VERY SLOW.
+
+config MALLOC_STANDARD
+	bool "malloc-standard"
+	depends on ARCH_USE_MMU
+	help
+	  "malloc-standard" is derived from the public domain dlmalloc
+	  implementation by Doug Lea.  It is quite fast, and is pretty smart
+	  about reusing already allocated memory, and minimizing memory
+	  wastage.  This uses brk() for small allocations, while using mmap()
+	  for larger allocations.  This is the default malloc implementation
+	  for uClibc.
+
+	  If unsure, answer "malloc-standard".
+
+endchoice
+
+config MALLOC_GLIBC_COMPAT
+	bool "Malloc returns live pointer for malloc(0)"
+	help
+	  The behavior of malloc(0) is listed as implementation-defined by
+	  SuSv3.  Glibc returns a valid pointer to something, while uClibc
+	  normally returns NULL.  I personally feel glibc's behavior is
+	  not particularly safe, and allows buggy applications to hide very
+	  serious problems.
+
+	  When this option is enabled, uClibc will act just like glibc, and
+	  return a live pointer when someone calls malloc(0).  This pointer
+	  provides a malloc'ed area with a size of 1 byte.  This feature is
+	  mostly useful when dealing with applications using autoconf's broken
+	  AC_FUNC_MALLOC macro (which redefines malloc as rpl_malloc if it
+	  does not detect glibc style returning-a-valid-pointer-for-malloc(0)
+	  behavior).  Most people can safely answer N.
+
+config UCLIBC_DYNAMIC_ATEXIT
+	bool "Dynamic atexit() Support"
+	default y
+	help
+	  When this option is enabled, uClibc will support an infinite number,
+	  of atexit() and on_exit() functions, limited only by your available
+	  memory.  This can be important when uClibc is used with C++, since
+	  global destructors are implemented via atexit(), and it is quite
+	  possible to exceed the default number when this option is disabled.
+	  Enabling this option adds a few bytes, and more significantly makes
+	  atexit and on_exit depend on malloc, which can be bad when compiling
+	  static executables.
+
+	  Unless you use uClibc with C++, you should probably answer N.
+
+config COMPAT_ATEXIT
+	bool "Old (visible) atexit Support"
+	help
+	  Enable this option if you want to update from 0.9.28 to git/0.9.29,
+	  else you will be missing atexit() until you rebuild all apps.
+
+config UCLIBC_SUSV3_LEGACY
+	bool "Enable SuSv3 LEGACY functions"
+	#vfork,
+	# h_errno
+	# gethostbyaddr
+	# gethostbyname
+	help
+	  Enable this option if you want to have SuSv3 LEGACY functions
+	  in the library, else they are replaced by SuSv3 proposed macros.
+	  Currently applies to:
+
+	  bcmp, bcopy, bzero, index, rindex, ftime,
+	  bsd_signal, (ecvt), (fcvt), gcvt, (getcontext),
+	  (getwd), (makecontext),
+	  mktemp, (pthread_attr_getstackaddr), (pthread_attr_setstackaddr),
+	  scalb, (setcontext), (swapcontext), ualarm, usleep,
+	  wcswcs.
+
+	  WARNING! ABI incompatibility.
+
+config UCLIBC_SUSV3_LEGACY_MACROS
+	bool "Enable SuSv3 LEGACY macros"
+	help
+	  Enable this option if you want to have SuSv3 LEGACY macros.
+	  Currently applies to bcopy/bzero/bcmp/index/rindex et al.
+	  WARNING! ABI incompatibility.
+
+config UCLIBC_SUSV4_LEGACY
+	bool "Enable SuSv4 LEGACY or obsolescent functions"
+	help
+	  Enable this option if you want to have SuSv4 LEGACY functions
+	  and macros in the library.
+	  Currently applies to:
+
+	  - XSI functions:
+	    _longjmp, _setjmp, _tolower, _toupper, ftw, getitimer,
+	    gettimeofday, isascii, pthread_getconcurrency,
+	    pthread_setconcurrency, setitimer, setpgrp, sighold,
+	    sigignore, sigpause, sigrelse, sigset, siginterrupt,
+	    tempnam, toascii, ulimit.
+
+	  - Base functions:
+	    asctime, asctime_r, ctime, ctime_r, gets, rand_r,
+	    tmpnam, utime.
+
+	  WARNING! ABI incompatibility.
+
+config UCLIBC_STRICT_HEADERS
+	bool "Hide structures and constants for unsupported features"
+	help
+	  Hide structures and constants in headers that should not be used,
+	  because the respective feature is disabled.
+
+	  WARNING! enabling this option requires to patch many faulty apps,
+	  since they make (wrongly) use of these structures/constants,
+	  although the feature was disabled.
+
+config UCLIBC_HAS_STUBS
+	bool "Provide stubs for unavailable functionality"
+	help
+	  With this option uClibc provides non-functional stubs for
+	  functions which are impossible to implement on the target
+	  architecture. Otherwise, such functions are simply omitted.
+
+config UCLIBC_HAS_SHADOW
+	bool "Shadow Password Support"
+	default y
+	help
+	  Answer N if you do not need shadow password support.
+	  Most people will answer Y.
+
+config UCLIBC_HAS_PROGRAM_INVOCATION_NAME
+	bool "Support for program_invocation_name"
+	help
+	  Support for the GNU-specific program_invocation_name and
+	  program_invocation_short_name strings.  Some GNU packages
+	  (like tar and coreutils) utilize these for extra useful
+	  output, but in general are not required.
+
+	  At startup, these external strings are automatically set
+	  up based on the value of ARGV[0].
+
+	  If unsure, just answer N.
+
+config UCLIBC_HAS___PROGNAME
+	bool "Support for __progname"
+	default y
+	depends on UCLIBC_HAS_PROGRAM_INVOCATION_NAME
+	help
+	  Some packages (like openssh) like to peek into internal libc
+	  symbols to make their output a bit more user friendly.
+
+	  At startup, __progname is automatically set up based on the
+	  value of ARGV[0].
+
+	  If unsure, just answer N.
+
+config UCLIBC_HAS_PTY
+	bool "Support for pseudo-terminals"
+	default y
+	help
+	  This enables support for pseudo-terminals (see man 4 pts
+	  and man 7 pty).
+
+	  If unsure, just answer Y.
+
+config ASSUME_DEVPTS
+	bool "Assume that /dev/pts is a devpts or devfs file system"
+	default y
+	depends on UCLIBC_HAS_PTY
+	help
+	  Enable this if /dev/pts is on a devpts or devfs filesystem.  Both
+	  these filesystems automatically manage permissions on the /dev/pts
+	  devices.  You may need to mount your devpts or devfs filesystem on
+	  /dev/pts for this to work.
+
+	  Most people should answer Y.
+
+config UNIX98PTY_ONLY
+	bool "Support only Unix 98 PTYs"
+	default y
+	depends on UCLIBC_HAS_PTY
+	help
+	  If you want to support only Unix 98 PTYs enable this.  Some older
+	  applications may need this disabled and will thus use legacy BSD
+	  style PTY handling which is more complex and also bigger than
+	  Unix 98 PTY handling.
+
+	  For most current programs, you can generally answer Y.
+
+if UNIX98PTY_ONLY
+config UCLIBC_HAS_GETPT
+	bool "Support getpt() (glibc-compat)"
+	depends on UCLIBC_HAS_PTY
+	help
+	  Some packages may need getpt().
+	  All of those are non-standard and can be considered
+	  GNU/libc compatibility.
+	  Either use posix_openpt() or just open /dev/ptmx yourself.
+
+	  If unsure, just say N.
+endif
+
+if !UNIX98PTY_ONLY
+# Have to use __libc_ptyname{1,2}[] and related bloat
+config UCLIBC_HAS_GETPT
+	def_bool y
+endif
+
+config UCLIBC_HAS_LIBUTIL
+	bool "Provide libutil library and functions"
+	depends on UCLIBC_HAS_PTY
+	help
+	  Provide a libutil library.
+	  This non-standard conforming library provides the following
+	  utility functions:
+
+	  forkpty(): combines openpty(), fork(2), and login_tty() to
+	               create a new process operating in a pseudo-terminal.
+	  login(): write utmp and wtmp entries
+	  login_tty(): prepares for a login on the tty fd by creating a
+	               new session, making fd the controlling terminal for
+	               the calling process, setting fd to be the standard
+	               input, output, and error streams of the current
+	               process, and closing fd.
+	  logout(): write utmp and wtmp entries
+	  logwtmp(): constructs a utmp structure and calls updwtmp() to
+	               append the structure to the utmp file.
+	  openpty(): finds an available pseudo-terminal and returns
+	               file descriptors for the master and slave
+
+	  This library adds about 3k-4k to your system.
+
+config UCLIBC_HAS_TM_EXTENSIONS
+	bool "Support 'struct tm' timezone extension fields"
+	default y
+	help
+	  Enabling this option adds fields to 'struct tm' in time.h for
+	  tracking the number of seconds east of UTC, and an abbreviation for
+	  the current timezone.  These fields are not specified by the SuSv3
+	  standard, but they are commonly used in both GNU and BSD application
+	  code.
+
+	  To strictly follow the SuSv3 standard, leave this disabled.
+	  Most people will probably want to answer Y.
+
+config UCLIBC_HAS_TZ_CACHING
+	bool "Enable caching of the last valid timezone 'TZ' string"
+	default y
+	help
+	  Answer Y to enable caching of the last valid 'TZ' string describing
+	  the timezone setting.  This allows a quick string compare to avoid
+	  repeated parsing of unchanged 'TZ' strings when tzset() is called.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_TZ_FILE
+	bool "Enable '/etc/TZ' file support to set a default timezone (uClibc-specific)"
+	default y
+	help
+	  Answer Y to enable the setting of a default timezone for uClibc.
+
+	  Ordinarily, uClibc gets the timezone information exclusively from the
+	  'TZ' environment variable.  In particular, there is no support for
+	  the zoneinfo directory tree or the /etc/timezone file used by glibc.
+
+	  With this option enabled, uClibc will use the value stored in the
+	  file '/etc/TZ' (default path) to obtain timezone information if the
+	  'TZ' environment variable is missing or has an invalid value.  The
+	  file consists of a single line (newline required) of text describing
+	  the timezone in the format specified for the TZ environment variable.
+
+	  Doing 'echo CST6CDT > /etc/TZ' is enough to create a valid file.
+	  See
+	  http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap08.html
+	  for details on valid settings of 'TZ'.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_TZ_FILE_READ_MANY
+	bool "Repeatedly read the '/etc/TZ' file"
+	depends on UCLIBC_HAS_TZ_FILE
+	default y
+	help
+	  Answer Y to enable repeated reading of the '/etc/TZ' file even after
+	  a valid value has been read.  This incurs the overhead of an
+	  open/read/close for each tzset() call (explicit or implied).  However,
+	  setting this will allow applications to update their timezone
+	  information if the contents of the file change.
+
+	  Most people will answer Y.
+
+config UCLIBC_TZ_FILE_PATH
+	string "Path to the 'TZ' file for setting the global timezone"
+	depends on UCLIBC_HAS_TZ_FILE
+	default "/etc/TZ"
+	help
+	  This is the path to the 'TZ' file.
+
+	  Most people will use the default of '/etc/TZ'.
+
+config UCLIBC_FALLBACK_TO_ETC_LOCALTIME
+	bool "Use /etc/localtime as a fallback"
+	depends on UCLIBC_HAS_TZ_FILE
+	default y
+	help
+	  Answer Y to try to use /etc/localtime file.
+	  On glibc systems this file (if it is in TZif2 format)
+	  contains timezone string at the end.
+
+	  Most people will answer Y.
+
+endmenu
+
+menu "Advanced Library Settings"
+
+config UCLIBC_PWD_BUFFER_SIZE
+	int "Buffer size for getpwnam() and friends"
+	default 256
+	range 12 1024
+	help
+	  This sets the value of the buffer size for getpwnam() and friends.
+	  By default, this is 256. (For reference, glibc uses 1024).
+	  The value can be found using sysconf() with the _SC_GETPW_R_SIZE_MAX
+	  parameter.
+
+config UCLIBC_GRP_BUFFER_SIZE
+	int "Buffer size for getgrnam() and friends"
+	default 256
+	range 12 1024
+	help
+	  This sets the value of the buffer size for getgrnam() and friends.
+	  By default, this is 256. (For reference, glibc uses 1024).
+	  The value can be found using sysconf() with the _SC_GETGR_R_SIZE_MAX
+	  parameter.
+
+comment "Support various families of functions"
+
+config UCLIBC_LINUX_MODULE_26
+	bool "Linux kernel module functions (2.6)"
+	default y
+	help
+	  delete_module, init_module
+	  are used in linux for loadable kernel modules.
+
+	  Say N if you do not use kernel modules.
+
+config UCLIBC_LINUX_MODULE_24
+	bool "Linux kernel module functions (<2.6)"
+	depends on !TARGET_bfin && !TARGET_c6x
+	help
+	  create_module, query_module
+	  are used in linux (prior to 2.6) for loadable kernel modules.
+
+	  Say N if you do not use kernel modules, or you only support
+	  Linux 2.6+.
+
+config UCLIBC_LINUX_SPECIFIC
+	bool "Linux specific functions"
+	default y
+	help
+	  accept4(), bdflush(),
+	  capget(), capset(), eventfd(), fstatfs(),
+	  inotify_*(), ioperm(), iopl(),
+	  madvise(), modify_ldt(), pipe2(), personality(),
+	  prctl()/arch_prctl(), pivot_root(), modify_ldt(),
+	  ppoll(), readahead(), reboot(), remap_file_pages(),
+	  sched_getaffinity(), sched_setaffinity(), sendfile(),
+	  setfsgid(), setfsuid(), setresgid(), setresuid(),
+	  splice(), vmsplice(), tee(), signalfd(), swapoff(), swapon(),
+	  sync_file_range(), _sysctl(), sysinfo(), timerfd_*(), vhangup(),
+	  umount(), umount2()
+
+config UCLIBC_HAS_GNU_ERROR
+	bool "Support GNU extensions for error-reporting"
+	default y
+	help
+	  Support for the GNU-specific error(), error_at_line(),
+	  void (* error_print_progname)(), error_message_count
+	  functions and variables.  Some GNU packages
+	  utilize these for extra useful output, but in general
+	  are not required.
+
+	  If unsure, just answer N.
+
+config UCLIBC_BSD_SPECIFIC
+	bool "BSD specific functions"
+	default y
+	help
+	  mincore(), getdomainname(), setdomainname()
+
+	  If unsure, say N.
+
+config UCLIBC_HAS_BSD_ERR
+	bool "BSD err functions"
+	default y
+	help
+	  These functions are non-standard BSD extensions.
+	  err(), errx(), warn(), warnx(), verr(), verrx(), vwarn(), vwarnx()
+
+	  If unsure, say N.
+
+config UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
+	bool "BSD obsolete signal functions"
+	help
+	  These functions are provided as a compatibility interface for
+	  programs that make use of the historical System V signal API.
+	  This API is obsolete:
+	  new applications should use the POSIX signal API (sigaction(2),
+	  sigprocmask(2), etc.).
+	  Affected functions:
+
+	  sigset(), sighold(), sigrelse(), sigignore()
+
+	  If unsure, say N.
+
+config UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL
+	bool "SYSV obsolete signal functions"
+	help
+	  Use of sysv_signal() should be avoided; use sigaction(2) instead.
+
+	  If unsure, say N.
+
+config UCLIBC_NTP_LEGACY
+	bool "ntp_*() aliases"
+	help
+	  Provide legacy aliases for ntp functions:
+	  ntp_adjtime(), ntp_gettime()
+
+	  It is safe to say N here.
+
+config UCLIBC_SV4_DEPRECATED
+	bool "Enable SVr4 deprecated functions"
+	help
+	  These functions are DEPRECATED in System V release 4.
+	  Say N unless you desparately need one of the functions below:
+
+	  ustat() [use statfs(2) in your code instead]
+
+config UCLIBC_HAS_REALTIME
+	bool "Realtime-related family of SUSv functions"
+	default y
+	help
+	  These functions are part of the Timers option and need not
+	  be available on all implementations.
+	  Includes AIO, message-queue, scheduler, semaphore functions:
+
+	  aio.h
+	  mqueue.h
+	  sched.h
+	  semaphore.h
+
+	  aio_cancel()
+	  aio_error()
+	  aio_fsync()
+	  aio_read()
+	  lio_listio()
+	  aio_return()
+	  aio_suspend()
+	  aio_write()
+	  clock_getres(), clock_gettime(), clock_settime()
+	  fdatasync()
+	  mlockall(), munlockall()
+	  mlock(), munlock()
+	  mq_close()
+	  mq_getattr()
+	  mq_notify()
+	  mq_open()
+	  mq_receive()
+	  mq_send()
+	  mq_setattr()
+	  mq_unlink()
+	  nanosleep()
+	  sched_getparam()
+	  sched_get_priority_max(), sched_get_priority_min()
+	  sched_getscheduler()
+	  sched_rr_get_interval()
+	  sched_setparam()
+	  sched_setscheduler()
+	  sem_close()
+	  sem_destroy()
+	  sem_getvalue()
+	  sem_init()
+	  sem_open()
+	  sem_post()
+	  sem_trywait(), sem_wait()
+	  sem_unlink()
+	  sigqueue()
+	  sigtimedwait(), sigwaitinfo()
+	  timer_create()
+	  timer_delete()
+	  timer_getoverrun(), timer_gettime(), timer_settime()
+
+config UCLIBC_HAS_ADVANCED_REALTIME
+	bool "Advanced realtime-related family of SUSv functions"
+	default y
+	depends on UCLIBC_HAS_REALTIME
+	help
+	  These functions are part of the Timers option and need not
+	  be available on all implementations.
+
+	  clock_getcpuclockid()
+	  clock_nanosleep()
+	  mq_timedreceive()
+	  mq_timedsend()
+	  posix_fadvise()
+	  posix_fallocate()
+	  posix_madvise()
+	  posix_memalign()
+	  posix_mem_offset()
+	  posix_spawnattr_destroy(), posix_spawnattr_init()
+	  posix_spawnattr_getflags(), posix_spawnattr_setflags()
+	  posix_spawnattr_getpgroup(), posix_spawnattr_setpgroup()
+	  posix_spawnattr_getschedparam(), posix_spawnattr_setschedparam()
+	  posix_spawnattr_getschedpolicy(), posix_spawnattr_setschedpolicy()
+	  posix_spawnattr_getsigdefault(), posix_spawnattr_setsigdefault()
+	  posix_spawnattr_getsigmask(), posix_spawnattr_setsigmask()
+	  posix_spawn_file_actions_addclose()
+	  posix_spawn_file_actions_adddup2()
+	  posix_spawn_file_actions_addopen()
+	  posix_spawn_file_actions_destroy()
+	  posix_spawn_file_actions_init()
+	  posix_spawn()
+	  posix_spawnp()
+	  posix_typed_mem_get_info()
+	  pthread_mutex_timedlock()
+	  sem_timedwait()
+
+#config UCLIBC_HAS_TERMIOS
+#	bool "termios functions"
+#	default y
+#	help
+#	  Get and set terminal attributes, line control, get and set baud
+#	  rate.
+#	  termios(), tcgetattr(), tcsetattr(), tcsendbreak(), tcdrain(),
+#	  tcflush(), tcflow(), cfmakeraw(), cfgetospeed(), cfgetispeed(),
+#	  cfsetispeed(), cfsetospeed(), cfsetspeed()
+#
+#	  If unsure, say Y.
+
+config UCLIBC_HAS_EPOLL
+	bool "epoll"
+	default y
+	help
+	  epoll_create(), epoll_ctl(), epoll_wait() functions.
+
+config UCLIBC_HAS_XATTR
+	bool "Extended Attributes"
+	default y
+	help
+	  Extended Attributes support.
+
+	  setxattr()
+	  lsetxattr()
+	  fsetxattr()
+	  getxattr()
+	  lgetxattr()
+	  fgetxattr()
+	  listxattr()
+	  llistxattr()
+	  flistxattr()
+	  removexattr()
+	  lremovexattr()
+	  fremovexattr()
+
+	  Say N unless you need support for extended attributes and the
+	  filesystems do actually support them.
+
+config UCLIBC_HAS_PROFILING
+	bool "Profiling support"
+	default y
+	help
+	  gcc's -finstrument-functions needs these.
+
+	  Most people can safely answer N.
+
+config UCLIBC_HAS_CRYPT_IMPL
+	bool "libcrypt support"
+	default y
+	help
+	  libcrypt contains crypt(), setkey() and encrypt()
+
+config UCLIBC_HAS_SHA256_CRYPT_IMPL
+	bool "libcrypt SHA256 support"
+	depends on UCLIBC_HAS_CRYPT_IMPL
+	help
+	  This adds support for SHA256 password hashing via the crypt() function.
+	  Say N here if you do not need SHA256 crypt support.
+
+config UCLIBC_HAS_SHA512_CRYPT_IMPL
+	bool "libcrypt SHA512 support"
+	depends on UCLIBC_HAS_CRYPT_IMPL
+	help
+	  This adds support for SHA512 password hashing via the crypt() function.
+	  Say N here if you do not need SHA512 crypt support.
+
+config UCLIBC_HAS_CRYPT_STUB
+	bool "libcrypt stubs"
+	default y
+	depends on !UCLIBC_HAS_CRYPT_IMPL
+	help
+	  Standards mandate that crypt(3) provides a stub if it is unavailable.
+	  If you enable this option then stubs for
+	    crypt(), setkey() and encrypt()
+	  will be provided in a small libcrypt.
+
+config UCLIBC_HAS_CRYPT
+	def_bool y
+	depends on UCLIBC_HAS_CRYPT_IMPL || UCLIBC_HAS_CRYPT_STUB
+endmenu
+
+menuconfig UCLIBC_HAS_NETWORK_SUPPORT
+	bool "Networking Support"
+	default y
+	help
+	  Say N here if you do not need network support.
+
+if UCLIBC_HAS_NETWORK_SUPPORT
+config UCLIBC_HAS_SOCKET
+	bool "Socket support"
+	default y
+	help
+	  If you want to include support for sockets then answer Y.
+
+config UCLIBC_HAS_IPV4
+	bool "IP version 4 support"
+	default y
+	select UCLIBC_HAS_SOCKET
+	help
+	  If you want to include support for the Internet Protocol
+	  (IP version 4) then answer Y.
+
+	  Most people will say Y.
+
+config UCLIBC_HAS_IPV6
+	bool "IP version 6 support"
+	select UCLIBC_HAS_SOCKET
+	help
+	  If you want to include support for the next version of the Internet
+	  Protocol (IP version 6) then answer Y.
+
+	  Most people should answer N.
+
+config UCLIBC_HAS_RPC
+	bool "Remote Procedure Call (RPC) support"
+	# RPC+socket-ipvX doesn't currently work.
+	depends on UCLIBC_HAS_IPV4 || UCLIBC_HAS_IPV6
+	help
+	  If you want to include RPC support, enable this.  RPC is rarely used
+	  for anything except for the NFS filesystem.  Unless you plan to use
+	  NFS, you can probably leave this set to N and save some space.
+
+	  If you need to use NFS then you should answer Y.
+
+config UCLIBC_HAS_FULL_RPC
+	bool "Full RPC support"
+	depends on UCLIBC_HAS_RPC
+	default y if !HAVE_SHARED
+	help
+	  Normally we enable just enough RPC support for things like rshd and
+	  nfs mounts to work.  If you find you need the rest of the RPC stuff,
+	  then enable this option.  Most people can safely answer N.
+
+config UCLIBC_HAS_REENTRANT_RPC
+	bool "Reentrant RPC support"
+	depends on UCLIBC_HAS_RPC
+	default y if !HAVE_SHARED
+	help
+	  Most packages utilize the normal (non-reentrant) RPC functions, but
+	  some (like exportfs from nfs-utils) need these reentrant versions.
+
+	  Most people can safely answer N.
+
+config UCLIBC_USE_NETLINK
+	bool "Use netlink to query interfaces"
+	depends on UCLIBC_HAS_SOCKET
+	help
+	  In newer versions of Linux (2.4.17+), support was added for querying
+	  network device information via netlink rather than the old style
+	  ioctl's.  Most of the time, the older ioctl style is sufficient (and
+	  it is smaller than netlink), but if you find that not all of your
+	  devices are being returned by the if_nameindex() function, you will
+	  have to use the netlink implementation.
+
+	  Most people can safely answer N.
+
+config UCLIBC_SUPPORT_AI_ADDRCONFIG
+	bool "Support the AI_ADDRCONFIG flag"
+	depends on UCLIBC_USE_NETLINK
+	help
+	  The implementation of AI_ADDRCONFIG is aligned with the glibc
+	  implementation using netlink to query interfaces to find both
+	  ipv4 and ipv6 support. This is only needed if an application uses
+	  the AI_ADDRCONFIG flag.
+
+	  Most people can safely answer N.
+
+config UCLIBC_HAS_BSD_RES_CLOSE
+	bool "Support res_close() (bsd-compat)"
+	help
+	  Answer Y if you desperately want to support BSD compatibility in
+	  the network code.
+
+	  Most people will say N.
+
+config UCLIBC_HAS_COMPAT_RES_STATE
+	bool "Use compatible but bloated _res"
+	default y
+	help
+	  Answer Y if you build network utilities and they muck with resolver
+	  internals a lot (_res global structure). uclibc does not use most
+	  of _res.XXX fields, and with this option OFF they won't even exist.
+	  Which will make e.g. dig build fail.
+	  Answering N saves around 400 bytes in bss.
+
+config UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
+	bool "Use extra compatible but extra bloated _res"
+	help
+	  Answer Y if selecting UCLIBC_HAS_COMPAT_RES_STATE is not enough.
+	  As far as I can say, this should never be needed.
+
+config UCLIBC_HAS_RESOLVER_SUPPORT
+	bool "DNS resolver functions"
+	select UCLIBC_HAS_COMPAT_RES_STATE
+	depends on UCLIBC_HAS_IPV4 || UCLIBC_HAS_IPV6
+	help
+	  Provide implementations for DNS resolver functions.
+	  In particular, the following functions will be added to the
+	  library:
+
+	  ns_get16, ns_get32, ns_put16, ns_put32
+
+config UCLIBC_HAS_LIBRESOLV_STUB
+	bool "Provide libresolv stub"
+	help
+	  Provide a dummy resolv library.
+
+config UCLIBC_HAS_LIBNSL_STUB
+	bool "Provide libnsl stub"
+	help
+	  Provide a dummy nsl library.
+
+endif
+
+
+menu "String and Stdio Support"
+
+config UCLIBC_HAS_STRING_GENERIC_OPT
+	bool "Use faster (but larger) generic string functions"
+	default y
+	help
+	  Answer Y to use the (tweaked) glibc generic string functions.
+
+	  In general, they are faster (but 3-5K larger) than the base
+	  uClibc string functions which are optimized solely for size.
+
+	  Many people will answer Y.
+
+config UCLIBC_HAS_STRING_ARCH_OPT
+	bool "Use arch-specific assembly string functions (where available)"
+	default y
+	help
+	  Answer Y to use any archtecture-specific assembly language string
+	  functions available for this target plaform.
+
+	  Note that assembly implementations are not available for all string
+	  functions, so some generic (written in C) string functions may
+	  still be used.
+
+	  These are small and fast, the only reason _not_ to say Y here is
+	  for debugging purposes.
+
+config UCLIBC_HAS_CTYPE_TABLES
+	bool "Use Table Versions Of 'ctype.h' Functions."
+	default y
+	help
+	  Answer Y to use table versions of the 'ctype.h' functions.
+	  While the non-table versions are often smaller when building
+	  statically linked apps, they work only in stub locale mode.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_CTYPE_SIGNED
+	bool "Support Signed Characters In 'ctype.h' Functions."
+	depends on UCLIBC_HAS_CTYPE_TABLES
+	default y
+	help
+	  Answer Y to enable support for passing signed char values to
+	  the 'ctype.h' functions.  ANSI/ISO C99 and SUSv3 specify that
+	  these functions are only defined for unsigned char values and
+	  EOF.  However, glibc allows negative signed char values as well
+	  in order to support 'broken old programs'.
+
+	  Most people will answer Y.
+
+choice
+	prompt "ctype argument checking"
+	depends on UCLIBC_HAS_CTYPE_TABLES
+	default UCLIBC_HAS_CTYPE_UNSAFE
+	help
+	  Please select the invalid arg behavior you want for the 'ctype'
+	  functions.
+
+	  The 'ctype' functions are now implemented using table lookups, with
+	  the arg being the index.  This can result in incorrect memory accesses
+	  or even segfaults for args outside of the allowed range.
+
+	  NOTE: This only affects the 'ctype' _functions_.  It does not affect
+	  the macro implementations.
+
+config UCLIBC_HAS_CTYPE_UNSAFE
+	bool "Do not check -- unsafe"
+
+config UCLIBC_HAS_CTYPE_CHECKED
+	bool "Detect and handle appropriately"
+
+config UCLIBC_HAS_CTYPE_ENFORCED
+	bool "Issue a diagnostic and abort()"
+
+endchoice
+
+
+config UCLIBC_HAS_WCHAR
+	bool "Wide Character Support"
+	help
+	  Answer Y to enable wide character support.  This will make uClibc
+	  much larger.  It is also currently required for locale support.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_LOCALE
+	bool "Locale Support"
+	select UCLIBC_HAS_WCHAR
+	select UCLIBC_HAS_CTYPE_TABLES
+	help
+	  uClibc now has full ANSI/ISO C99 locale support (except for
+	  wcsftime() and collating items in regex).  Be aware that enabling
+	  this option will make uClibc much larger.
+
+	  Enabling UCLIBC_HAS_LOCALE with the default set of supported locales
+	  (169 UTF-8 locales, and 144 locales for other codesets) will enlarge
+	  uClibc by around 300k.  You can reduce this size by building your own
+	  custom set of locate data (see extra/locale/LOCALES for details).
+
+	  uClibc's locale support is still under development.  For example,
+	  codesets using shift states are not currently supported.  Support is
+	  planned in the next iteration of locale support.
+
+	  Answer Y to enable locale support.  Most people will answer N.
+
+choice
+
+prompt "Locale data"
+	depends on UCLIBC_HAS_LOCALE
+	default UCLIBC_BUILD_ALL_LOCALE
+
+config UCLIBC_BUILD_ALL_LOCALE
+	bool "All locales"
+	depends on UCLIBC_HAS_LOCALE
+	help
+	  This builds all the locales that are available on your
+	  host-box.
+
+config UCLIBC_BUILD_MINIMAL_LOCALE
+	bool "Only selected locales"
+	depends on UCLIBC_HAS_LOCALE
+	help
+	  If you do not need all locales that are available on your
+	  host-box, then set this to 'Y'.
+
+config UCLIBC_PREGENERATED_LOCALE_DATA
+	bool "Use Pre-generated Locale Data"
+	depends on UCLIBC_HAS_LOCALE
+	help
+	  Use pre-built locale data.
+
+	  Note that these pregenerated locales are sensitive to your
+	  target architecture (endianess, bitcount).
+
+	  Saying N here is highly recommended.
+
+endchoice
+
+config UCLIBC_BUILD_MINIMAL_LOCALES
+	string "locales to use"
+	depends on UCLIBC_BUILD_MINIMAL_LOCALE
+	default "en_US"
+	help
+	  Space separated list of locales to use.
+
+	  E.g.:
+	      en_US en_GB de_AT
+	  default:
+	      en_US
+
+config UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
+	bool "Automagically Download the Pre-generated Locale Data (if necessary)"
+	depends on UCLIBC_PREGENERATED_LOCALE_DATA
+	help
+	  If you would like the build process to use 'wget' to automatically
+	  download the pregenerated locale data, enable this option.  Otherwise
+	  you will need to obtain the locale data yourself from:
+		http://www.uclibc.org/downloads/uClibc-locale-*.tgz
+	  and place the uClibc-locale-*.tgz tarball in the extra/locale/
+	  directory.
+
+	  Note that the use of pregenerated locale data is discouraged.
+
+config UCLIBC_HAS_XLOCALE
+	bool "Extended Locale Support (experimental/incomplete)"
+	depends on UCLIBC_HAS_LOCALE
+	help
+	  Answer Y to enable extended locale support similar to that provided
+	  by glibc.  This is primarily intended to support libstd++
+	  functionality.
+	  However, it also allows thread-specific locale selection via
+	  uselocale().
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_HEXADECIMAL_FLOATS
+	bool "Support hexadecimal float notation"
+	depends on UCLIBC_HAS_CTYPE_TABLES
+	depends on UCLIBC_HAS_FLOATS
+	help
+	  Answer Y to enable support for hexadecimal float notation in the
+	  (wchar and) char string to floating point conversion functions, as
+	   well as support for the %a and %A conversion specifiers in the
+	   *printf() and *scanf() functions.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GLIBC_DIGIT_GROUPING
+	bool "Support glibc's \"'\" flag for allowing locale-specific digit grouping"
+	depends on UCLIBC_HAS_LOCALE
+	depends on UCLIBC_HAS_FLOATS
+	help
+	  Answer Y to enable support for glibc's \"'\" flag for allowing
+	  locale-specific digit grouping in base 10 integer conversions and
+	  appropriate floating point conversions in the *printf() and *scanf()
+	  functions.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING
+	bool "Do not require digit grouping when the \"'\" flag is specified"
+	depends on UCLIBC_HAS_GLIBC_DIGIT_GROUPING
+	default y
+	help
+	  Answer Y to make digit grouping optional when the \"'\" flag is
+	  specified.
+	  This is the standard glibc behavior.  If the initial string of digits
+	  exceeds the maximum group number, the input will be treated as a
+	  normal non-grouped number.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
+	bool "Support glibc's register_printf_function() (glibc-compat)"
+	depends on !USE_OLD_VFPRINTF
+	help
+	  Answer Y to support glibc's register_printf_function() to allow an
+	  application to add its own printf conversion specifiers.
+	  parse_printf_format() is also enabled.
+
+	  NOTE: Limits the number or registered specifiers to 10.
+	  NOTE: Requires new conversion specifiers to be ASCII
+	        characters (0-0x7f).  This is to avoid problems with processing
+	        format strings in locales with different multibyte conversions.
+
+	  Most people will answer N.
+
+config USE_OLD_VFPRINTF
+	bool "Use the old vfprintf implementation"
+	depends on !UCLIBC_HAS_WCHAR
+	help
+	  Set to true to use the old vfprintf instead of the new.  This is
+	  roughly C89 compliant with some extensions, and is much smaller.
+	  However, it does not support wide chars, positional args, or glibc
+	  custom printf specifiers.
+
+	  Most people will answer N.
+
+config UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS
+	int "Maximum number of positional args.  Either 0 or >= 9."
+	depends on !USE_OLD_VFPRINTF
+	default 9
+	help
+	  Set the maximum number of positional args supported by the
+	  printf/scanf functions.  The Single Unix Specification Version 3
+	  requires a minimum value of 9.  Setting this to a value lower than
+	  9 will disable positional arg support and cause the NL_ARGMAX macro
+	  in limits.h to be #undef'd.
+
+	  WARNING!  The workspace to support positional args is currently
+	            allocated on the stack.  You probably don't want to set
+		    this to too high a value.
+
+	  Most people will answer 9.
+
+
+config UCLIBC_HAS_SCANF_GLIBC_A_FLAG
+	bool "Support glibc's 'a' flag for scanf string conversions (not implemented)"
+	help
+	  NOTE!!!  Currently Not Implemented!!! Just A Place Holder!!  NOTE!!!
+	  NOTE!!!  Conflicts with an ANSI/ISO C99 scanf flag!!         NOTE!!!
+
+	  Answer Y to enable support for glibc's 'a' flag for the scanf string
+	  conversions '%s', '%[', '%ls', '%l[', and '%S'.  This is used to
+	  auto-allocate sufficient memory to hold the data retrieved.
+
+	  Most people will answer N.
+
+choice
+	prompt "Stdio buffer size"
+	default UCLIBC_HAS_STDIO_BUFSIZ_4096
+	help
+	  Please select a value for BUFSIZ.  This will be used by the
+	  stdio subsystem as the default buffer size for a file, and
+	  affects fopen(), setvbuf(), etc.
+
+	  NOTE: Setting this to 'none' will disable buffering completely.
+	  However, BUFSIZ will still be defined in stdio.h as 256 because
+	  many applications use this value.
+
+config UCLIBC_HAS_STDIO_BUFSIZ_NONE
+	bool "none (WARNING - BUFSIZ will be 256 in stdio.h)"
+	depends on !UCLIBC_HAS_WCHAR
+
+config UCLIBC_HAS_STDIO_BUFSIZ_256
+	bool "256 (minimum ANSI/ISO C99 value)"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_512
+	bool "512"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_1024
+	bool "1024"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_2048
+	bool "2048"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_4096
+	bool "4096"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_8192
+	bool "8192"
+
+# If you add more choices, you will need to update uClibc_stdio.h.
+
+endchoice
+
+choice
+	prompt "Stdio builtin buffer size (uClibc-specific)"
+	depends on !UCLIBC_HAS_STDIO_BUFSIZ_NONE
+	default UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE
+	help
+	  When a FILE is created with fopen(), an attempt is made to allocate
+	  a BUFSIZ buffer for it.  If the allocation fails, fopen() will still
+	  succeed but the FILE will be unbuffered.
+
+	  This option adds a small amount of space to each FILE to act as an
+	  emergency buffer in the event of a buffer allocation failure.
+
+	  Most people will answer None.
+
+config UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE
+	bool "None"
+
+config UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4
+	bool "4"
+
+config UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8
+	bool "8"
+
+# If you add more choices, you will need to update uClibc_stdio.h.
+
+endchoice
+
+config UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT
+	bool "Attempt to shutdown stdio subsystem when abort() is called."
+	help
+	  ANSI/ISO C99 requires abort() to be asyn-signal-safe.  So there was
+	  a behavioral change made in SUSv3.  Previously, abort() was required
+	  to have the affect of fclose() on all open streams.  The wording has
+	  been changed to "may" from "shall".
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_STDIO_GETC_MACRO
+	bool "Provide a macro version of getc()"
+	depends on !UCLIBC_HAS_STDIO_BUFSIZ_NONE
+	default y
+	help
+	  Provide a macro version of getc().
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_STDIO_PUTC_MACRO
+	bool "Provide a macro version of putc()"
+	depends on !UCLIBC_HAS_STDIO_BUFSIZ_NONE
+	default y
+	help
+	  Provide a macro version of putc().
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION
+	bool "Support auto-r/w transition"
+	default y
+	help
+	  Answer Y to enable the stdio subsystem to automaticly transition
+	  between reading and writing.  This relaxes the ANSI/ISO C99
+	  requirement:
+
+	  When a file is opened with update mode ('+' as the second or third
+	  character in the list of mode argument values), both input and output
+	  may be performed on the associated stream. However, output shall not
+	  be directly followed by input without an intervening call to the
+	  fflush function or to a file positioning function (fseek, fsetpos,
+	  or rewind), and input shall not be directly followed by output without
+	  an intervening call to a file positioning function, unless the input
+	  operation encounters end­of­file.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_FOPEN_LARGEFILE_MODE
+	bool "Support an fopen() 'F' flag for large file mode (uClibc-specific)"
+	depends on UCLIBC_HAS_LFS
+	help
+	  Answer Y to enable a uClibc-specific extension to allow passing an
+	  additional 'F' flag in the mode string for fopen() to specify that
+	  the file should be open()ed with the O_LARGEFILE flag set.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
+	bool "Support an fopen() 'x' flag for exclusive mode (glibc-compat)"
+	help
+	  Answer Y to support a glibc extension to allow passing
+	  additional 'x' flag in the mode string for fopen() to specify that
+	  the file should be open()ed with the O_EXCL flag set.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE
+	bool "Support an fopen() 'e' flag for close-on-exec mode (glibc-compat)"
+	help
+	  Answer Y to support a glibc extension to allow passing
+	  additional 'e' flag in the mode string for fopen() to specify that
+	  the file should be open()ed with the O_CLOEXEC flag set.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
+	bool "Support fmemopen(), open_memstream(), and fopencookie() (glibc-compat)"
+	help
+	  Answer Y to support the glibc 'custom stream' extension functions
+	  fmemopen(), open_memstream(), and fopencookie().
+
+	  NOTE: There are some minor differences regarding seeking behavior.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_PRINTF_M_SPEC
+	bool "Support the '%m' specifier in printf format strings (glibc-compat)"
+	help
+	  Answer Y to support a glibc extension to interpret '%m' in printf
+	  format strings as an instruction to output the error message string
+	  (as generated by strerror) corresponding to the current value of
+	  'errno'.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_ERRNO_MESSAGES
+	bool "Include the errno message text in the library"
+	default y
+	help
+	  Answer Y if you want to include the errno message text in the
+	  library.  This adds about 3K to the library, but enables strerror()
+	  to generate text other than 'Unknown error <number>'.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_SYS_ERRLIST
+	bool "Support sys_errlist[] (obsolete-compat)"
+	depends on UCLIBC_HAS_ERRNO_MESSAGES
+	help
+	  Answer Y if you want to support the obsolete sys_errlist[].
+	  This adds about 0.5k to the library, except for the mips
+	  arch where it adds over 4K.
+
+	  WARNING!  In the future, support for sys_errlist[] may be unavailable
+	            in at least some configurations.  In fact, it may be removed
+	            altogether.
+
+	  Most people will answer N.
+
+	  Application writers: use the strerror(3) function.
+
+config UCLIBC_HAS_SIGNUM_MESSAGES
+	bool "Include the signum message text in the library"
+	default y
+	help
+	  Answer Y if you want to include the signum message text in the
+	  library.  This adds about 0.5K to the library, but enables strsignal()
+	  to generate text other than 'Unknown signal <number>'.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_SYS_SIGLIST
+	bool "Support sys_siglist[] (bsd-compat)"
+	depends on UCLIBC_HAS_SIGNUM_MESSAGES
+	help
+	  Answer Y if you want to support sys_siglist[].
+
+	  WARNING!  In the future, support for sys_siglist[] may be unavailable
+	            in at least some configurations.  In fact, it may be removed
+		    altogether.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GETTEXT_AWARENESS
+	bool "Include gettext awareness"
+	depends on UCLIBC_HAS_LOCALE && UCLIBC_MJN3_ONLY
+	help
+	  NOTE!!!  Not yet integrated with strerror and strsignal.  NOTE!!!
+
+	  Answer Y if you want to include weak stub gettext support and
+	  make the *strerror*() and strsignal() functions gettext-aware.
+
+	  Currently, to get functional gettext functionality you will need
+	  to use gnu gettext.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GNU_GETOPT
+	bool "Support gnu getopt"
+	default y
+	help
+	  Answer Y if you want to include full gnu getopt() instead of a
+	  (much smaller) SUSv3 compatible getopt().
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_STDIO_FUTEXES
+	bool "Use futexes for multithreaded I/O locking"
+	depends on UCLIBC_HAS_THREADS_NATIVE
+	help
+	  If you want to compile uClibc to use futexes for low-level
+	  I/O locking, answer Y.  Otherwise, answer N.
+
+config UCLIBC_HAS_GETOPT_LONG
+	bool "Support getopt_long/getopt_long_only"
+	depends on !UCLIBC_HAS_GNU_GETOPT
+	default y
+	help
+	  Answer Y if you want to include getopt_long[_only() used by many
+	  apps, even busybox.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_GNU_GETSUBOPT
+	bool "Support glibc getsubopt"
+	default y
+	help
+	  Answer Y if you want to include glibc getsubopt() instead of a
+	  smaller SUSv3 compatible getsubopt().
+
+	  Most people will answer Y.
+endmenu
+
+
+menu "Big and Tall"
+
+config UCLIBC_HAS_REGEX
+	bool "Regular Expression Support"
+	default y
+	help
+	  POSIX regular expression code is really big -- 53k all by itself.
+	  If you don't use regular expressions, turn this off and save space.
+	  Of course, if you only statically link, leave this on, since it will
+	  only be included in your apps if you use regular expressions.
+
+config UCLIBC_HAS_REGEX_OLD
+	bool "Use the older (stable) regular expression code"
+	depends on UCLIBC_HAS_REGEX
+	default y
+	help
+	  There are two versions of regex.  The older (stable) version has
+	  been in uClibc for quite a long time but hasn't seen too many
+	  updates.  It also has some known issues when dealing with uncommon
+	  corner cases and multibyte/unicode strings.  However, it is quite
+	  a bit smaller than the newer version.
+
+	  If the older version has worked for you and you don't need unicode
+	  support, then stick with the old version (and say Y here).
+	  Otherwise, you should use the new version (and say N here).
+
+config UCLIBC_HAS_FNMATCH
+	bool "fnmatch Support"
+	default y
+	help
+	  POSIX fnmatch.
+
+config UCLIBC_HAS_FNMATCH_OLD
+	bool "Use the older (stable) fnmatch code"
+	depends on UCLIBC_HAS_FNMATCH
+	default y
+	help
+	  There are two versions of fnmatch.  The older (stable) version has
+	  been in uClibc for quite a long time but hasn't seen too many
+	  updates.  It also has some known issues when dealing with uncommon
+	  corner cases and multibyte/unicode strings.  However, it is quite
+	  a bit smaller than the newer version.
+
+	  If the older version has worked for you and you don't need unicode
+	  support, then stick with the old version (and say Y here).
+	  Otherwise, you should use the new version (and say N here).
+
+config UCLIBC_HAS_WORDEXP
+	bool "Support the wordexp() interface"
+	depends on UCLIBC_HAS_GLOB
+	help
+	  The SuSv3 wordexp() interface performs word expansions per the  Shell
+	  and Utilities volume of IEEE Std 1003.1-2001, Section 2.6.  It is
+	  intended for use by applications that want to implement all of the
+	  standard Bourne shell expansions on input data.
+
+	  This interface is rarely used, and very large.  Unless you have a
+	  pressing need for wordexp(), you should probably answer N.
+
+config UCLIBC_HAS_NFTW
+	bool "Support the nftw() interface"
+	help
+	  The SuSv3 nftw() interface is used to recursively descend
+	  directory paths while repeatedly calling a function.
+
+	  This interface is rarely used, and adds around 4.5k.  Unless you have
+	  a pressing need for nftw(), you should probably answer N.
+
+config UCLIBC_HAS_FTW
+	bool "Support the ftw() interface (SUSv4-obsolete)"
+	depends on UCLIBC_SUSV4_LEGACY
+	help
+	  The SuSv3 ftw() interface is used to recursively descend
+	  directory paths while repeatedly calling a function.
+
+	  This interface is rarely used, and adds around 4.5k.  Unless you have
+	  a pressing need for ftw(), you should probably answer N.
+
+config UCLIBC_HAS_FTS
+	bool "Support the fts() interface (bsd-compat)"
+	help
+	  The fts functions are provided for traversing UNIX file hierarchies.
+
+	  This interface is currently used by the elfutils and adds
+	  around 7.5k.
+	  You should port your application to use the POSIX nftw()
+	  interface.
+
+	  Unless you need to build/use elfutils, you should prolly answer N.
+
+config UCLIBC_HAS_GLOB
+	bool "Support the glob() interface"
+	depends on UCLIBC_HAS_FNMATCH
+	default y
+	help
+
+	  The glob interface is somewhat large (weighing in at about 2,5k).  It
+	  is used fairly often, but is an option since people wanting to go for
+	  absolute minimum size may wish to omit it.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_GNU_GLOB
+	bool "Support gnu glob() interface"
+	depends on UCLIBC_HAS_GLOB
+	help
+	  The gnu glob interface is somewhat larger (weighing in at about 4,2k)
+	  than it's SuSv3 counterpart (and is out of date). It is an old copy
+	  from glibc and does not support all the GNU specific options.
+
+	  Answer Y if you want to include full gnu glob() instead of the smaller
+	  SUSv3 compatible glob().
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_UTMPX
+       bool "utmpx based support for tracking login/logouts to/from the system"
+       help
+         Answer y to enable support for accessing user accounting database.
+         It can be used to track all login/logout to the system.
+
+         If unsure, just answer N.
+
+endmenu
+
+
+
+
+menu "Library Installation Options"
+
+config RUNTIME_PREFIX
+	string "uClibc runtime library directory"
+	default "/usr/$(TARGET_ARCH)-linux-uclibc/"
+	help
+	  RUNTIME_PREFIX is the directory into which the uClibc runtime
+	  libraries will be installed.   The result will look something
+	  like the following:
+	      $(RUNTIME_PREFIX)/
+	          lib/            <contains all runtime libraries>
+	          usr/bin/ldd     <the ldd utility program>
+	          sbin/ldconfig   <the ldconfig utility program>
+	  This value is used by the 'make install' Makefile target.  Since this
+	  directory is compiled into the shared library loader, you will need to
+	  recompile uClibc if you change this value...
+
+	  For a typical target system this should be set to "/", such that
+	  'make install' will install /lib/libuClibc-<VERSION>.so
+
+config DEVEL_PREFIX
+	string "uClibc development environment directory"
+	default "/usr/$(TARGET_ARCH)-linux-uclibc/usr/"
+	help
+	  DEVEL_PREFIX is the directory into which the uClibc development
+	  environment will be installed.   The result will look something
+	  like the following:
+	      $(DEVEL_PREFIX)/
+	          lib/            <contains static libs>
+		  include/        <Where all the header files go>
+	  This value is used by the 'make install' Makefile target when
+	  installing a uClibc development environment.
+
+	  For a typical target system this should be set to "/usr", such that
+	  'make install' will install /usr/include/<header files>.
+
+config MULTILIB_DIR
+	string "library path component"
+	default "lib"
+	help
+	  Path component where libraries reside.
+
+	  For a typical target system this should be set to "lib", such that
+	  'make install' will install libraries to "/lib" and "/usr/lib"
+	  respectively
+	    DEVEL_PREFIX/MULTILIB_DIR
+	    RUNTIME_PREFIX/MULTILIB_DIR
+
+	  Other settings may include "lib32" or "lib64".
+
+config HARDWIRED_ABSPATH
+	bool "Hardwire absolute paths into linker scripts"
+	default y
+	help
+	  This prepends absolute paths to the libraries mentioned in linker
+	  scripts such as libc.so.
+
+	  This is a build time optimization.  It has no impact on dynamic
+	  linking at runtime, which doesn't use linker scripts.
+
+	  You must disable this to use uClibc with old non-sysroot toolchains,
+	  such as the prebuilt binary cross compilers at:
+	     http://uclibc.org/downloads/binaries
+
+	  The amount of time saved by this optimization is actually too small to
+	  measure. The linker just had to search the library path to find the
+	  linker script, so the dentries are cache hot if it has to search the
+	  same path again.  But it's what glibc does, so we do it too.
+
+endmenu
+
+
+menu "Security options"
+
+config UCLIBC_BUILD_PIE
+	bool "Build utilities as ET_DYN/PIE executables"
+	depends on HAVE_SHARED
+	depends on TARGET_arm || TARGET_frv || TARGET_i386 || TARGET_mips || TARGET_powerpc
+	select FORCE_SHAREABLE_TEXT_SEGMENTS
+	help
+	  If you answer Y here, ldd and iconv are built as ET_DYN/PIE
+	  executables.
+
+	  It requires gcc-3.4 and binutils-2.15 (for arm 2.16) or later.
+	  More about ET_DYN/PIE binaries on <http://pax.grsecurity.net/> .
+
+	  WARNING: This option also enables FORCE_SHAREABLE_TEXT_SEGMENTS, so
+	           all libraries have to be built with -fPIC or -fpic, and all
+		   assembler functions must be written as position independent
+		   code (PIC).
+
+config UCLIBC_HAS_ARC4RANDOM
+	bool "Include the arc4random() function"
+	help
+	  Answer Y to support the OpenBSD-like arc4random() function. This
+	  function picks a random number between 0 and N, and will always return
+	  something even if the random driver is dead. If urandom fails then
+	  gettimeofday(2) will be used as the random seed. This function is
+	  designed to be more dependable than invoking /dev/urandom directly.
+	  OpenSSL and OpenNTPD currently support this function.
+
+	  Most people will answer N.
+
+config HAVE_NO_SSP
+	bool
+
+config UCLIBC_HAS_SSP
+	bool "Support for GCC stack smashing protector"
+	depends on !HAVE_NO_SSP
+	help
+	  Add code to support GCC's -fstack-protector[-all] option to uClibc.
+	  This requires GCC 4.1 or newer.  GCC does not have to provide libssp,
+	  the needed functions are added to ldso/libc instead.
+
+	  GCC's stack protector is a reimplementation of IBM's propolice.
+	  See http://www.trl.ibm.com/projects/security/ssp/ and
+	  http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
+	  for details.
+
+	  Note that NOEXECSTACK on a kernel with address space randomization
+	  is generally sufficient to prevent most buffer overflow exploits
+	  without increasing code size.  This option essentially adds debugging
+	  code to catch them.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_SSP_COMPAT
+	bool "Support for gcc-3.x propolice smashing stack protector"
+	depends on UCLIBC_HAS_SSP
+	help
+	  Add gcc-3.x propolice smashing stack protector to the library.
+
+	  This requires a patched version of GCC, supporting the
+	  -fstack-protector[-all] options, with the __guard and
+	  __stack_smash_handler functions removed from libgcc.
+	  These functions are added to ldso/libc instead.
+
+	  More information at:
+	  <http://www.research.ibm.com/trl/projects/security/ssp/>
+
+	  Most people will answer N.
+
+config SSP_QUICK_CANARY
+	bool "Use simple guard values without accessing /dev/urandom"
+	depends on UCLIBC_HAS_SSP
+	help
+	  Use gettimeofday(2) to define the __guard without accessing
+	  /dev/urandom.
+	  WARNING: This makes smashing stack protector vulnerable to timing
+	  	attacks.
+	  Most people will answer N.
+
+choice
+	prompt "Propolice protection blocking signal"
+	depends on UCLIBC_HAS_SSP
+	default PROPOLICE_BLOCK_ABRT if ! DODEBUG
+	default PROPOLICE_BLOCK_SEGV if DODEBUG
+	help
+	  "abort" use SIGABRT to block offending programs.
+	  This is the default implementation.
+
+	  "segfault" use SIGSEGV to block offending programs.
+	  Use this for debugging.
+
+	  If unsure, answer "abort".
+
+config PROPOLICE_BLOCK_ABRT
+	bool "abort"
+
+config PROPOLICE_BLOCK_SEGV
+	bool "segfault"
+
+endchoice
+
+config UCLIBC_BUILD_SSP
+	bool "Build uClibc with -fstack-protector"
+	depends on UCLIBC_HAS_SSP
+	help
+	  Build all uClibc libraries and executables with -fstack-protector,
+	  adding extra stack overflow checking to most uClibc functions.
+
+config UCLIBC_BUILD_RELRO
+	bool "Build uClibc with linker option -z RELRO"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Build all libraries and executables with "ld -z relro".
+
+	  This tells the linker to mark chunks of an executable or shared
+	  library read-only after applying dynamic relocations.  (This comes
+	  up when a global const variable is initialized to the address of a
+	  function or the value of another global variable.)
+
+	  This is a fairly obscure option the ld man page doesn't even bother
+	  to document properly.  It's a security paranoia issue that's more
+	  likely to consume memory (by allocating an extra page) rather than
+	  save it.
+
+	  This is explained in more depth at
+	  http://www.airs.com/blog/archives/189
+
+	  Nobody is likely to care whether you say Y or N here.
+
+config UCLIBC_BUILD_NOW
+	bool "Build uClibc with linker option -z NOW"
+	depends on HAVE_SHARED
+	help
+	  Build all libraries and executables with "ld -z now".
+
+	  This tells the linker to resolve all symbols when the library is
+	  first loaded, rather than when each function is first called.  This
+	  increases start-up latency by a few microseconds and may do
+	  unnecessary work (resolving symbols that are never used), but the
+	  realtime people like it for making microbenchmark timings slightly
+	  more predictable and in some cases it can be slightly faster due to
+	  CPU cache behavior (not having to fault the linker back in to do
+	  lazy symbol resolution).
+
+	  Most people can't tell the difference between selecting Y or N here.
+
+config UCLIBC_BUILD_NOEXECSTACK
+	bool "Build uClibc with noexecstack marking"
+	default y
+	help
+	  Mark all assembler files as noexecstack, which will mark uClibc
+	  as not requiring an executable stack.  (This doesn't prevent other
+	  files you link against from claiming to need an executable stack, it
+	  just won't cause uClibc to request it unnecessarily.)
+
+	  This is a security thing to make buffer overflows harder to exploit.
+	  By itself, it's kind of useless, as Linus Torvalds explained in 1998:
+	  http://old.lwn.net/1998/0806/a/linus-noexec.html
+
+	  It only actually provides any security when combined with address
+	  space randomization, explained here: http://lwn.net/Articles/121845/
+
+	  Address space randomization is on by default in current linux
+	  kernels (although it can be disabled using the option
+	  CONFIG_COMPAT_BRK).
+
+	  You should probably say Y.
+
+endmenu
+
+menu "Development/debugging options"
+
+config CROSS_COMPILER_PREFIX
+	string "Cross-compiling toolchain prefix"
+	default ""
+	help
+	  The prefix used to execute your cross-compiling toolchain.  For
+	  example, if you run 'arm-linux-uclibc-gcc' to compile something,
+	  then enter 'arm-linux-uclibc-' here.
+
+config UCLIBC_EXTRA_CFLAGS
+	string "Extra CFLAGS"
+	default ""
+	help
+	  Add any additional CFLAGS to be used to build uClibc.
+
+config UCLIBC_EXTRA_LDFLAGS
+	string "Extra LDFLAGS"
+	default ""
+	help
+	  Add any additional LDFLAGS to be used to build uClibc.
+
+config DODEBUG
+	bool "Enable debugging symbols"
+	select EXTRA_WARNINGS
+	help
+	  Say Y here if you wish to compile uClibc with debugging symbols.
+	  This will allow you to use a debugger to examine uClibc internals
+	  while applications are running.  This increases the size of the
+	  library considerably and should only be used when doing development.
+	  If you are doing development and want to debug uClibc, answer Y.
+
+	  Otherwise, answer N.
+
+config DODEBUG_PT
+	bool "Build pthread with debugging output"
+	depends on UCLIBC_HAS_THREADS && LINUXTHREADS_OLD
+	help
+	  Enable debug output in libpthread.  This is only useful when doing
+	  development in libpthread itself.
+
+	  Otherwise, answer N.
+
+config DOSTRIP
+	bool "Strip libraries and executables"
+	default y
+	depends on !DODEBUG
+	help
+	  Say Y here if you do wish to strip all uClibc libraries and
+	  executables.  No stripping increases the size of the binaries
+	  considerably, but makes it possible to debug uClibc libraries.
+	  Most people will answer Y.
+
+config DOASSERTS
+	bool "Build with run-time assertion testing"
+	help
+	  Say Y here to include runtime assertion tests.
+	  This enables runtime assertion testing in some code, which can
+	  increase the size of the library and incur runtime overhead.
+	  If you say N, then this testing will be disabled.
+
+config SUPPORT_LD_DEBUG
+	bool "Build the shared library loader with debugging support"
+	depends on HAVE_SHARED
+	help
+	  Answer Y here to enable all the extra code needed to debug the uClibc
+	  native shared library loader.  The level of debugging noise that is
+	  generated depends on the LD_DEBUG environment variable...  Just set
+	  LD_DEBUG to something like: 'LD_DEBUG=token1,token2,..  prog' to
+	  debug your application.  Diagnostic messages will then be printed to
+	  the stderr.
+
+	  For now these debugging tokens are available:
+	    detail        provide more information for some options
+	    move          display copy processing
+	    symbols       display symbol table processing
+	    reloc         display relocation processing; detail shows the
+	                  relocation patch
+	    nofixups      never fixes up jump relocations
+	    bindings      displays the resolve processing (function calls);
+	                  detail shows the relocation patch
+	    all           Enable everything!
+
+	  The additional environment variable:
+	    LD_DEBUG_OUTPUT=file
+	  redirects the diagnostics to an output file created using
+	  the specified name and the process id as a suffix.
+
+	  An excellent start is simply:
+	    $ LD_DEBUG=binding,move,symbols,reloc,detail ./appname
+	  or to log everything to a file named 'logfile', try this
+	    $ LD_DEBUG=all LD_DEBUG_OUTPUT=logfile ./appname
+
+	  If you are doing development and want to debug uClibc's shared library
+	  loader, answer Y.  Mere mortals answer N.
+
+config SUPPORT_LD_DEBUG_EARLY
+	bool "Build the shared library loader with early debugging support"
+	depends on HAVE_SHARED
+	help
+	  Answer Y here to if you find the uClibc shared library loader is
+	  crashing or otherwise not working very early on.  This is typical
+	  only when starting a new port when you haven't figured out how to
+	  properly get the values for argc, argv, environ, etc.  This method
+	  allows a degree of visibility into the very early shared library
+	  loader initialization process.  If you are doing development and want
+	  to debug the uClibc shared library loader early initialization,
+	  answer Y.  Mere mortals answer N.
+
+config UCLIBC_MALLOC_DEBUGGING
+	bool "Build malloc with debugging support"
+	depends on MALLOC || MALLOC_STANDARD
+	help
+	  Answer Y here to compile extra debugging support code into malloc.
+	  Malloc debugging output may then be enabled at runtime using the
+	  MALLOC_DEBUG environment variable.
+
+	  The value of MALLOC_DEBUG should be an integer, which is interpreted
+	  as a bitmask with the following bits:
+		  1   -  do extra consistency checking
+		  2   -  output messages for malloc/free calls and OS
+		         allocation calls
+		  4   -  output messages for the `MMB' layer
+		  8   -  output messages for internal malloc heap manipulation
+		         calls
+
+	  Because this increases the size of malloc appreciably (due to strings
+	  etc), you should say N unless you need to debug a malloc problem.
+
+config UCLIBC_HAS_BACKTRACE
+	bool "Add support for application self-debugging"
+	depends on HAVE_SHARED
+	help
+	  Answer Y here to compile support for application self-debugging, by adding
+	  a new shared object "libubacktrace.so" that provides the following new
+	  functions:
+	  backtrace, backtrace_symbols, backtrace_symbols_fd
+
+	  The backtrace functionality is currently supported on SH platform, and it
+	  based on dwarf2 informations to properly work, so any application that
+	  want to use backtrace needs to be built with -fexceptions flag.
+
+	  The symbol names may be unavailable without the use of special linker
+	  options. For systems using the GNU linker, it is necessary to use the
+	  -rdynamic linker option too. Note that names of "static" functions are not
+	  exposed, and won't be available in the backtrace.
+
+config WARNINGS
+	string "Compiler Warnings"
+	default "-Wall"
+	help
+	  Set this to the set of compiler warnings you wish to see while compiling.
+
+config EXTRA_WARNINGS
+	bool "Enable extra annoying warnings"
+	help
+	  If you wish to build with extra warnings enabled, say Y here.
+
+config DOMULTI
+	bool "Compile all sources at once into an object"
+	help
+	  Set this to compile all sources at once into an object (IMA).
+	  This mode of compilation uses alot of memory but may produce
+	  smaller binaries.
+
+	  Note that you need a very recent GCC for this to work, like
+	  gcc >= 4.3 plus eventually some patches.
+
+	  If unsure, keep the default of N.
+
+config UCLIBC_MJN3_ONLY
+	bool "Manuel's hidden warnings"
+	help
+	  Answer Y here to see all Manuel's personal notes, warnings, and todos.
+
+	  Most people will answer N.
+
+endmenu
diff --git a/ap/build/uClibc/extra/Configs/Config.in.arch b/ap/build/uClibc/extra/Configs/Config.in.arch
new file mode 100644
index 0000000..ec541f4
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.in.arch
@@ -0,0 +1,219 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+
+#
+# Binary format
+#
+if !ARCH_USE_MMU
+choice
+	prompt "Target File Format"
+config UCLIBC_FORMAT_ELF
+	bool "ELF"
+	depends on ARCH_USE_MMU
+config UCLIBC_FORMAT_FDPIC_ELF
+	bool "FDPIC ELF"
+	depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv)
+	select DOPIC
+config UCLIBC_FORMAT_DSBT_ELF
+	bool "DBST ELF"
+	depends on !ARCH_USE_MMU && TARGET_c6x
+	select DOPIC
+config UCLIBC_FORMAT_FLAT
+	bool "STATIC FLAT"
+	depends on !ARCH_USE_MMU
+	select ARCH_HAS_NO_LDSO
+config UCLIBC_FORMAT_FLAT_SEP_DATA
+	bool "STATIC FLAT (sep-data)"
+	depends on !ARCH_USE_MMU
+	select ARCH_HAS_NO_LDSO
+config UCLIBC_FORMAT_SHARED_FLAT
+	bool "SHARED FLAT"
+	depends on !ARCH_USE_MMU
+	select ARCH_HAS_NO_LDSO
+	help
+	  Pick this one if you are using uClinux and wish to build
+	  uClibc as a flat-format shared library.
+endchoice
+endif
+if ARCH_USE_MMU
+comment "Using ELF file format"
+endif
+
+config UCLIBC_SHARED_FLAT_ID
+	int "Shared library ID"
+	default 1
+	depends on UCLIBC_FORMAT_SHARED_FLAT
+	help
+	  When using flat shared libraries, every library has a unique
+	  system-wide identifier.  Identifier 0 is reserved for
+	  executables and true shared libraries have identifiers
+	  starting at 1.  The maximum shared library identifier is
+	  determined by the kernel and is usually 3.  Shared library
+	  N must be available on the target system as "/lib/libN.so".
+
+	  When a shared C library is used, it usually has identifier 1,
+	  but you can use this option to select a different identifier
+	  if you need to.
+
+
+
+#
+# Endian Format
+#
+config ARCH_ANY_ENDIAN
+	bool
+config ARCH_BIG_ENDIAN
+	bool
+config ARCH_LITTLE_ENDIAN
+	bool
+if ARCH_ANY_ENDIAN
+choice
+	prompt "Target Processor Endianness"
+	help
+	  This is the endianness you wish to use.  Choose either Big
+	  Endian, or Little Endian.
+config ARCH_WANTS_BIG_ENDIAN
+	bool "Big Endian"
+	select ARCH_BIG_ENDIAN
+config ARCH_WANTS_LITTLE_ENDIAN
+	bool "Little Endian"
+	select ARCH_LITTLE_ENDIAN
+endchoice
+endif
+# if the arch only supports one endian, just display the setting
+if !ARCH_ANY_ENDIAN && ARCH_LITTLE_ENDIAN
+comment "Using Little Endian"
+endif
+if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
+comment "Using Big Endian"
+endif
+
+config ARCH_HAS_NO_MMU
+	bool
+if ARCH_HAS_NO_MMU
+comment "Target CPU lacks a memory management unit (MMU)"
+endif
+
+config ARCH_HAS_MMU
+	bool "Target CPU has a memory management unit (MMU)"
+	depends on !ARCH_HAS_NO_MMU
+	default y
+	help
+	  If your target CPU does not have a memory management unit (MMU), 
+	  then answer N here.  Normally, Linux runs on systems with an MMU.  
+	  If you are building a uClinux system, answer N.
+
+	  Most people will answer Y.
+
+config ARCH_USE_MMU
+	bool "Do you want to utilize the MMU?"
+	depends on ARCH_HAS_MMU
+	default y
+	help
+	  If your target CPU has a MMU, and you wish to actually utilize it,
+	  then answer Y here.  Normal Linux requires an MMU.
+
+	  If you're unsure, answer Y.
+
+config UCLIBC_HAS_FLOATS
+	bool "Enable floating point number support"
+	default y
+	help
+	  This option allows you to entirely omit all floating point number
+	  support from uClibc.  This will cause floating point functions like
+	  strtod() to be omitted from uClibc.  Other floating point functions, 
+	  such as printf() and scanf() will still be included in the library, 
+	  but will not contain support for floating point numbers.
+
+	  Answering N to this option can reduce the size of uClibc.
+	  Most people will answer Y.
+
+config UCLIBC_HAS_FPU
+	bool "Target CPU has a floating point unit (FPU)"
+	default y
+	help
+	  If your target CPU does not have a Floating Point Unit (FPU) or a
+	  kernel FPU emulator, but you still wish to support floating point
+	  functions, then uClibc will need to be compiled with soft floating
+	  point support (-msoft-float).  If your target CPU does not have an
+	  FPU or an FPU emulator within the Linux kernel, then you should
+	  answer N.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_SOFT_FLOAT
+	bool
+	depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
+	default y
+
+config DO_C99_MATH
+	bool "Enable full C99 math library support"
+	depends on UCLIBC_HAS_FLOATS
+	default n
+	help
+	  If you want the uClibc math library to contain the full set C99
+	  math library features, then answer Y.  If you leave this set to
+	  N the math library will contain only the math functions that were
+	  listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
+	  Leaving this option set to N will save around 35k on an x86 system.
+
+	  If your applications require the newer C99 math library functions, 
+	  then answer Y.
+
+config DO_XSI_MATH
+	bool "Enable XSI math extensions to the ISO C standard (bessel)"
+	depends on UCLIBC_HAS_FLOATS
+	default n
+	help
+	  X/Open System Interfaces extensions to ISO C math functions
+	  (differential equation functions):
+
+	  j0, j1, jn - Bessel functions of the first kind
+	  y0, y1, yn - Bessel functions of the second kind
+
+config UCLIBC_HAS_FENV
+	bool "Enable C99 Floating-point environment"
+	depends on UCLIBC_HAS_FLOATS
+	default n
+	help
+	  If you want the uClibc math library to contain the C99 floating
+	  point environment, rounding and exception handling functions then
+	  say Y here.
+
+	  NOTE: Supported architectures currently include:
+	        i386
+
+config UCLIBC_HAS_LONG_DOUBLE_MATH
+	bool "Enable long double support"
+	depends on DO_C99_MATH
+	depends on TARGET_i386 || TARGET_m68k || TARGET_sparc || TARGET_x86_64 || TARGET_powerpc || TARGET_sh || TARGET_microblaze
+	default y
+	help
+	  If you want the uClibc math library to contain the full set of C99
+	  long double math library features, then answer Y. Don't enable it
+	  for sparc w/ 32bit ABI.
+
+config KERNEL_HEADERS
+	string "Linux kernel header location"
+	default "/usr/include"
+	help
+	  The kernel source you use to compile with should be the same
+	  as the Linux kernel you run your apps on.  uClibc doesn't even
+	  try to achieve binary compatibility across kernel versions.
+	  So don't expect, for example, uClibc compiled with Linux kernel
+	  2.0.x to implement lchown properly, since 2.0.x can't do that.
+	  Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
+	  but then run on Linux 2.0.x, lchown will be compiled into uClibc,
+	  but won't work at all.  You have been warned.
+
+config UCLIBC_UCLINUX_BROKEN_MUNMAP
+	bool
+	depends on !ARCH_USE_MMU
+	default y
+
+config HAVE_DOT_CONFIG
+	bool
+	default y
diff --git a/ap/build/uClibc/extra/Configs/Config.m68k b/ap/build/uClibc/extra/Configs/Config.m68k
new file mode 100644
index 0000000..95807c4
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.m68k
@@ -0,0 +1,13 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "m68k"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
diff --git a/ap/build/uClibc/extra/Configs/Config.microblaze b/ap/build/uClibc/extra/Configs/Config.microblaze
new file mode 100644
index 0000000..2dfd4a7
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.microblaze
@@ -0,0 +1,8 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "microblaze"
diff --git a/ap/build/uClibc/extra/Configs/Config.mips b/ap/build/uClibc/extra/Configs/Config.mips
new file mode 100644
index 0000000..063b07c
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.mips
@@ -0,0 +1,73 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "mips"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+
+choice
+	prompt "Target ABI"
+	default CONFIG_MIPS_O32_ABI
+	help
+	  This is the ABI you wish to build use.  Choose either O32, N32
+	  or N64.
+
+config CONFIG_MIPS_O32_ABI
+	bool "O32 ABI"
+
+config CONFIG_MIPS_N32_ABI
+	bool "N32 ABI"
+
+config CONFIG_MIPS_N64_ABI
+	bool "N64 ABI"
+
+endchoice
+
+choice
+	prompt "Target Processor Architecture"
+	default CONFIG_MIPS_ISA_1 if CONFIG_MIPS_O32_ABI
+	default CONFIG_MIPS_ISA_3 if CONFIG_MIPS_N32_ABI
+	default CONFIG_MIPS_ISA_3 if CONFIG_MIPS_N64_ABI
+	help
+	  This selects the instruction set architecture of your MIPS CPU. This
+	  information is used for optimizing purposes. To build a library that
+	  will run on any MIPS CPU, you can specify "Generic (MIPS I)" here.
+	  If you pick anything other than "Generic (MIPS I)," there is no
+	  guarantee that uClibc will even run on anything other than the
+	  selected processor type.
+
+	  You should probably select the MIPS ISA that best matches the
+	  CPU you will be using on your device. uClibc will be tuned
+	  for that architecture.
+
+	  If you don't know what to do, choose "Generic (MIPS I)"
+
+config CONFIG_MIPS_ISA_1
+	bool "Generic (MIPS I)"
+
+config CONFIG_MIPS_ISA_2
+	bool "MIPS II"
+
+config CONFIG_MIPS_ISA_3
+	bool "MIPS III"
+
+config CONFIG_MIPS_ISA_4
+	bool "MIPS IV"
+
+config CONFIG_MIPS_ISA_MIPS32
+	bool "MIPS32"
+
+config CONFIG_MIPS_ISA_MIPS32R2
+	bool "MIPS32r2"
+
+config CONFIG_MIPS_ISA_MIPS64
+	bool "MIPS64"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.nios b/ap/build/uClibc/extra/Configs/Config.nios
new file mode 100644
index 0000000..4213a4c
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.nios
@@ -0,0 +1,16 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "nios"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select ARCH_HAS_NO_LDSO
+	select HAVE_NO_PIC
diff --git a/ap/build/uClibc/extra/Configs/Config.nios2 b/ap/build/uClibc/extra/Configs/Config.nios2
new file mode 100644
index 0000000..2310a46
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.nios2
@@ -0,0 +1,16 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "nios2"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select ARCH_HAS_NO_LDSO
+	select HAVE_NO_PIC
diff --git a/ap/build/uClibc/extra/Configs/Config.powerpc b/ap/build/uClibc/extra/Configs/Config.powerpc
new file mode 100644
index 0000000..84c4423
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.powerpc
@@ -0,0 +1,35 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "powerpc"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select ARCH_HAS_MMU
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_CLASSIC
+	help
+	  This is the processor core of your CPU. This information is used for
+	  determining the correct assembler instructions to use for the core.
+
+	  The default is to build for a classic powerpc.
+
+config CONFIG_CLASSIC
+	bool "CLASSIC"
+	help
+	  Classic powerpc architecture.
+
+config CONFIG_E500
+	bool "E500"
+	help
+	  e500 v1 and v2 core.
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.sh b/ap/build/uClibc/extra/Configs/Config.sh
new file mode 100644
index 0000000..6ce54c2
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.sh
@@ -0,0 +1,51 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "sh"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_SH4
+	help
+	  This is the processor type of your CPU. This information is used for
+	  optimizing purposes, as well as to determine if your CPU has an MMU,
+	  an FPU, etc.  If you pick the wrong CPU type, there is no guarantee
+	  that uClibc will work at all....
+
+	  Here are the available choices:
+	  - "SH2A" Renesas SH-2A (SH7206)
+	  - "SH2" SuperH SH-2
+	  - "SH3" SuperH SH-3
+	  - "SH4" SuperH SH-4
+
+config CONFIG_SH2A
+	select ARCH_HAS_NO_MMU
+	select HAVE_NO_PIC
+	bool "SH2A"
+
+config CONFIG_SH2
+	select ARCH_HAS_NO_MMU
+	bool "SH2"
+
+config CONFIG_SH3
+	select ARCH_HAS_MMU
+	bool "SH3"
+
+config CONFIG_SH4
+	bool "SH4"
+
+endchoice
+
+config ARCH_HAS_BWD_MEMCPY
+       bool
+       default y
+       depends on CONFIG_SH4
diff --git a/ap/build/uClibc/extra/Configs/Config.sh64 b/ap/build/uClibc/extra/Configs/Config.sh64
new file mode 100644
index 0000000..02535b9
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.sh64
@@ -0,0 +1,32 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "sh64"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_SH5
+	help
+	  This is the processor type of your CPU. This information is used for
+	  optimizing purposes, as well as to determine if your CPU has an MMU,
+	  an FPU, etc.  If you pick the wrong CPU type, there is no guarantee
+	  that uClibc will work at all....
+
+	  Here are the available choices:
+	  - "SH5" SuperH SH-5 101, 103
+
+config CONFIG_SH5
+	select ARCH_HAS_MMU
+	select UCLIBC_HAS_LFS
+	bool "SH5"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.sparc b/ap/build/uClibc/extra/Configs/Config.sparc
new file mode 100644
index 0000000..1852efe
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.sparc
@@ -0,0 +1,34 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "sparc"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_SPARC_V8
+	help
+	  This is the processor type of your CPU. This information is used for
+	  optimizing purposes.  Building for a v8 SPARC is pretty safe nowadays.
+
+config CONFIG_SPARC_V7
+	bool "SPARC v7"
+
+config CONFIG_SPARC_V8
+	bool "SPARC v8"
+
+config CONFIG_SPARC_V9
+	bool "SPARC v9"
+
+config CONFIG_SPARC_V9B
+	bool "SPARC v9b"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.v850 b/ap/build/uClibc/extra/Configs/Config.v850
new file mode 100644
index 0000000..fb3c4b1
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.v850
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "v850"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select HAVE_NO_PIC
diff --git a/ap/build/uClibc/extra/Configs/Config.vax b/ap/build/uClibc/extra/Configs/Config.vax
new file mode 100644
index 0000000..989eeea
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.vax
@@ -0,0 +1,14 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "vax"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_LDSO
diff --git a/ap/build/uClibc/extra/Configs/Config.x86_64 b/ap/build/uClibc/extra/Configs/Config.x86_64
new file mode 100644
index 0000000..1b28088
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.x86_64
@@ -0,0 +1,14 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "x86_64"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_MMU
diff --git a/ap/build/uClibc/extra/Configs/Config.xtensa b/ap/build/uClibc/extra/Configs/Config.xtensa
new file mode 100644
index 0000000..d374f91
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.xtensa
@@ -0,0 +1,8 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "xtensa"
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/alpha/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/alpha/defconfig
new file mode 100644
index 0000000..05243d7
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/alpha/defconfig
@@ -0,0 +1 @@
+TARGET_alpha=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/arm/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/arm/defconfig
new file mode 100644
index 0000000..aa67890
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/arm/defconfig
@@ -0,0 +1 @@
+TARGET_arm=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/avr32/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/avr32/defconfig
new file mode 100644
index 0000000..0b890a2
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/avr32/defconfig
@@ -0,0 +1 @@
+TARGET_avr32=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/bfin/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/bfin/defconfig
new file mode 100644
index 0000000..fb5c5eb
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/bfin/defconfig
@@ -0,0 +1 @@
+TARGET_bfin=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/cris/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/cris/defconfig
new file mode 100644
index 0000000..4e98180
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/cris/defconfig
@@ -0,0 +1 @@
+TARGET_cris=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/e1/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/e1/defconfig
new file mode 100644
index 0000000..e204c87
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/e1/defconfig
@@ -0,0 +1 @@
+TARGET_e1=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/frv/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/frv/defconfig
new file mode 100644
index 0000000..8230316
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/frv/defconfig
@@ -0,0 +1 @@
+TARGET_frv=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/h8300/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/h8300/defconfig
new file mode 100644
index 0000000..66c4a33
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/h8300/defconfig
@@ -0,0 +1 @@
+TARGET_h8300=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/hppa/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/hppa/defconfig
new file mode 100644
index 0000000..6358dbd
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/hppa/defconfig
@@ -0,0 +1 @@
+TARGET_hppa=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/i386/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/i386/defconfig
new file mode 100644
index 0000000..7c35178
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/i386/defconfig
@@ -0,0 +1 @@
+TARGET_i386=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/i960/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/i960/defconfig
new file mode 100644
index 0000000..5abe6dc
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/i960/defconfig
@@ -0,0 +1 @@
+TARGET_i960=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/ia64/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/ia64/defconfig
new file mode 100644
index 0000000..7f26470
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/ia64/defconfig
@@ -0,0 +1 @@
+TARGET_ia64=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/m68k/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/m68k/defconfig
new file mode 100644
index 0000000..da874a8
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/m68k/defconfig
@@ -0,0 +1 @@
+TARGET_m68k=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/microblaze/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/microblaze/defconfig
new file mode 100644
index 0000000..4401200
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/microblaze/defconfig
@@ -0,0 +1 @@
+TARGET_microblaze=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/mips/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/mips/defconfig
new file mode 100644
index 0000000..0114a9bd
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/mips/defconfig
@@ -0,0 +1 @@
+TARGET_mips=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/nios/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/nios/defconfig
new file mode 100644
index 0000000..2a110b8
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/nios/defconfig
@@ -0,0 +1 @@
+TARGET_nios=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/nios2/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/nios2/defconfig
new file mode 100644
index 0000000..870bd53
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/nios2/defconfig
@@ -0,0 +1 @@
+TARGET_nios2=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/powerpc/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/powerpc/defconfig
new file mode 100644
index 0000000..3868897
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/powerpc/defconfig
@@ -0,0 +1 @@
+TARGET_powerpc=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/sh/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/sh/defconfig
new file mode 100644
index 0000000..650d280
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/sh/defconfig
@@ -0,0 +1 @@
+TARGET_sh=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/sh64/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/sh64/defconfig
new file mode 100644
index 0000000..4f23a54
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/sh64/defconfig
@@ -0,0 +1 @@
+TARGET_sh64=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/sparc/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/sparc/defconfig
new file mode 100644
index 0000000..c2c74cb
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/sparc/defconfig
@@ -0,0 +1 @@
+TARGET_sparc=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/v850/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/v850/defconfig
new file mode 100644
index 0000000..046d5d4
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/v850/defconfig
@@ -0,0 +1 @@
+TARGET_v850=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/vax/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/vax/defconfig
new file mode 100644
index 0000000..77a464e
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/vax/defconfig
@@ -0,0 +1 @@
+TARGET_vax=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/x86_64/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/x86_64/defconfig
new file mode 100644
index 0000000..e03a36a
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/x86_64/defconfig
@@ -0,0 +1 @@
+TARGET_x86_64=y