Config.in.libc 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. choice
  4. prompt "C library"
  5. config ADK_TARGET_LIB_UCLIBC_NG
  6. bool "uClibc-ng embedded C library"
  7. depends on \
  8. !ADK_TARGET_ARCH_AARCH64 && \
  9. !ADK_TARGET_ARCH_HPPA && \
  10. !ADK_TARGET_ARCH_NIOS2 && \
  11. !ADK_TARGET_ARCH_S390 && \
  12. !ADK_TARGET_ARCH_SPARC64 && \
  13. !ADK_TARGET_ARCH_PPC64 && \
  14. !ADK_TARGET_ARCH_TILE
  15. help
  16. http://uclibc-ng.org
  17. config ADK_TARGET_LIB_MUSL
  18. bool "musl C library"
  19. depends on !ADK_TARGET_UCLINUX
  20. depends on \
  21. ADK_TARGET_ARCH_AARCH64 || \
  22. ADK_TARGET_ARCH_ARM || \
  23. ADK_TARGET_ARCH_MICROBLAZE || \
  24. ADK_TARGET_ARCH_MIPS || \
  25. ADK_TARGET_ARCH_OR1K || \
  26. ADK_TARGET_ARCH_PPC || \
  27. ADK_TARGET_ARCH_SH || \
  28. ADK_TARGET_ARCH_X86 || \
  29. ADK_TARGET_ARCH_X86_64
  30. help
  31. http://musl-libc.org
  32. config ADK_TARGET_LIB_GLIBC
  33. bool "GNU C library"
  34. depends on !ADK_TARGET_ARCH_ARC
  35. depends on !ADK_TARGET_ARCH_AVR32
  36. depends on !ADK_TARGET_ARCH_BFIN
  37. depends on !ADK_TARGET_ARCH_CRIS
  38. depends on !ADK_TARGET_ARCH_H8300
  39. depends on !ADK_TARGET_ARCH_OR1K
  40. depends on !ADK_TARGET_ARCH_XTENSA
  41. depends on !ADK_TARGET_UCLINUX
  42. depends on !ADK_TARGET_WITHOUT_MMU
  43. help
  44. http://www.gnu.org/libc
  45. config ADK_TARGET_LIB_NEWLIB
  46. bool "newlib C library"
  47. select ADK_TARGET_WITHOUT_CXX
  48. select ADK_TARGET_WITHOUT_THREADS
  49. depends on \
  50. ADK_TARGET_ARCH_ARM || \
  51. ADK_TARGET_ARCH_BFIN || \
  52. ADK_TARGET_ARCH_CRIS || \
  53. ADK_TARGET_ARCH_FRV || \
  54. ADK_TARGET_ARCH_LM32 || \
  55. ADK_TARGET_ARCH_MICROBLAZE || \
  56. ADK_TARGET_ARCH_MIPS || \
  57. ADK_TARGET_ARCH_OR1K || \
  58. ADK_TARGET_ARCH_PPC || \
  59. ADK_TARGET_ARCH_SPARC || \
  60. ADK_TARGET_ARCH_X86
  61. help
  62. https://sourceware.org/newlib/
  63. endchoice
  64. choice
  65. prompt "C library version"
  66. config ADK_TARGET_LIB_UCLIBC_NG_1_0_10
  67. bool "1.0.10"
  68. depends on ADK_TARGET_LIB_UCLIBC_NG
  69. config ADK_TARGET_LIB_UCLIBC_NG_1_0_9
  70. bool "1.0.9"
  71. depends on ADK_TARGET_LIB_UCLIBC_NG
  72. depends on !ADK_TARGET_ARCH_BFIN
  73. config ADK_TARGET_LIB_UCLIBC_NG_1_0_8
  74. bool "1.0.8"
  75. depends on ADK_TARGET_LIB_UCLIBC_NG
  76. depends on !ADK_TARGET_ARCH_BFIN
  77. config ADK_TARGET_LIB_UCLIBC_NG_GIT
  78. bool "git"
  79. depends on ADK_TARGET_LIB_UCLIBC_NG
  80. config ADK_TARGET_LIB_GLIBC_2_22
  81. bool "2.22"
  82. depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_HPPA
  83. config ADK_TARGET_LIB_GLIBC_2_21
  84. bool "2.21"
  85. depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_HPPA
  86. config ADK_TARGET_LIB_GLIBC_2_20
  87. bool "2.20"
  88. depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_HPPA
  89. config ADK_TARGET_LIB_GLIBC_GIT
  90. bool "git"
  91. depends on ADK_TARGET_LIB_GLIBC
  92. config ADK_TARGET_LIB_MUSL_1_1_12
  93. bool "1.1.12"
  94. depends on ADK_TARGET_LIB_MUSL
  95. config ADK_TARGET_LIB_MUSL_1_1_11
  96. bool "1.1.11"
  97. depends on ADK_TARGET_LIB_MUSL
  98. config ADK_TARGET_LIB_MUSL_1_1_10
  99. bool "1.1.10"
  100. depends on ADK_TARGET_LIB_MUSL
  101. config ADK_TARGET_LIB_MUSL_GIT
  102. bool "git"
  103. depends on ADK_TARGET_LIB_MUSL
  104. config ADK_TARGET_LIB_NEWLIB_2_2_0
  105. bool "2.2.0"
  106. depends on ADK_TARGET_LIB_NEWLIB
  107. config ADK_TARGET_LIB_NEWLIB_GIT
  108. bool "git"
  109. depends on ADK_TARGET_LIB_NEWLIB
  110. endchoice
  111. choice
  112. prompt "Threading"
  113. depends on ADK_TARGET_LIB_UCLIBC_NG && !ADK_TARGET_WITHOUT_THREADS
  114. config ADK_TARGET_LIB_WITH_THREADS
  115. bool "enable threads"
  116. config ADK_TARGET_LIB_WITHOUT_THREADS
  117. bool "disable threads"
  118. endchoice
  119. config ADK_TARGET_WITH_LT
  120. bool
  121. config ADK_TARGET_WITH_NPTL
  122. bool
  123. config ADK_TARGET_WITHOUT_THREADS
  124. bool
  125. config ADK_TARGET_WITHOUT_CXX
  126. bool
  127. config ADK_TARGET_LIBC
  128. string
  129. default "uclibc-ng" if ADK_TARGET_LIB_UCLIBC_NG
  130. default "glibc" if ADK_TARGET_LIB_GLIBC
  131. default "musl" if ADK_TARGET_LIB_MUSL
  132. default "newlib" if ADK_TARGET_LIB_NEWLIB
  133. config ADK_LIBC_VERSION
  134. string
  135. default "1.0.10" if ADK_TARGET_LIB_UCLIBC_NG_1_0_10
  136. default "1.0.9" if ADK_TARGET_LIB_UCLIBC_NG_1_0_9
  137. default "1.0.8" if ADK_TARGET_LIB_UCLIBC_NG_1_0_8
  138. default "1.1.12" if ADK_TARGET_LIB_MUSL_1_1_12
  139. default "1.1.11" if ADK_TARGET_LIB_MUSL_1_1_11
  140. default "1.1.10" if ADK_TARGET_LIB_MUSL_1_1_10
  141. default "2.22" if ADK_TARGET_LIB_GLIBC_2_22
  142. default "2.21" if ADK_TARGET_LIB_GLIBC_2_21
  143. default "2.20" if ADK_TARGET_LIB_GLIBC_2_20
  144. default "2.2.0" if ADK_TARGET_LIB_NEWLIB_2_2_0
  145. default "git" if ADK_TARGET_LIB_UCLIBC_NG_GIT || \
  146. ADK_TARGET_LIB_MUSL_GIT || \
  147. ADK_TARGET_LIB_GLIBC_GIT || \
  148. ADK_TARGET_LIB_NEWLIB_GIT
  149. config ADK_TARGET_LIB_UCLIBC_NG_1_0
  150. bool
  151. default y if ADK_TARGET_LIB_UCLIBC_NG_1_0_10
  152. default y if ADK_TARGET_LIB_UCLIBC_NG_1_0_9
  153. default y if ADK_TARGET_LIB_UCLIBC_NG_1_0_8
  154. config ADK_TARGET_SUFFIX
  155. string
  156. default "gnueabihf" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
  157. default "gnueabi" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM
  158. default "gnuabi64" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N64
  159. default "gnuabin32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N32
  160. default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_O64
  161. default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_32 && ADK_LINUX_64
  162. default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_X32 && ADK_LINUX_64
  163. default "gnu" if ADK_TARGET_LIB_GLIBC
  164. default "uclibceabihf" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
  165. default "uclibceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM
  166. default "uclibcabi64" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N64
  167. default "uclibcabin32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N32
  168. default "uclibcabi32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_O32
  169. default "uclibc32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_32 && ADK_LINUX_64
  170. default "uclibc" if ADK_TARGET_LIB_UCLIBC_NG
  171. default "musleabihf" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
  172. default "musleabi" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM
  173. default "muslabi64" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N64
  174. default "muslabin32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N32
  175. default "muslabi32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_O32
  176. default "musl32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_32 && ADK_LINUX_64
  177. default "muslx32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_X32 && ADK_LINUX_64
  178. default "musl" if ADK_TARGET_LIB_MUSL
  179. default "eabi" if ADK_TARGET_LIB_NEWLIB && ADK_TARGET_ARCH_ARM
  180. default "elf" if ADK_TARGET_LIB_NEWLIB