Config.in.arch 5.1 KB

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