OSDN Git Service

- wrap superlong lines
[uclinux-h8/uClibc.git] / extra / Configs / Config.in.arch
index 21953e1..35c6323 100644 (file)
@@ -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