# # For a description of the syntax of this configuration file, # see extra/config/Kconfig-language.txt # # # Binary format # if !KEMBTK_UCLIBC_ARCH_USE_MMU choice prompt "Target File Format" config KEMBTK_UCLIBC_UCLIBC_FORMAT_ELF bool "ELF" depends on KEMBTK_UCLIBC_ARCH_USE_MMU config KEMBTK_UCLIBC_UCLIBC_FORMAT_FDPIC_ELF bool "FDPIC ELF" depends on !KEMBTK_UCLIBC_ARCH_USE_MMU && (KEMBTK_UCLIBC_TARGET_bfin || KEMBTK_UCLIBC_TARGET_frv) select KEMBTK_UCLIBC_DOPIC config KEMBTK_UCLIBC_UCLIBC_FORMAT_DSBT_ELF bool "DBST ELF" depends on !KEMBTK_UCLIBC_ARCH_USE_MMU && KEMBTK_UCLIBC_TARGET_c6x select KEMBTK_UCLIBC_DOPIC config KEMBTK_UCLIBC_UCLIBC_FORMAT_FLAT bool "STATIC FLAT" depends on !KEMBTK_UCLIBC_ARCH_USE_MMU select KEMBTK_UCLIBC_ARCH_HAS_NO_LDSO config KEMBTK_UCLIBC_UCLIBC_FORMAT_FLAT_SEP_DATA bool "STATIC FLAT (sep-data)" depends on !KEMBTK_UCLIBC_ARCH_USE_MMU select KEMBTK_UCLIBC_ARCH_HAS_NO_LDSO config KEMBTK_UCLIBC_UCLIBC_FORMAT_SHARED_FLAT bool "SHARED FLAT" depends on !KEMBTK_UCLIBC_ARCH_USE_MMU select KEMBTK_UCLIBC_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 KEMBTK_UCLIBC_ARCH_USE_MMU comment "Using ELF file format" endif config KEMBTK_UCLIBC_UCLIBC_SHARED_FLAT_ID int "Shared library ID" default 1 depends on KEMBTK_UCLIBC_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 KEMBTK_UCLIBC_ARCH_ANY_ENDIAN bool default n config KEMBTK_UCLIBC_ARCH_BIG_ENDIAN bool default n config KEMBTK_UCLIBC_ARCH_LITTLE_ENDIAN bool default n if KEMBTK_UCLIBC_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 KEMBTK_UCLIBC_ARCH_WANTS_BIG_ENDIAN bool default n select KEMBTK_UCLIBC_ARCH_BIG_ENDIAN config KEMBTK_UCLIBC_ARCH_WANTS_LITTLE_ENDIAN bool default n select KEMBTK_UCLIBC_ARCH_LITTLE_ENDIAN #endchoice endif # if the arch only supports one endian, just display the setting if !KEMBTK_UCLIBC_ARCH_ANY_ENDIAN && KEMBTK_UCLIBC_ARCH_LITTLE_ENDIAN comment "Using Little Endian" endif if !KEMBTK_UCLIBC_ARCH_ANY_ENDIAN && KEMBTK_UCLIBC_ARCH_BIG_ENDIAN comment "Using Big Endian" endif config KEMBTK_UCLIBC_ARCH_HAS_NO_MMU bool if KEMBTK_UCLIBC_ARCH_HAS_NO_MMU comment "Target CPU lacks a memory management unit (MMU)" endif config KEMBTK_UCLIBC_ARCH_HAS_MMU bool "Target CPU has a memory management unit (MMU)" depends on !KEMBTK_UCLIBC_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 KEMBTK_UCLIBC_ARCH_USE_MMU bool "Do you want to utilize the MMU?" depends on KEMBTK_UCLIBC_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 KEMBTK_UCLIBC_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 KEMBTK_UCLIBC_UCLIBC_HAS_FPU bool default n 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 KEMBTK_UCLIBC_UCLIBC_HAS_SOFT_FLOAT bool depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS && !KEMBTK_UCLIBC_UCLIBC_HAS_FPU default y config KEMBTK_UCLIBC_DO_C99_MATH bool "Enable full C99 math library support" depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS 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 KEMBTK_UCLIBC_DO_XSI_MATH bool "Enable XSI math extensions to the ISO C standard (bessel)" depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS 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 KEMBTK_UCLIBC_UCLIBC_HAS_FENV bool default n depends on KEMBTK_UCLIBC_UCLIBC_HAS_FLOATS 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 KEMBTK_UCLIBC_UCLIBC_HAS_LONG_DOUBLE_MATH bool "Enable long double support" depends on KEMBTK_UCLIBC_DO_C99_MATH depends on KEMBTK_UCLIBC_TARGET_i386 || KEMBTK_UCLIBC_TARGET_m68k || KEMBTK_UCLIBC_TARGET_sparc || KEMBTK_UCLIBC_TARGET_x86_64 || KEMBTK_UCLIBC_TARGET_powerpc || KEMBTK_UCLIBC_TARGET_sh 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 KEMBTK_UCLIBC_KERNEL_HEADERS string 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 KEMBTK_UCLIBC_UCLIBC_UCLINUX_BROKEN_MUNMAP bool depends on !KEMBTK_UCLIBC_ARCH_USE_MMU default y config KEMBTK_UCLIBC_HAVE_DOT_CONFIG bool default y