Config.in.arch 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  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 (using ELF_FDPIC loader)"
  13. depends on !ARCH_USE_MMU && (TARGET_arm || TARGET_m68k || \
  14. TARGET_riscv32 || TARGET_riscv64)
  15. select DOPIC
  16. select STATIC_PIE
  17. select ARCH_HAS_NO_SHARED
  18. select HAVE_LDSO
  19. config UCLIBC_FORMAT_FDPIC_ELF
  20. bool "FDPIC ELF"
  21. depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv || TARGET_arm)
  22. select DOPIC
  23. config UCLIBC_FORMAT_DSBT_ELF
  24. bool "DBST ELF"
  25. depends on !ARCH_USE_MMU && TARGET_c6x
  26. select DOPIC
  27. config UCLIBC_FORMAT_FLAT
  28. bool "STATIC FLAT"
  29. depends on !ARCH_USE_MMU && !TARGET_frv
  30. select ARCH_HAS_NO_LDSO
  31. config UCLIBC_FORMAT_FLAT_SEP_DATA
  32. bool "STATIC FLAT (sep-data)"
  33. depends on !ARCH_USE_MMU && !TARGET_frv
  34. select ARCH_HAS_NO_LDSO
  35. endchoice
  36. endif
  37. if ARCH_USE_MMU
  38. comment "Using ELF file format"
  39. endif
  40. config ARCH_HAS_DEPRECATED_SYSCALLS
  41. bool
  42. help
  43. New architectures do not support deprecated system calls. However,
  44. these system calls are needed to build linuxthreads so
  45. this symbol controls whether there is support for these threading libraries
  46. or not.
  47. #
  48. # Endian Format
  49. #
  50. config ARCH_ANY_ENDIAN
  51. bool
  52. config ARCH_BIG_ENDIAN
  53. bool
  54. config ARCH_LITTLE_ENDIAN
  55. bool
  56. if ARCH_ANY_ENDIAN
  57. choice
  58. prompt "Target Processor Endianness"
  59. help
  60. This is the endianness you wish to use. Choose either Big
  61. Endian, or Little Endian.
  62. config ARCH_WANTS_BIG_ENDIAN
  63. bool "Big Endian"
  64. select ARCH_BIG_ENDIAN
  65. config ARCH_WANTS_LITTLE_ENDIAN
  66. bool "Little Endian"
  67. select ARCH_LITTLE_ENDIAN
  68. endchoice
  69. endif
  70. # if the arch only supports one endian, just display the setting
  71. if !ARCH_ANY_ENDIAN && ARCH_LITTLE_ENDIAN
  72. comment "Using Little Endian"
  73. endif
  74. if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
  75. comment "Using Big Endian"
  76. endif
  77. config ARCH_HAS_NO_MMU
  78. bool
  79. if ARCH_HAS_NO_MMU
  80. comment "Target CPU lacks a memory management unit (MMU)"
  81. endif
  82. config ARCH_HAS_MMU
  83. bool "Target CPU has a memory management unit (MMU)"
  84. depends on !ARCH_HAS_NO_MMU
  85. default y
  86. help
  87. If your target CPU does not have a memory management unit (MMU),
  88. then answer N here. Normally, Linux runs on systems with an MMU.
  89. If you are building a uClinux system, answer N.
  90. Most people will answer Y.
  91. config ARCH_USE_MMU
  92. bool "Do you want to utilize the MMU?"
  93. depends on ARCH_HAS_MMU
  94. default y
  95. help
  96. If your target CPU has a MMU, and you wish to actually utilize it,
  97. then answer Y here. Normal Linux requires an MMU.
  98. If you're unsure, answer Y.
  99. config UCLIBC_HAS_FLOATS
  100. bool "Enable floating point number support"
  101. default y
  102. help
  103. This option allows you to entirely omit all floating point number
  104. support from uClibc. This will cause floating point functions like
  105. strtod() to be omitted from uClibc. Other floating point functions,
  106. such as printf() and scanf() will still be included in the library,
  107. but will not contain support for floating point numbers.
  108. Answering N to this option can reduce the size of uClibc.
  109. Most people will answer Y.
  110. config UCLIBC_HAS_FPU
  111. bool "Target CPU has a floating point unit (FPU)"
  112. default y
  113. help
  114. If your target CPU does not have a Floating Point Unit (FPU) or a
  115. kernel FPU emulator, but you still wish to support floating point
  116. functions, then uClibc will need to be compiled with soft floating
  117. point support (-msoft-float). If your target CPU does not have an
  118. FPU or an FPU emulator within the Linux kernel, then you should
  119. answer N.
  120. Most people will answer Y.
  121. config UCLIBC_HAS_SOFT_FLOAT
  122. bool
  123. depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
  124. default y
  125. config DO_C99_MATH
  126. bool "Enable full C99 math library support"
  127. depends on UCLIBC_HAS_FLOATS
  128. help
  129. If you want the uClibc math library to contain the full set C99
  130. math library features, then answer Y. If you leave this set to
  131. N the math library will contain only the math functions that were
  132. listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
  133. Leaving this option set to N will save around 35k on an x86 system.
  134. If your applications require the newer C99 math library functions,
  135. then answer Y.
  136. config DO_XSI_MATH
  137. bool "Enable XSI math extensions to the ISO C standard (bessel)"
  138. depends on UCLIBC_HAS_FLOATS
  139. help
  140. X/Open System Interfaces extensions to ISO C math functions
  141. (differential equation functions):
  142. j0, j1, jn - Bessel functions of the first kind
  143. y0, y1, yn - Bessel functions of the second kind
  144. config UCLIBC_HAS_FENV
  145. bool "Enable C99 Floating-point environment"
  146. depends on UCLIBC_HAS_FLOATS
  147. depends on TARGET_i386 || \
  148. TARGET_metag || \
  149. TARGET_nds32 || \
  150. (TARGET_powerpc && CONFIG_E500) || \
  151. TARGET_x86_64
  152. help
  153. If you want the uClibc math library to contain the C99 floating
  154. point environment, rounding and exception handling functions then
  155. say Y here.
  156. config UCLIBC_HAS_LONG_DOUBLE_MATH
  157. bool "Enable long double support"
  158. depends on DO_C99_MATH
  159. default y
  160. help
  161. If you want the uClibc math library to contain the full set of C99
  162. long double math library features, then answer Y.
  163. Danger: These are only wrappers to the double library functions!
  164. config KERNEL_HEADERS
  165. string "Linux kernel header location"
  166. default ""
  167. help
  168. The kernel source you use to compile with should be the same
  169. as the Linux kernel you run your apps on. uClibc doesn't even
  170. try to achieve binary compatibility across kernel versions.
  171. So don't expect, for example, uClibc compiled with Linux kernel
  172. 2.0.x to implement lchown properly, since 2.0.x can't do that.
  173. Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
  174. but then run on Linux 2.0.x, lchown will be compiled into uClibc,
  175. but won't work at all. You have been warned.
  176. If you don't set this, we'll assume the toolchain can find them.
  177. config UCLIBC_UCLINUX_BROKEN_MUNMAP
  178. bool
  179. depends on !ARCH_USE_MMU
  180. default y
  181. config HAVE_DOT_CONFIG
  182. bool
  183. default y