summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorLadislav Michl <ladis@linux-mips.org>2007-03-19 15:40:46 +0000
committerLadislav Michl <ladis@linux-mips.org>2007-03-19 15:40:46 +0000
commit103aaa551a71411ac5aef45863560872e9112a30 (patch)
tree8036b354b492d0a1e42589a9fcf5549c24f31d6d /config
parentf1b31996906c532b149f2d59421eeccfd6bd811e (diff)
downloadOSELAS.Toolchain-103aaa551a71411ac5aef45863560872e9112a30.tar.gz
OSELAS.Toolchain-103aaa551a71411ac5aef45863560872e9112a30.tar.xz
Premiliary uClibc support.
git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/trunks/OSELAS.Toolchain-trunk@2257 f8d472c7-5700-0410-ac5a-87979cec3adf
Diffstat (limited to 'config')
-rw-r--r--config/uClibc-0.9.28/Config.alpha30
-rw-r--r--config/uClibc-0.9.28/Config.arm84
-rw-r--r--config/uClibc-0.9.28/Config.bfin28
-rw-r--r--config/uClibc-0.9.28/Config.cris41
-rw-r--r--config/uClibc-0.9.28/Config.e134
-rw-r--r--config/uClibc-0.9.28/Config.frv29
-rw-r--r--config/uClibc-0.9.28/Config.h830047
-rw-r--r--config/uClibc-0.9.28/Config.i386115
-rw-r--r--config/uClibc-0.9.28/Config.i96034
-rw-r--r--config/uClibc-0.9.28/Config.in1361
-rw-r--r--config/uClibc-0.9.28/Config.in.arch113
-rw-r--r--config/uClibc-0.9.28/Config.m68k30
-rw-r--r--config/uClibc-0.9.28/Config.microblaze33
-rw-r--r--config/uClibc-0.9.28/Config.mips66
-rw-r--r--config/uClibc-0.9.28/Config.nios31
-rw-r--r--config/uClibc-0.9.28/Config.nios230
-rw-r--r--config/uClibc-0.9.28/Config.powerpc26
-rw-r--r--config/uClibc-0.9.28/Config.sh69
-rw-r--r--config/uClibc-0.9.28/Config.sh6452
-rw-r--r--config/uClibc-0.9.28/Config.sparc25
-rw-r--r--config/uClibc-0.9.28/Config.v85034
-rw-r--r--config/uClibc-0.9.28/Config.x86_6428
22 files changed, 2340 insertions, 0 deletions
diff --git a/config/uClibc-0.9.28/Config.alpha b/config/uClibc-0.9.28/Config.alpha
new file mode 100644
index 0000000..ba63e3b
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.alpha
@@ -0,0 +1,30 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_HAVE_ELF
+ select UC_ARCH_HAS_MMU
+ select UC_HAVE_NO_SHARED
+ select UC_ARCH_HAS_NO_LDSO
+ select UC_HAS_NO_THREADS
+ select UC_UCLIBC_HAS_LFS
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+config UC_TARGET_ARCH
+ default "alpha"
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
diff --git a/config/uClibc-0.9.28/Config.arm b/config/uClibc-0.9.28/Config.arm
new file mode 100644
index 0000000..d0d1fb8
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.arm
@@ -0,0 +1,84 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_HAVE_ELF
+ bool
+ default y
+
+config UC_TARGET_ARCH
+ default "arm"
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+choice
+ prompt "Target Processor Type"
+ default UC_CONFIG_GENERIC_ARM
+ 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 ARMCPU
+ types (albeit not optimally fast), you can specify "Generic Arm" here.
+ If you pick anything other than "Generic Arm", 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 Arm" select this if your compiler is already setup to
+ optimize things properly, or if you want to run on pretty much
+ everything, or you just don't much care.
+ - For anything else, pick the ARM core type that best matches the
+ cpu you will be using on your device.
+
+ If you don't know what to do, choose "Generic Arm".
+
+config UC_CONFIG_GENERIC_ARM
+ bool "Generic Arm"
+
+config UC_CONFIG_ARM610
+ bool "Arm 610"
+
+config UC_CONFIG_ARM710
+ bool "Arm 710"
+
+config UC_CONFIG_ARM720T
+ bool "Arm 720T"
+
+config UC_CONFIG_ARM920T
+ bool "Arm 920T"
+
+config UC_CONFIG_ARM922T
+ bool "Arm 922T"
+
+config UC_CONFIG_ARM926T
+ bool "Arm 926T"
+
+config UC_CONFIG_ARM1136JF_S
+ bool "Arm 1136JF-S"
+
+config UC_CONFIG_ARM_SA110
+ bool "Intel StrongArm SA-110"
+
+config UC_CONFIG_ARM_SA1100
+ bool "Intel StrongArm SA-1100"
+
+config UC_CONFIG_ARM_XSCALE
+ bool "Intel Xscale"
+
+endchoice
+
diff --git a/config/uClibc-0.9.28/Config.bfin b/config/uClibc-0.9.28/Config.bfin
new file mode 100644
index 0000000..8c7314e
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.bfin
@@ -0,0 +1,28 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "bfin"
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_NO_MMU
+ select UC_ARCH_LITTLE_ENDIAN
+ select UC_HAVE_NO_SHARED
+ select UC_ARCH_HAS_NO_LDSO
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_HAVE_ELF
+ bool
+ default y
diff --git a/config/uClibc-0.9.28/Config.cris b/config/uClibc-0.9.28/Config.cris
new file mode 100644
index 0000000..f68ce5c
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.cris
@@ -0,0 +1,41 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_HAVE_ELF
+ bool
+ default y
+
+config UC_TARGET_ARCH
+ default "cris"
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+choice
+ prompt "Target Architecture Type"
+ default UC_CONFIG_CRIS
+ help
+ This is the architecture type of your CPU. This information is used for
+ optimizing purposes.
+
+ These are the possible settings:
+ - CRIS Generic support for Axis' CRIS architecture.
+
+config UC_CONFIG_CRIS
+ select UC_ARCH_HAS_MMU
+ bool "CRIS"
+
+endchoice
+
diff --git a/config/uClibc-0.9.28/Config.e1 b/config/uClibc-0.9.28/Config.e1
new file mode 100644
index 0000000..d54f968
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.e1
@@ -0,0 +1,34 @@
+
+
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_HAVE_ELF
+ select UC_ARCH_HAS_NO_MMU
+ select UC_HAVE_NO_SHARED
+ select UC_ARCH_HAS_NO_LDSO
+ bool
+ default n
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_TARGET_ARCH
+ default "e1"
+
+config UC_ARCH_E1
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+ default "-mgnu-param"
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
diff --git a/config/uClibc-0.9.28/Config.frv b/config/uClibc-0.9.28/Config.frv
new file mode 100644
index 0000000..d2be88e
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.frv
@@ -0,0 +1,29 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_HAVE_ELF
+ bool
+ select UC_HAS_FPU
+ select UC_ARCH_BIG_ENDIAN
+ select UC_ARCH_HAS_NO_MMU
+ default y
+
+config UC_TARGET_ARCH
+ string
+ default "frv"
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_HAVE_DOT_HIDDEN
+ bool
+ default y
+
diff --git a/config/uClibc-0.9.28/Config.h8300 b/config/uClibc-0.9.28/Config.h8300
new file mode 100644
index 0000000..10f9c85
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.h8300
@@ -0,0 +1,47 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_NO_MMU
+ select UC_ARCH_HAS_C_SYMBOL_PREFIX
+ select UC_HAVE_NO_SHARED
+ select UC_ARCH_HAS_NO_LDSO
+ default y
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+config UC_TARGET_ARCH
+ default "h8300"
+
+choice
+ prompt "Target Processor"
+ default UC_CONFIG_H8300H
+ help
+ This is the processor type of your CPU.
+
+config UC_CONFIG_H8300H
+ bool "H8300H"
+
+config UC_CONFIG_H8S
+ bool "H8S (edosk2674)"
+
+endchoice
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
diff --git a/config/uClibc-0.9.28/Config.i386 b/config/uClibc-0.9.28/Config.i386
new file mode 100644
index 0000000..f43a195
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.i386
@@ -0,0 +1,115 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_MMU
+ default y
+
+config UC_TARGET_ARCH
+ string
+ default "i386"
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+choice
+ prompt "Target x86 Processor Family"
+ default UC_CONFIG_GENERIC_386
+ 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 UC_CONFIG_GENERIC_386
+ bool "Generic 386"
+
+config UC_CONFIG_386
+ bool "386"
+
+config UC_CONFIG_486
+ bool "486"
+
+config UC_CONFIG_586
+ bool "Pentium/586/K5/5x86/6x86/6x86MX"
+
+config UC_CONFIG_586MMX
+ bool "Pentium-MMX"
+
+config UC_CONFIG_686
+ bool "Pentium-Pro"
+
+config UC_CONFIG_PENTIUMII
+ bool "Celeron/Pentium-II"
+
+config UC_CONFIG_PENTIUMIII
+ bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon"
+
+config UC_CONFIG_PENTIUM4
+ bool "Pentium-4/Celeron(P4-based)/Xeon"
+
+config UC_CONFIG_K6
+ bool "K6/K6-II/K6-III"
+
+config UC_CONFIG_K7
+ bool "Athlon/Duron/K7"
+
+config UC_CONFIG_ELAN
+ bool "Elan"
+
+config UC_CONFIG_CRUSOE
+ bool "Crusoe"
+
+config UC_CONFIG_WINCHIPC6
+ bool "Winchip-C6"
+
+config UC_CONFIG_WINCHIP2
+ bool "Winchip-2/Winchip-2A/Winchip-3"
+
+config UC_CONFIG_CYRIXIII
+ bool "CyrixIII/VIA-C3"
+
+config UC_CONFIG_NEHEMIAH
+ bool "VIA C3-2 (Nehemiah)"
+
+endchoice
+
diff --git a/config/uClibc-0.9.28/Config.i960 b/config/uClibc-0.9.28/Config.i960
new file mode 100644
index 0000000..9c743f8
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.i960
@@ -0,0 +1,34 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "i960"
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_NO_MMU
+ select UC_HAVE_NO_SHARED
+ select UC_ARCH_HAS_NO_LDSO
+ select UC_HAS_NO_THREADS
+ default n
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+ default "-mh -mint32 -fsigned-char"
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_ARCH_HAS_C_SYMBOL_PREFIX
+ bool
+ default y
+
diff --git a/config/uClibc-0.9.28/Config.in b/config/uClibc-0.9.28/Config.in
new file mode 100644
index 0000000..a3d6bf1
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.in
@@ -0,0 +1,1361 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+choice
+ prompt "Target Architecture"
+ default UC_TARGET_i386
+ help
+ Stuff
+
+config UC_TARGET_alpha
+ bool "alpha"
+
+config UC_TARGET_arm
+ bool "arm"
+
+config UC_TARGET_bfin
+ bool "bfin"
+
+config UC_TARGET_cris
+ bool "cris"
+
+config UC_TARGET_e1
+ bool "e1"
+
+config UC_TARGET_frv
+ bool "frv"
+
+config UC_TARGET_h8300
+ bool "h8300"
+
+config UC_TARGET_i386
+ bool "i386"
+
+config UC_TARGET_i960
+ bool "i960"
+
+config UC_TARGET_m68k
+ bool "m68k"
+
+config UC_TARGET_microblaze
+ bool "microblaze"
+
+config UC_TARGET_mips
+ bool "mips"
+
+config UC_TARGET_nios
+ bool "nios"
+
+config UC_TARGET_nios2
+ bool "nios2"
+
+config UC_TARGET_powerpc
+ bool "powerpc"
+
+config UC_TARGET_sh
+ bool "superh"
+
+config UC_TARGET_sh64
+ bool "sh64"
+
+config UC_TARGET_sparc
+ bool "sparc"
+
+config UC_TARGET_v850
+ bool "v850"
+
+config UC_TARGET_x86_64
+ bool "x86_64"
+
+endchoice
+
+
+menu "Target Architecture Features and Options"
+
+if UC_TARGET_alpha
+source "workspace/config/uClibc-0.9.28/Config.alpha"
+endif
+
+if UC_TARGET_arm
+source "workspace/config/uClibc-0.9.28/Config.arm"
+endif
+
+if UC_TARGET_bfin
+source "workspace/config/uClibc-0.9.28/Config.bfin"
+endif
+
+if UC_TARGET_cris
+source "workspace/config/uClibc-0.9.28/Config.cris"
+endif
+
+if UC_TARGET_eUC_1
+source "workspace/config/uClibc-0.9.28/Config.e1"
+endif
+
+if UC_TARGET_frv
+source "workspace/config/uClibc-0.9.28/Config.frv"
+endif
+
+if UC_TARGET_hUC_8300
+source "workspace/config/uClibc-0.9.28/Config.h8300"
+endif
+
+if UC_TARGET_iUC_386
+source "workspace/config/uClibc-0.9.28/Config.i386"
+endif
+
+if UC_TARGET_iUC_960
+source "workspace/config/uClibc-0.9.28/Config.i960"
+endif
+
+if UC_TARGET_mUC_68k
+source "workspace/config/uClibc-0.9.28/Config.m68k"
+endif
+
+if UC_TARGET_nios
+source "workspace/config/uClibc-0.9.28/Config.nios"
+endif
+
+if UC_TARGET_niosUC_2
+source "workspace/config/uClibc-0.9.28/Config.nios2"
+endif
+
+if UC_TARGET_microblaze
+source "workspace/config/uClibc-0.9.28/Config.microblaze"
+endif
+
+if UC_TARGET_mips
+source "workspace/config/uClibc-0.9.28/Config.mips"
+endif
+
+if UC_TARGET_powerpc
+source "workspace/config/uClibc-0.9.28/Config.powerpc"
+endif
+
+if UC_TARGET_sh
+source "workspace/config/uClibc-0.9.28/Config.sh"
+endif
+
+if UC_TARGET_shUC_64
+source "workspace/config/uClibc-0.9.28/Config.sh64"
+endif
+
+if UC_TARGET_sparc
+source "workspace/config/uClibc-0.9.28/Config.sparc"
+endif
+
+if UC_TARGET_vUC_850
+source "workspace/config/uClibc-0.9.28/Config.v850"
+endif
+
+if UC_TARGET_xUC_86_64
+source "workspace/config/uClibc-0.9.28/Config.x86_64"
+endif
+
+
+source "workspace/config/uClibc-0.9.28/Config.in.arch"
+
+endmenu
+
+menu "General Library Settings"
+
+config UC_HAVE_NO_PIC
+ bool
+ default n
+
+config UC_DOPIC
+ bool "Generate Position Independent Code (PIC)"
+ default y
+ depends !UC_HAVE_NO_PIC
+ 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 UC_HAVE_NO_SHARED
+ bool
+ default n
+
+config UC_HAVE_SHARED
+ bool "Enable support for shared libraries"
+ depends on UC_DOPIC && !UC_HAVE_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 UC_ARCH_HAS_NO_LDSO
+ bool
+ default n
+
+config UC_BUILD_UCLIBC_LDSO
+ bool "Compile native shared library loader"
+ depends on UC_HAVE_SHARED && !UC_ARCH_HAS_NO_LDSO
+ default y
+ help
+ uClibc has a native shared library loader for some architectures.
+ If you answer Y here, the uClibc native shared library loader will
+ be built for your target architecture. If this option is available,
+ to you, then you almost certainly want to answer Y.
+
+config UC_FORCE_SHAREABLE_TEXT_SEGMENTS
+ bool "Only load shared libraries which can share their text segment"
+ depends on UC_BUILD_UCLIBC_LDSO
+ default n
+ 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). So 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 makes uClibc's shared library loader a
+ little bit smaller and guarantee that no memory will be wasted by badly
+ coded shared libraries.
+
+config UC_LDSO_LDD_SUPPORT
+ bool "Native shared library loader 'ldd' support"
+ depends on UC_BUILD_UCLIBC_LDSO
+ default y
+ help
+ Enable this to 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 makes uClibc's
+ shared library loader a little bit smaller. Most people will answer Y.
+
+config UC_LDSO_CACHE_SUPPORT
+ bool "Enable shared library loader cache"
+ depends on UC_BUILD_UCLIBC_LDSO
+ 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 UC_LDSO_PRELOAD_FILE_SUPPORT
+ bool "Enable shared library loader preload file support"
+ depends on UC_BUILD_UCLIBC_LDSO
+ default n
+ 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 UC_LDSO_BASE_FILENAME
+ string "Shared library loader naming prefix"
+ depends on UC_BUILD_UCLIBC_LDSO && (UC_LDSO_CACHE_SUPPORT || UC_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 UC_LDSO_RUNPATH
+ bool "Enable ELF RUNPATH tag support"
+ depends on UC_BUILD_UCLIBC_LDSO
+ default y
+ 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 UC_DL_FINI_CRT_COMPAT
+ bool "uClibc 0.9.27 compatibility"
+ default n
+ help
+ Allows to update a 0.9.27 based system to new crt/fini handling.
+ After rebuilding all apps, this option can be disabled.
+
+config UC_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 UC_HAS_NO_THREADS
+ bool
+ default n
+
+config UC_UCLIBC_HAS_THREADS
+ bool "POSIX Threading Support"
+ depends on !UC_HAS_NO_THREADS
+ default y
+ 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.
+
+ If your applications require pthreads, answer Y.
+
+config UC_PTHREADS_DEBUG_SUPPORT
+ bool "Build pthreads debugging support"
+ default n
+ depends on UC_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 UC_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 UC_Linux kernel (UC_2.UC_0.x) that lacks large file
+ support. Enabling this option will increase the size of uClibc.
+
+config UC_UCLIBC_STATIC_LDCONFIG
+ bool "Link ldconfig statically"
+ 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.
+
+choice
+ prompt "Malloc Implementation"
+ default MALLOC if ! UC_ARCH_HAS_MMU
+ default MALLOC_STANDARD if UC_ARCH_HAS_MMU
+ 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.
+
+ "malloc-simple" was written from scratch for uClibc, and is the
+ simplest possible (and therefore smallest) malloc implementation.
+ This uses only the mmap() system call to allocation 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 is rather dumb, and
+ certainly isn't the fastest. But it is 100% standards compliant,
+ thread safe, and very small.
+
+ "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".
+
+config UC_MALLOC
+ bool "malloc"
+
+config UC_MALLOC_SIMPLE
+ bool "malloc-simple"
+
+config UC_MALLOC_STANDARD
+ bool "malloc-standard"
+ depends on UC_ARCH_HAS_MMU
+
+endchoice
+
+config UC_MALLOC_GLIBC_COMPAT
+ bool "Malloc returns live pointer for malloc(0)"
+ default n
+ help
+ The behavior of malloc(0) is listed as implementation-defined by
+ SuSv3. Glibc returns a valid pointer to something, while uClibc
+ normally return a 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 UC_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 UC_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 UC_UNIX98PTY_ONLY
+ bool "Support only Unix 98 PTYs"
+ default y
+ help
+ If you want to support only Unix 98 PTYs enable this. Some older
+ applications may need this disabled. For most current programs,
+ you can generally answer Y.
+
+config UC_ASSUME_DEVPTS
+ bool "Assume that /dev/pts is a devpts or devfs file system"
+ default y
+ 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 UC_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 UC_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 UC_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.
+
+ Simply 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 UC_UCLIBC_HAS_TZ_FILE_READ_MANY
+ bool "Repeatedly read the '/etc/TZ' file"
+ depends on UC_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 allows applications to update their timezone information if the contents
+ of the file change.
+
+ Most people will answer Y.
+
+config UC_UCLIBC_TZ_FILE_PATH
+ string "Path to the 'TZ' file for setting the global timezone"
+ depends on UC_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'.
+
+endmenu
+
+menu "Networking Support"
+
+config UC_UCLIBC_HAS_IPV6
+ bool "IP version 6 Support"
+ default n
+ 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 UC_UCLIBC_HAS_RPC
+ bool "Remote Procedure Call (RPC) support"
+ default n
+ 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 UC_UCLIBC_HAS_FULL_RPC
+ bool "Full RPC support"
+ depends on UC_UCLIBC_HAS_RPC
+ default y if !UC_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.
+
+endmenu
+
+
+menu "String and Stdio Support"
+
+config UC_UCLIBC_HAS_STRING_GENERIC_OPT
+ bool "Use glibc 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 UC_UCLIBC_HAS_STRING_ARCH_OPT
+ bool "Use arch-specific string functions"
+ default y
+ help
+ Answer Y to use the arch-specific string functions instead of the
+ base uClibc versions, which are optimized exclusively for size.
+
+ Most people will answer Y, as this has been default behavior
+ for some time.
+
+config UC_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
+ staticly linked apps, they work only in stub locale mode.
+
+ Most people will answer Y.
+
+config UC_UCLIBC_HAS_CTYPE_SIGNED
+ bool "Support Signed Characters In 'ctype.h' Functions."
+ depends UC_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 UC_UCLIBC_HAS_CTYPE_TABLES
+ default UC_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 UC_UCLIBC_HAS_CTYPE_UNSAFE
+ bool "Do not check -- unsafe"
+
+config UC_UCLIBC_HAS_CTYPE_CHECKED
+ bool "Detect and handle appropriately"
+
+config UC_UCLIBC_HAS_CTYPE_ENFORCED
+ bool "Issue a diagnostic and abort()"
+
+endchoice
+
+
+config UC_UCLIBC_HAS_WCHAR
+ bool "Wide Character Support"
+ default n
+ 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 UC_UCLIBC_HAS_LOCALE
+ bool "Locale Support"
+ select UC_UCLIBC_HAS_WCHAR
+ select UC_UCLIBC_HAS_CTYPE_TABLES
+ default n
+ 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.
+
+config UC_UCLIBC_PREGENERATED_LOCALE_DATA
+ bool "Use Pre-generated Locale Data"
+ depends on UC_UCLIBC_HAS_LOCALE
+ default n
+ help
+ If you are selective and only want locale data for a few particular
+ locales, or you enjoy pain, or you are a rabid do-it-yourself sort of
+ person, you can turn this option off and manually walk through the
+ mostly undocumented procedure needed to generate your own locale
+ data.
+
+ Mere mortals will answer Y and use the default set of pregenerated
+ locale data, which supports 169 UTF-8 locales, and 144 locales for
+ other codesets (for the complete list see extra/locale/LOCALES).
+
+config UC_UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
+ bool "Automagically Download the Pre-generated Locale Data (if necessary)"
+ depends on UC_UCLIBC_PREGENERATED_LOCALE_DATA
+ default n
+ 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-030818.tgz
+ and place the uClibc-locale-030818.tgz tarball in the extra/locale/
+ directory.
+
+ Go ahead and make life easy for yourself... Answer Y.
+
+config UC_UCLIBC_HAS_XLOCALE
+ bool "Extended Locale Support (experimental/incomplete)"
+ depends on UC_UCLIBC_HAS_LOCALE
+ default n
+ 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 UC_UCLIBC_HAS_HEXADECIMAL_FLOATS
+ bool "Support hexadecimal float notation"
+ depends UC_UCLIBC_HAS_CTYPE_TABLES
+ depends on UC_UCLIBC_HAS_FLOATS
+ default n
+ 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 UC_UCLIBC_HAS_GLIBC_DIGIT_GROUPING
+ bool "Support glibc's \"'\" flag for allowing locale-specific digit grouping"
+ depends on UC_UCLIBC_HAS_LOCALE
+ depends on UC_UCLIBC_HAS_FLOATS
+ default n
+ 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 UC_UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING
+ bool "Do not require digit grouping when the \"'\" flag is specified"
+ depends on UC_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 UC_UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
+ bool "Support glibc's register_printf_function() (glibc-compat)"
+ depends on !UC_USE_OLD_VFPRINTF
+ default n
+ help
+ Answer Y to support glibc's register_printf_function() to allow an
+ application to add its own printf conversion specifiers.
+
+ NOTE: This implementation limits the number or registered specifiers to 10.
+ NOTE: This implementation 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 UC_USE_OLD_VFPRINTF
+ bool "Use the old vfprintf implementation"
+ depends on !UC_UCLIBC_HAS_WCHAR
+ default n
+ 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 UC_UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS
+ int "Maximum number of positional args. Either 0 or >= 9."
+ depends on !UC_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 UC_UCLIBC_HAS_SCANF_GLIBC_A_FLAG
+ bool "Support glibc's 'a' flag for scanf string conversions (not implemented)"
+ default n
+ 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 UC_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 UC_UCLIBC_HAS_STDIO_BUFSIZ_NONE
+ bool "none (WARNING - BUFSIZ will be 256 in stdio.h)"
+ depends !UC_UCLIBC_HAS_WCHAR
+
+config UC_UCLIBC_HAS_STDIO_BUFSIZ_256
+ bool "256 (minimum ANSI/ISO C99 value)"
+
+config UC_UCLIBC_HAS_STDIO_BUFSIZ_512
+ bool "512"
+
+config UC_UCLIBC_HAS_STDIO_BUFSIZ_1024
+ bool "1024"
+
+config UC_UCLIBC_HAS_STDIO_BUFSIZ_2048
+ bool "2048"
+
+config UC_UCLIBC_HAS_STDIO_BUFSIZ_4096
+ bool "4096"
+
+config UC_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 !UC_UCLIBC_HAS_STDIO_BUFSIZ_NONE
+ default UC_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 UC_UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE
+ bool "None"
+
+config UC_UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4
+ bool "4"
+
+config UC_UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8
+ bool "8"
+
+# If you add more choices, you will need to update uClibc_stdio.h.
+
+endchoice
+
+config UC_UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT
+ bool "Attemt to shutdown stdio subsystem when abort() is called."
+ default n
+ 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 UC_UCLIBC_HAS_STDIO_GETC_MACRO
+ bool "Provide a macro version of getc()"
+ depends !UC_UCLIBC_HAS_STDIO_BUFSIZ_NONE
+ default y
+ help
+ Provide a macro version of getc().
+
+ Most people will answer Y.
+
+config UC_UCLIBC_HAS_STDIO_PUTC_MACRO
+ bool "Provide a macro version of putc()"
+ depends !UC_UCLIBC_HAS_STDIO_BUFSIZ_NONE
+ default y
+ help
+ Provide a macro version of putc().
+
+ Most people will answer Y.
+
+config UC_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 UC_UCLIBC_HAS_FOPEN_LARGEFILE_MODE
+ bool "Support an fopen() 'F' flag for large file mode (uClibc-specific)"
+ depends on UC_UCLIBC_HAS_LFS
+ default n
+ 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 UC_UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
+ bool "Support an fopen() 'x' flag for exclusive mode (glibc-compat)"
+ default n
+ 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 UC_UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
+ bool "Support fmemopen(), open_memstream(), and fopencookie() (glibc-compat)"
+ default n
+ 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 UC_UCLIBC_HAS_PRINTF_M_SPEC
+ bool "Support the '%m' specifier in printf format strings (glibc-compat)"
+ default n
+ 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 UC_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 UC_UCLIBC_HAS_SYS_ERRLIST
+ bool "Support sys_errlist[] (obsolete-compat)"
+ depends on UC_UCLIBC_HAS_ERRNO_MESSAGES
+ default n
+ 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.
+
+config UC_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 UC_UCLIBC_HAS_SYS_SIGLIST
+ bool "Support sys_siglist[] (bsd-compat)"
+ depends on UC_UCLIBC_HAS_SIGNUM_MESSAGES
+ default n
+ 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 UC_UCLIBC_HAS_GETTEXT_AWARENESS
+ bool "Include gettext awareness"
+ depends on UC_UCLIBC_HAS_LOCALE
+ default n
+ 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 UC_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.
+
+endmenu
+
+
+menu "Big and Tall"
+
+config UC_UCLIBC_HAS_REGEX
+ bool "Regular Expression Support"
+ default y
+ help
+ POSIX regular expression code is really big -- 27k all by itself.
+ If you don't use regular expressions, turn this off and save space.
+ Of course, if you only staticly link, leave this on, since it will
+ only be included in your apps if you use regular expressions.
+
+config UC_UCLIBC_HAS_WORDEXP
+ bool "Support the wordexp() interface"
+ default n
+ 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 UC_UCLIBC_HAS_FTW
+ bool "Support the ftw() and nftw() interfaces"
+ default n
+ help
+ The SuSv3 ftw() and nftw() interfaces are 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() or nftw(), you should probably answer N.
+
+config UC_UCLIBC_HAS_GLOB
+ bool "Support the glob() interface"
+ default y
+ help
+
+ The glob interface is somewhat large (weighing in at about 4k). 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.
+
+endmenu
+
+
+
+
+menu "Library Installation Options"
+
+config UC_SHARED_LIB_LOADER_PREFIX
+ string "Shared library loader path"
+ depends on UC_BUILD_UCLIBC_LDSO
+ default "$(DEVEL_PREFIX)/lib"
+ help
+ When using shared libraries, this path is the location where the
+ shared library will be invoked. This value will be compiled into
+ every binary compiled with uClibc.
+
+ For a typical target system this should be set to "/lib", such that
+ 'make install' will install /lib/ld-uClibc.so.0.
+
+ BIG FAT WARNING:
+ If you do not have a shared library loader with the correct name
+ sitting in the directory this points to, your binaries will not
+ run.
+
+config UC_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 UC_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>.
+
+endmenu
+
+
+menu "uClibc security related options"
+
+config UC_UCLIBC_SECURITY
+ bool "Enable security options"
+ default n
+
+config UC_UCLIBC_BUILD_PIE
+ bool "Build utilities as ET_DYN/PIE executables"
+ depends on UC_UCLIBC_SECURITY
+ depends on UC_HAVE_SHARED
+ depends on UC_TARGET_arm || UC_TARGET_frv || UC_TARGET_iUC_386 || UC_TARGET_mips || UC_TARGET_powerpc
+ select UC_FORCE_SHAREABLE_TEXT_SEGMENTS if BUILD_UCLIBC_LDSO
+ default y
+ 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 UC_UCLIBC_HAS_SSP
+ bool "Support for propolice smashing stack protector"
+ depends on UC_UCLIBC_SECURITY
+ default n
+ help
+ Add 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 libc instead.
+ More information at:
+ <http://www.research.ibm.com/trl/projects/security/ssp/>
+ Most people will answer N.
+
+config UC_SSP_QUICK_CANARY
+ bool "Use simple guard values without accessing /dev/urandom"
+ depends on UC_UCLIBC_HAS_SSP
+ default n
+ 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.
+
+config UC_SSP_USE_ERANDOM
+ bool "Use erandom for setting guard value if /dev/urandom fails"
+ depends on UC_UCLIBC_HAS_SSP && !UC_SSP_QUICK_CANARY
+ default n
+ help
+ Use /dev/erandom to define the guard if /dev/urandom fails (chroot).
+ This requires a modified kernel.
+ More information at:
+ <http://frandom.sourceforge.net/>
+ Most people will answer N.
+
+choice
+ prompt "Propolice protection blocking signal"
+ depends on UC_UCLIBC_HAS_SSP
+ default PROPOLICE_BLOCK_ABRT if ! UC_DODEBUG
+ default PROPOLICE_BLOCK_SEGV if UC_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.
+
+ "kill" use SIGKILL to block offending programs.
+ Perhaps the best for security.
+
+ If unsure, answer "abort".
+
+config UC_PROPOLICE_BLOCK_ABRT
+ bool "abort"
+
+config UC_PROPOLICE_BLOCK_SEGV
+ bool "segfault"
+
+config UC_PROPOLICE_BLOCK_KILL
+ bool "kill"
+
+endchoice
+
+config UC_UCLIBC_BUILD_SSP
+ bool "Build uClibc with propolice protection"
+ depends on UC_UCLIBC_HAS_SSP
+ default n
+ help
+ Build all libraries and executables with propolice protection enabled.
+
+config UC_UCLIBC_BUILD_RELRO
+ bool "Build uClibc with RELRO"
+ depends on UC_UCLIBC_SECURITY
+ depends on UC_BUILD_UCLIBC_LDSO
+ default y
+ help
+ Build all libraries and executables with -z relro.
+
+config UC_UCLIBC_BUILD_NOW
+ bool "Build uClibc with NOW"
+ depends on UC_UCLIBC_SECURITY
+ depends on UC_BUILD_UCLIBC_LDSO
+ default y
+ help
+ Build all libraries and executables with -z now.
+
+config UC_UCLIBC_BUILD_NOEXECSTACK
+ bool "Build uClibc with noexecstack marking"
+ depends on UC_UCLIBC_SECURITY
+ default y
+ help
+ Mark all assembler files as noexecstack. This will result in marking
+ all libraries and executables built against uClibc not requiring
+ executable stack.
+
+endmenu
+
+menu "uClibc development/debugging options"
+
+config UC_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 UC_DODEBUG
+ bool "Build uClibc with debugging symbols"
+ select UC_PTHREADS_DEBUG_SUPPORT if UCLIBC_HAS_THREADS
+ default n
+ 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 UC_DODEBUG_PT
+ bool "Build pthread with debugging output"
+ depends on UC_UCLIBC_HAS_THREADS
+ default n
+ help
+ Enable debug output in libpthread. This is only useful when doing
+ development in libpthread itself.
+
+ Otherwise, answer N.
+
+config UC_DOASSERTS
+ bool "Build uClibc with run-time assertion testing"
+ default n
+ 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 UC_SUPPORT_LD_DEBUG
+ bool "Build the shared library loader with debugging support"
+ depends on UC_BUILD_UCLIBC_LDSO
+ default n
+ 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 UC_SUPPORT_LD_DEBUG_EARLY
+ bool "Build the shared library loader with early debugging support"
+ depends on UC_BUILD_UCLIBC_LDSO
+ default n
+ 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 UC_UCLIBC_MALLOC_DEBUGGING
+ bool "Build malloc with debugging support"
+ depends UC_MALLOC
+ default n
+ 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 UC_WARNINGS
+ string "Compiler Warnings"
+ default "-Wall"
+ help
+ Set this to the set of gcc warnings you wish to see while compiling.
+
+config UC_UCLIBC_MJN3_ONLY
+ bool "Manuel's hidden warnings"
+ default n
+ help
+ Answer Y here to see all Manuel's personal notes, warnings, and todos.
+
+ Most people will answer N.
+
+endmenu
diff --git a/config/uClibc-0.9.28/Config.in.arch b/config/uClibc-0.9.28/Config.in.arch
new file mode 100644
index 0000000..cf41b99
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.in.arch
@@ -0,0 +1,113 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+choice
+ prompt "Target Processor Endianness"
+ help
+ This is the endianness you wish to build use. Choose either Big
+ Endian, or Little Endian.
+
+config UC_ARCH_LITTLE_ENDIAN
+ bool "Little Endian"
+ depends on UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+
+config UC_ARCH_BIG_ENDIAN
+ bool "Big Endian"
+ depends on UC_ARCH_SUPPORTS_BIG_ENDIAN
+
+endchoice
+
+config UC_ARCH_HAS_NO_MMU
+ bool
+ default n
+
+config UC_ARCH_HAS_MMU
+ bool "Target CPU has a memory management unit (MMU)"
+ default y
+ depends !UC_ARCH_HAS_NO_MMU
+ 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 UC_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 UC_HAS_FPU
+ bool "Target CPU has a floating point unit (FPU)"
+ depends on UC_UCLIBC_HAS_FLOATS
+ 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 UC_UCLIBC_HAS_SOFT_FLOAT
+ bool
+ depends on UC_UCLIBC_HAS_FLOATS && !UC_HAS_FPU
+ default y
+
+config UC_DO_C99_MATH
+ bool "Enable full C99 math library support"
+ depends on UC_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 UC_KERNEL_SOURCE
+ string "Linux kernel header location"
+ default "/usr/src/linux"
+ 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 UC_UCLIBC_UCLINUX_BROKEN_MUNMAP
+ bool
+ depends on !UC_ARCH_HAS_MMU
+ default y
+
+config UC_EXCLUDE_BRK
+ bool
+ depends on !UC_ARCH_HAS_MMU
+ default y
+
+config UC_C_SYMBOL_PREFIX
+ string
+ default "_" if UC_ARCH_HAS_C_SYMBOL_PREFIX
+ default "" if !UC_ARCH_HAS_C_SYMBOL_PREFIX
+
+config UC_HAVE_DOT_CONFIG
+ bool
+ default y
+
diff --git a/config/uClibc-0.9.28/Config.m68k b/config/uClibc-0.9.28/Config.m68k
new file mode 100644
index 0000000..7d9b6c9
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.m68k
@@ -0,0 +1,30 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "m68k"
+
+config UC_HAVE_ELF
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+ default "-Wa,--bitwise-or"
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_HAVE_ELF
+ bool
+ default y
+
diff --git a/config/uClibc-0.9.28/Config.microblaze b/config/uClibc-0.9.28/Config.microblaze
new file mode 100644
index 0000000..d62c15d
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.microblaze
@@ -0,0 +1,33 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "microblaze"
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_NO_MMU
+ select UC_ARCH_HAS_C_SYMBOL_PREFIX
+ select UC_HAVE_NO_SHARED
+ select UC_ARCH_HAS_NO_LDSO
+ default y
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_CROSS
+ string
+ default "mb-"
+
diff --git a/config/uClibc-0.9.28/Config.mips b/config/uClibc-0.9.28/Config.mips
new file mode 100644
index 0000000..4806b26
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.mips
@@ -0,0 +1,66 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "mips"
+
+config UC_HAVE_ELF
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+ default "-mno-split-addresses"
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+choice
+ prompt "Target Processor Architecture"
+ default UC_CONFIG_MIPS_ISA_1
+ 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 UC_CONFIG_MIPS_ISA_1
+ bool "Generic (MIPS I)"
+
+config UC_CONFIG_MIPS_ISA_2
+ bool "MIPS II"
+
+config UC_CONFIG_MIPS_ISA_3
+ bool "MIPS III"
+
+config UC_CONFIG_MIPS_ISA_4
+ bool "MIPS IV"
+
+config UC_CONFIG_MIPS_ISA_MIPS32
+ bool "MIPS32"
+
+config UC_CONFIG_MIPS_ISA_MIPS64
+ bool "MIPS64"
+
+endchoice
diff --git a/config/uClibc-0.9.28/Config.nios b/config/uClibc-0.9.28/Config.nios
new file mode 100644
index 0000000..9dd82d0
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.nios
@@ -0,0 +1,31 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "nios"
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_NO_MMU
+ select UC_ARCH_LITTLE_ENDIAN
+ select UC_HAVE_NO_PIC
+ select UC_HAVE_NO_SHARED
+ select UC_ARCH_HAS_NO_LDSO
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+ default "-m32 -funaligned-struct-hack"
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_CROSS
+ string
+ default nios-elf-
+
diff --git a/config/uClibc-0.9.28/Config.nios2 b/config/uClibc-0.9.28/Config.nios2
new file mode 100644
index 0000000..28c2024
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.nios2
@@ -0,0 +1,30 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "nios2"
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_NO_MMU
+ select UC_ARCH_LITTLE_ENDIAN
+ select UC_HAVE_NO_PIC
+ select UC_HAVE_NO_SHARED
+ select UC_ARCH_HAS_NO_LDSO
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_CROSS
+ string
+ default nios2-elf-
+
diff --git a/config/uClibc-0.9.28/Config.powerpc b/config/uClibc-0.9.28/Config.powerpc
new file mode 100644
index 0000000..af1d9ba
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.powerpc
@@ -0,0 +1,26 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "powerpc"
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_MMU
+ default y
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
diff --git a/config/uClibc-0.9.28/Config.sh b/config/uClibc-0.9.28/Config.sh
new file mode 100644
index 0000000..bbd4066
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.sh
@@ -0,0 +1,69 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "sh"
+
+config UC_HAVE_ELF
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_HAVE_DOT_HIDDEN
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+choice
+ prompt "Target Processor Type"
+ default UC_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 UC_CONFIG_SH2A
+ select UC_ARCH_HAS_NO_MMU
+ select UC_ARCH_HAS_NO_LDSO
+ select UC_HAVE_NO_PIC
+ bool "SH2A"
+
+config UC_CONFIG_SH2
+ select UC_ARCH_HAS_NO_MMU
+ select UC_ARCH_HAS_NO_LDSO
+ bool "SH2"
+
+config UC_CONFIG_SH3
+ select UC_ARCH_HAS_MMU
+ bool "SH3"
+
+config UC_CONFIG_SH4
+ select UC_FORCE_SHAREABLE_TEXT_SEGMENTS
+ bool "SH4"
+
+endchoice
+
diff --git a/config/uClibc-0.9.28/Config.sh64 b/config/uClibc-0.9.28/Config.sh64
new file mode 100644
index 0000000..ba2f21a
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.sh64
@@ -0,0 +1,52 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "sh64"
+
+config UC_HAVE_ELF
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_HAVE_DOT_HIDDEN
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+choice
+ prompt "Target Processor Type"
+ default UC_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 UC_CONFIG_SH5
+ select UC_ARCH_HAS_MMU
+ select UC_UCLIBC_HAS_LFS
+ bool "SH5"
+
+endchoice
+
diff --git a/config/uClibc-0.9.28/Config.sparc b/config/uClibc-0.9.28/Config.sparc
new file mode 100644
index 0000000..6bcf5a3
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.sparc
@@ -0,0 +1,25 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "sparc"
+
+config UC_HAVE_ELF
+ bool
+ default y
+
+config UC_ARCH_SUPPORTS_BIG_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
diff --git a/config/uClibc-0.9.28/Config.v850 b/config/uClibc-0.9.28/Config.v850
new file mode 100644
index 0000000..0c1f328
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.v850
@@ -0,0 +1,34 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_TARGET_ARCH
+ default "v850"
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_NO_MMU
+ select UC_ARCH_HAS_C_SYMBOL_PREFIX
+ select UC_HAVE_NO_PIC
+ select UC_HAVE_NO_SHARED
+ select UC_ARCH_HAS_NO_LDSO
+ default y
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_CROSS
+ string
+ default "v850e-elf-"
+
diff --git a/config/uClibc-0.9.28/Config.x86_64 b/config/uClibc-0.9.28/Config.x86_64
new file mode 100644
index 0000000..f3d7f7f
--- /dev/null
+++ b/config/uClibc-0.9.28/Config.x86_64
@@ -0,0 +1,28 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config UC_HAVE_ELF
+ bool
+ select UC_ARCH_HAS_MMU
+ select UC_HAS_NO_THREADS
+ default y
+
+config UC_TARGET_ARCH
+ string
+ default "x86_64"
+
+config UC_ARCH_CFLAGS
+ string
+
+config UC_ARCH_LDFLAGS
+ string
+
+config UC_LIBGCC_CFLAGS
+ string
+
+config UC_ARCH_SUPPORTS_LITTLE_ENDIAN
+ bool
+ default y
+