Config.in.arch 6.3 KB

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