| # |
| # 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 |