Config.in.arch 6.6 KB

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