Config.in.arch 5.4 KB

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