Config.in.arch 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see extra/config/Kconfig-language.txt
  4. #
  5. config TARGET_SUBARCH
  6. string
  7. default "e500" if CONFIG_E500
  8. default "classic" if CONFIG_CLASSIC
  9. default "sh4" if CONFIG_SH4
  10. default ""
  11. #
  12. # Binary format
  13. #
  14. if !ARCH_USE_MMU
  15. choice
  16. prompt "Target File Format"
  17. config UCLIBC_FORMAT_ELF
  18. bool "ELF"
  19. depends on ARCH_USE_MMU
  20. config UCLIBC_FORMAT_FDPIC_ELF
  21. bool "FDPIC ELF"
  22. depends on !ARCH_USE_MMU
  23. select DOPIC
  24. config UCLIBC_FORMAT_FLAT
  25. bool "STATIC FLAT"
  26. depends on !ARCH_USE_MMU
  27. select ARCH_HAS_NO_LDSO
  28. config UCLIBC_FORMAT_FLAT_SEP_DATA
  29. bool "STATIC FLAT (sep-data)"
  30. depends on !ARCH_USE_MMU
  31. select ARCH_HAS_NO_LDSO
  32. config UCLIBC_FORMAT_SHARED_FLAT
  33. bool "SHARED FLAT"
  34. depends on !ARCH_USE_MMU
  35. select ARCH_HAS_NO_LDSO
  36. help
  37. Pick this one if you are using uClinux and wish to build
  38. uClibc as a flat-format shared library.
  39. endchoice
  40. endif
  41. if ARCH_USE_MMU
  42. comment "Using ELF file format"
  43. endif
  44. config UCLIBC_SHARED_FLAT_ID
  45. int "Shared library ID"
  46. default 1
  47. depends on UCLIBC_FORMAT_SHARED_FLAT
  48. help
  49. When using flat shared libraries, every library has a unique
  50. system-wide identifier. Identifier 0 is reserved for
  51. executables and true shared libraries have identifiers
  52. starting at 1. The maximum shared library identifier is
  53. determined by the kernel and is usually 3. Shared library
  54. N must be available on the target system as "/lib/libN.so".
  55. When a shared C library is used, it usually has identifier 1,
  56. but you can use this option to select a different identifier
  57. if you need to.
  58. #
  59. # Endian Format
  60. #
  61. config ARCH_ANY_ENDIAN
  62. bool
  63. config ARCH_BIG_ENDIAN
  64. bool
  65. config ARCH_LITTLE_ENDIAN
  66. bool
  67. if ARCH_ANY_ENDIAN
  68. choice
  69. prompt "Target Processor Endianness"
  70. help
  71. This is the endianness you wish to use. Choose either Big
  72. Endian, or Little Endian.
  73. config ARCH_WANTS_BIG_ENDIAN
  74. bool "Big Endian"
  75. select ARCH_BIG_ENDIAN
  76. config ARCH_WANTS_LITTLE_ENDIAN
  77. bool "Little Endian"
  78. select ARCH_LITTLE_ENDIAN
  79. endchoice
  80. endif
  81. # if the arch only supports one endian, just display the setting
  82. if !ARCH_ANY_ENDIAN && ARCH_LITTLE_ENDIAN
  83. comment "Using Little Endian"
  84. endif
  85. if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
  86. comment "Using Big Endian"
  87. endif
  88. config ARCH_HAS_NO_MMU
  89. bool
  90. if ARCH_HAS_NO_MMU
  91. comment "Target CPU lacks a memory management unit (MMU)"
  92. endif
  93. config ARCH_HAS_MMU
  94. bool "Target CPU has a memory management unit (MMU)"
  95. depends on !ARCH_HAS_NO_MMU
  96. default y
  97. help
  98. If your target CPU does not have a memory management unit (MMU),
  99. then answer N here. Normally, Linux runs on systems with an MMU.
  100. If you are building a uClinux system, answer N.
  101. Most people will answer Y.
  102. config ARCH_USE_MMU
  103. bool "Do you want to utilize the MMU?"
  104. depends on ARCH_HAS_MMU
  105. default y
  106. help
  107. If your target CPU has a MMU, and you wish to actually utilize it,
  108. then answer Y here. Normal Linux requires an MMU.
  109. If you're unsure, answer Y.
  110. config UCLIBC_HAS_FLOATS
  111. bool "Enable floating point number support"
  112. default y
  113. help
  114. This option allows you to entirely omit all floating point number
  115. support from uClibc. This will cause floating point functions like
  116. strtod() to be omitted from uClibc. Other floating point functions,
  117. such as printf() and scanf() will still be included in the library,
  118. but will not contain support for floating point numbers.
  119. Answering N to this option can reduce the size of uClibc.
  120. Most people will answer Y.
  121. config UCLIBC_HAS_FPU
  122. bool "Target CPU has a floating point unit (FPU)"
  123. depends on UCLIBC_HAS_FLOATS
  124. default y
  125. help
  126. If your target CPU does not have a Floating Point Unit (FPU) or a
  127. kernel FPU emulator, but you still wish to support floating point
  128. functions, then uClibc will need to be compiled with soft floating
  129. point support (-msoft-float). If your target CPU does not have an
  130. FPU or an FPU emulator within the Linux kernel, then you should
  131. answer N.
  132. Most people will answer Y.
  133. config UCLIBC_HAS_SOFT_FLOAT
  134. bool
  135. depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
  136. default y
  137. config DO_C99_MATH
  138. bool "Enable full C99 math library support"
  139. depends on UCLIBC_HAS_FLOATS
  140. default n
  141. help
  142. If you want the uClibc math library to contain the full set C99
  143. math library features, then answer Y. If you leave this set to
  144. N the math library will contain only the math functions that were
  145. listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
  146. Leaving this option set to N will save around 35k on an x86 system.
  147. If your applications require the newer C99 math library functions,
  148. then answer Y.
  149. config UCLIBC_HAS_FENV
  150. bool "Enable C99 Floating-point environment"
  151. depends on UCLIBC_HAS_FLOATS
  152. default n
  153. help
  154. If you want the uClibc math library to contain the C99 floating
  155. point environment, rounding and exception handling functions then
  156. say Y here.
  157. NOTE: Supported architectures currently include:
  158. i386
  159. config UCLIBC_HAS_LONG_DOUBLE_MATH
  160. bool "Enable long double support"
  161. depends on DO_C99_MATH
  162. depends on TARGET_i386 || TARGET_m68k || TARGET_sparc || TARGET_x86_64 || TARGET_powerpc || TARGET_sh
  163. default y
  164. help
  165. If you want the uClibc math library to contain the full set of C99
  166. long double math library features, then answer Y. Don't enable it
  167. for sparc w/ 32bit ABI.
  168. config KERNEL_HEADERS
  169. string "Linux kernel header location"
  170. default "/usr/include"
  171. help
  172. The kernel source you use to compile with should be the same
  173. as the Linux kernel you run your apps on. uClibc doesn't even
  174. try to achieve binary compatibility across kernel versions.
  175. So don't expect, for example, uClibc compiled with Linux kernel
  176. 2.0.x to implement lchown properly, since 2.0.x can't do that.
  177. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
  178. but then run on Linux 2.0.x, lchown will be compiled into uClibc,
  179. but won't work at all. You have been warned.
  180. config UCLIBC_UCLINUX_BROKEN_MUNMAP
  181. bool
  182. depends on !ARCH_USE_MMU
  183. default y