#
# For a description of the syntax of this configuration file,
-# see Documentation/kbuild/config-language.txt.
+# see extra/config/Kconfig-language.txt
#
-config UCLIBC_HAS_MMU
+
+#
+# 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
+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)"
- default y if !ARCH_HAS_NO_MMU
+ depends !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.
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
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.
+ Answering N to this option can reduce the size of uClibc.
+ Most people will answer Y.
-config HAS_FPU
+config UCLIBC_HAS_FPU
bool "Target CPU has a floating point unit (FPU)"
depends on UCLIBC_HAS_FLOATS
default y
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
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 traditionla POSIX/IEEE 1003.1b-1993 standard.
+ 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 WARNINGS
- string "Compiler Warnings"
- default "-Wall"
+config UCLIBC_HAS_FENV
+ bool "Enable C99 Floating-point environment"
+ depends on UCLIBC_HAS_FLOATS
+ default n
help
- Set this to the set of gcc warnings you wish to see while compiling.
+ If you want the uClibc math library to contain the C99 floating
+ point environment, rounding and exception handling functions then
+ say Y here.
-config KERNEL_SOURCE
+config KERNEL_HEADERS
string "Linux kernel header location"
- default "/usr/src/linux"
+ 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.
+ 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 !UCLIBC_HAS_MMU
+ depends on !ARCH_USE_MMU
default y
config EXCLUDE_BRK
bool
- depends on !UCLIBC_HAS_MMU
+ depends on !ARCH_USE_MMU
default y
-config C_SYMBOL_PREFIX
- string
- default "_" if ARCH_HAS_C_SYMBOL_PREFIX
- default "" if !ARCH_HAS_C_SYMBOL_PREFIX
-
+config HAVE_DOT_CONFIG
+ bool
+ default y