X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=extra%2FConfigs%2FConfig.in.arch;h=35c6323f91b59b14d72d2d48f56147bbdb6ea7fa;hb=bde001033c16acaf573fdaf542e1970bfd249170;hp=21953e107dda8d8918c4cac1940688fb3518ee87;hpb=6d3b79787e3ae360de262670447cb730459412a9;p=uclinux-h8%2FuClibc.git diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch index 21953e107..35c6323f9 100644 --- a/extra/Configs/Config.in.arch +++ b/extra/Configs/Config.in.arch @@ -3,10 +3,99 @@ # 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 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. @@ -14,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 @@ -24,12 +123,12 @@ 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 && !ARCH_HAS_NO_FPU + depends on UCLIBC_HAS_FLOATS default y help If your target CPU does not have a Floating Point Unit (FPU) or a @@ -43,7 +142,7 @@ config HAS_FPU config UCLIBC_HAS_SOFT_FLOAT bool - depends on UCLIBC_HAS_FLOATS && !HAS_FPU + depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU default y config DO_C99_MATH @@ -60,36 +159,38 @@ config DO_C99_MATH 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