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
 #
 
 # 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)"
        bool "Target CPU has a memory management unit (MMU)"
-       default y
        depends !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.  
        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.
 
 
          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
 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.
 
          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)"
        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
        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
 
 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
        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.
 
          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
        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"
        string "Linux kernel header location"
-       default "/usr/src/linux"
+       default "/usr/include"
        help
        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
 
 config UCLIBC_UCLINUX_BROKEN_MUNMAP
        bool
-       depends on !UCLIBC_HAS_MMU
+       depends on !ARCH_USE_MMU
        default y
 
 config EXCLUDE_BRK
        bool
        default y
 
 config EXCLUDE_BRK
        bool
-       depends on !UCLIBC_HAS_MMU
+       depends on !ARCH_USE_MMU
        default y
 
        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