123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- #
- # 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 (using ELF_FDPIC loader)"
- depends on !ARCH_USE_MMU && (TARGET_arm || TARGET_m68k || \
- TARGET_riscv32 || TARGET_riscv64)
- select DOPIC
- select STATIC_PIE
- select ARCH_HAS_NO_SHARED
- select HAVE_LDSO
- config UCLIBC_FORMAT_FDPIC_ELF
- bool "FDPIC ELF"
- depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv || TARGET_arm)
- 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 && !TARGET_frv
- select ARCH_HAS_NO_LDSO
- config UCLIBC_FORMAT_FLAT_SEP_DATA
- bool "STATIC FLAT (sep-data)"
- depends on !ARCH_USE_MMU && !TARGET_frv
- select ARCH_HAS_NO_LDSO
- config UCLIBC_FORMAT_SHARED_FLAT
- bool "SHARED FLAT"
- depends on !ARCH_USE_MMU && !TARGET_frv
- 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 ARCH_HAS_DEPRECATED_SYSCALLS
- bool
- help
- New architectures do not support deprecated system calls. However,
- these system calls are needed to build linuxthreads so
- this symbol controls whether there is support for these threading libraries
- or not.
- 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
- 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
- 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
- depends on TARGET_i386 || \
- TARGET_metag || \
- TARGET_nds32 || \
- (TARGET_powerpc && CONFIG_E500) || \
- TARGET_x86_64
- help
- If you want the uClibc math library to contain the C99 floating
- point environment, rounding and exception handling functions then
- say Y here.
- config UCLIBC_HAS_LONG_DOUBLE_MATH
- bool "Enable long double support"
- depends on DO_C99_MATH
- 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.
- Danger: These are only wrappers to the double library functions!
- config KERNEL_HEADERS
- string "Linux kernel header location"
- default ""
- 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.
- If you don't set this, we'll assume the toolchain can find them.
- config UCLIBC_UCLINUX_BROKEN_MUNMAP
- bool
- depends on !ARCH_USE_MMU
- default y
- config HAVE_DOT_CONFIG
- bool
- default y
|