X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=extra%2FConfigs%2FConfig.in.arch;h=35c6323f91b59b14d72d2d48f56147bbdb6ea7fa;hb=bde001033c16acaf573fdaf542e1970bfd249170;hp=1e7b1129a39c0df90575aa6a0979b464b7606a33;hpb=0c6405c1d65d8a570b731abf1163fe6003a62c2c;p=uclinux-h8%2FuClibc.git diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch index 1e7b1129a..35c6323f9 100644 --- a/extra/Configs/Config.in.arch +++ b/extra/Configs/Config.in.arch @@ -1,11 +1,101 @@ # # 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. @@ -13,6 +103,16 @@ config UCLIBC_HAS_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 @@ -23,10 +123,10 @@ config UCLIBC_HAS_FLOATS 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 @@ -40,6 +140,11 @@ config HAS_FPU 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 @@ -48,42 +153,44 @@ config DO_C99_MATH 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