Config.in.libc 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  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. default ADK_TARGET_LIB_UCLIBC_NG if ADK_TARGET_OS_LINUX
  6. config ADK_TARGET_LIB_UCLIBC_NG
  7. bool "uClibc-ng embedded C library"
  8. select ADK_PACKAGE_LIBGCC
  9. depends on (\
  10. ADK_TARGET_ARCH_AARCH64 || \
  11. ADK_TARGET_ARCH_ALPHA || \
  12. ADK_TARGET_ARCH_ARC || \
  13. ADK_TARGET_ARCH_ARM || \
  14. ADK_TARGET_ARCH_AVR32 || \
  15. ADK_TARGET_ARCH_BFIN || \
  16. ADK_TARGET_ARCH_C6X || \
  17. ADK_TARGET_ARCH_CRIS || \
  18. ADK_TARGET_ARCH_FRV || \
  19. ADK_TARGET_ARCH_H8300 || \
  20. ADK_TARGET_ARCH_HPPA || \
  21. ADK_TARGET_ARCH_IA64 || \
  22. ADK_TARGET_ARCH_LM32 || \
  23. ADK_TARGET_ARCH_M68K || \
  24. ADK_TARGET_ARCH_METAG || \
  25. ADK_TARGET_ARCH_MICROBLAZE || \
  26. ADK_TARGET_ARCH_MIPS || \
  27. ADK_TARGET_ARCH_MIPS64 || \
  28. ADK_TARGET_ARCH_NDS32 || \
  29. ADK_TARGET_ARCH_NIOS2 || \
  30. ADK_TARGET_ARCH_OR1K || \
  31. ADK_TARGET_ARCH_PPC || \
  32. ADK_TARGET_ARCH_SH || \
  33. ADK_TARGET_ARCH_SPARC || \
  34. ADK_TARGET_ARCH_X86 || \
  35. ADK_TARGET_ARCH_X86_64 || \
  36. ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_LINUX
  37. help
  38. http://uclibc-ng.org
  39. config ADK_TARGET_LIB_MUSL
  40. bool "musl C library"
  41. select ADK_PACKAGE_LIBGCC
  42. depends on (\
  43. ADK_TARGET_ARCH_AARCH64 || \
  44. ADK_TARGET_ARCH_ARM || \
  45. ADK_TARGET_ARCH_MICROBLAZE || \
  46. ADK_TARGET_ARCH_MIPS || \
  47. ADK_TARGET_ARCH_MIPS64 || \
  48. ADK_TARGET_ARCH_OR1K || \
  49. ADK_TARGET_ARCH_PPC || \
  50. ADK_TARGET_ARCH_PPC64 || \
  51. ADK_TARGET_ARCH_S390 || \
  52. ADK_TARGET_ARCH_SH || \
  53. ADK_TARGET_ARCH_X86 || \
  54. ADK_TARGET_ARCH_X86_64 || \
  55. ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_LINUX
  56. help
  57. http://musl-libc.org
  58. config ADK_TARGET_LIB_GLIBC
  59. bool "GNU C library"
  60. select ADK_PACKAGE_LIBGCC
  61. depends on (\
  62. ADK_TARGET_ARCH_AARCH64 || \
  63. ADK_TARGET_ARCH_ALPHA || \
  64. ADK_TARGET_ARCH_ARM || \
  65. ADK_TARGET_ARCH_HPPA || \
  66. ADK_TARGET_ARCH_IA64 || \
  67. ADK_TARGET_ARCH_MICROBLAZE || \
  68. ADK_TARGET_ARCH_MIPS || \
  69. ADK_TARGET_ARCH_MIPS64 || \
  70. ADK_TARGET_ARCH_NIOS2 || \
  71. ADK_TARGET_ARCH_OR1K || \
  72. ADK_TARGET_ARCH_PPC || \
  73. ADK_TARGET_ARCH_PPC64 || \
  74. ADK_TARGET_ARCH_S390 || \
  75. ADK_TARGET_CPU_SH_SH4 || \
  76. ADK_TARGET_CPU_SH_SH4A || \
  77. ADK_TARGET_ARCH_SPARC || \
  78. ADK_TARGET_ARCH_SPARC64 || \
  79. ADK_TARGET_ARCH_TILE || \
  80. ADK_TARGET_ARCH_X86 || \
  81. ADK_TARGET_ARCH_X86_64) && ADK_TARGET_OS_LINUX
  82. help
  83. http://www.gnu.org/libc
  84. config ADK_TARGET_LIB_NEWLIB
  85. bool "newlib C library"
  86. select ADK_TARGET_WITHOUT_THREADS
  87. depends on (\
  88. ADK_TARGET_ARCH_AARCH64 || \
  89. ADK_TARGET_ARCH_ARC || \
  90. ADK_TARGET_ARCH_ARM || \
  91. ADK_TARGET_ARCH_BFIN || \
  92. ADK_TARGET_ARCH_CR16 || \
  93. ADK_TARGET_ARCH_CRIS || \
  94. ADK_TARGET_ARCH_EPIPHANY || \
  95. ADK_TARGET_ARCH_FRV || \
  96. ADK_TARGET_ARCH_H8300 || \
  97. ADK_TARGET_ARCH_LM32 || \
  98. ADK_TARGET_ARCH_M32R || \
  99. ADK_TARGET_ARCH_M68K || \
  100. ADK_TARGET_ARCH_MICROBLAZE || \
  101. ADK_TARGET_ARCH_MIPS || \
  102. ADK_TARGET_ARCH_MN10300 || \
  103. ADK_TARGET_ARCH_MOXIE || \
  104. ADK_TARGET_ARCH_MSP430 || \
  105. ADK_TARGET_ARCH_NIOS2 || \
  106. ADK_TARGET_ARCH_NDS32 || \
  107. ADK_TARGET_ARCH_OR1K || \
  108. ADK_TARGET_ARCH_PPC || \
  109. ADK_TARGET_ARCH_SPARC || \
  110. ADK_TARGET_ARCH_SPARC64 || \
  111. ADK_TARGET_ARCH_V850 || \
  112. ADK_TARGET_ARCH_X86 || \
  113. ADK_TARGET_ARCH_X86_64 || \
  114. ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_BAREMETAL
  115. help
  116. https://sourceware.org/newlib/
  117. endchoice
  118. choice
  119. prompt "C library version"
  120. config ADK_TARGET_LIB_UCLIBC_NG_1_0_20
  121. bool "1.0.20"
  122. depends on ADK_TARGET_LIB_UCLIBC_NG
  123. config ADK_TARGET_LIB_UCLIBC_NG_1_0_19
  124. bool "1.0.19"
  125. depends on ADK_TARGET_LIB_UCLIBC_NG
  126. config ADK_TARGET_LIB_UCLIBC_NG_1_0_18
  127. bool "1.0.18"
  128. depends on ADK_TARGET_LIB_UCLIBC_NG
  129. config ADK_TARGET_LIB_UCLIBC_NG_GIT
  130. bool "git"
  131. depends on ADK_TARGET_LIB_UCLIBC_NG
  132. config ADK_TARGET_LIB_GLIBC_2_24
  133. bool "2.24"
  134. depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_OR1K
  135. config ADK_TARGET_LIB_GLIBC_2_23
  136. bool "2.23"
  137. depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_OR1K
  138. config ADK_TARGET_LIB_GLIBC_2_22
  139. bool "2.22"
  140. depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_HPPA \
  141. && !ADK_TARGET_ARCH_OR1K
  142. config ADK_TARGET_LIB_GLIBC_OR1K
  143. bool "2.20-or1k"
  144. depends on ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_OR1K
  145. config ADK_TARGET_LIB_GLIBC_GIT
  146. bool "git"
  147. depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_OR1K
  148. config ADK_TARGET_LIB_MUSL_1_1_15
  149. bool "1.1.15"
  150. depends on ADK_TARGET_LIB_MUSL
  151. config ADK_TARGET_LIB_MUSL_1_1_14
  152. bool "1.1.14"
  153. depends on ADK_TARGET_LIB_MUSL
  154. config ADK_TARGET_LIB_MUSL_1_1_13
  155. bool "1.1.13"
  156. depends on ADK_TARGET_LIB_MUSL
  157. config ADK_TARGET_LIB_MUSL_GIT
  158. bool "git"
  159. depends on ADK_TARGET_LIB_MUSL
  160. config ADK_TARGET_LIB_NEWLIB_2_4_0
  161. bool "2.4.0"
  162. depends on ADK_TARGET_LIB_NEWLIB
  163. config ADK_TARGET_LIB_NEWLIB_2_3_0
  164. bool "2.3.0"
  165. depends on ADK_TARGET_LIB_NEWLIB
  166. config ADK_TARGET_LIB_NEWLIB_2_2_0
  167. bool "2.2.0"
  168. depends on ADK_TARGET_LIB_NEWLIB
  169. config ADK_TARGET_LIB_NEWLIB_GIT
  170. bool "git"
  171. depends on ADK_TARGET_LIB_NEWLIB
  172. endchoice
  173. choice
  174. prompt "Threading"
  175. config ADK_TARGET_WITH_NPTL
  176. bool "enable NPTL"
  177. depends on ADK_TARGET_SUPPORTS_NPTL && ADK_TARGET_SUPPORTS_THREADS
  178. config ADK_TARGET_WITH_LT
  179. bool "enable Linuxthreads"
  180. depends on ADK_TARGET_SUPPORTS_LT && ADK_TARGET_SUPPORTS_THREADS && ADK_TARGET_LIB_UCLIBC_NG
  181. config ADK_TARGET_WITHOUT_THREADS
  182. bool "disable threads"
  183. depends on ADK_TARGET_LIB_UCLIBC_NG
  184. endchoice
  185. config ADK_TARGET_SUPPORTS_THREADS
  186. bool
  187. config ADK_TARGET_SUPPORTS_NPTL
  188. bool
  189. config ADK_TARGET_SUPPORTS_LT
  190. bool
  191. config ADK_TARGET_LIBC
  192. string
  193. default "uclibc-ng" if ADK_TARGET_LIB_UCLIBC_NG
  194. default "glibc" if ADK_TARGET_LIB_GLIBC
  195. default "musl" if ADK_TARGET_LIB_MUSL
  196. default "newlib" if ADK_TARGET_LIB_NEWLIB
  197. config ADK_LIBC_VERSION
  198. string
  199. default "1.0.20" if ADK_TARGET_LIB_UCLIBC_NG_1_0_20
  200. default "1.0.19" if ADK_TARGET_LIB_UCLIBC_NG_1_0_19
  201. default "1.0.18" if ADK_TARGET_LIB_UCLIBC_NG_1_0_18
  202. default "1.1.15" if ADK_TARGET_LIB_MUSL_1_1_15
  203. default "1.1.14" if ADK_TARGET_LIB_MUSL_1_1_14
  204. default "1.1.13" if ADK_TARGET_LIB_MUSL_1_1_13
  205. default "2.23" if ADK_TARGET_LIB_GLIBC_2_23
  206. default "2.22" if ADK_TARGET_LIB_GLIBC_2_22
  207. default "2.21" if ADK_TARGET_LIB_GLIBC_2_21
  208. default "2.20-or1k" if ADK_TARGET_LIB_GLIBC_OR1K
  209. default "2.4.0" if ADK_TARGET_LIB_NEWLIB_2_4_0
  210. default "2.3.0" if ADK_TARGET_LIB_NEWLIB_2_3_0
  211. default "2.2.0" if ADK_TARGET_LIB_NEWLIB_2_2_0
  212. default "git" if ADK_TARGET_LIB_UCLIBC_NG_GIT || \
  213. ADK_TARGET_LIB_MUSL_GIT || \
  214. ADK_TARGET_LIB_GLIBC_GIT || \
  215. ADK_TARGET_LIB_NEWLIB_GIT
  216. config ADK_TARGET_SUFFIX
  217. string
  218. default "gnueabihf" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
  219. default "gnueabi" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM
  220. default "gnuabi64" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N64
  221. default "gnuabin32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N32
  222. default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_O64
  223. default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_32 && ADK_LINUX_64
  224. default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_X32 && ADK_LINUX_64
  225. default "gnu" if ADK_TARGET_LIB_GLIBC
  226. default "uclibceabihf" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
  227. default "uclibceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM
  228. default "uclinuxeabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_WITHOUT_MMU
  229. default "uclibcabi64" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N64
  230. default "uclibcabin32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N32
  231. default "uclibcabi32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_O32
  232. default "uclibc32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_32 && ADK_LINUX_64
  233. default "uclibc" if ADK_TARGET_LIB_UCLIBC_NG
  234. default "musleabihf" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
  235. default "musleabi" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM
  236. default "muslabi64" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N64
  237. default "muslabin32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N32
  238. default "muslabi32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_O32
  239. default "musl32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_32 && ADK_LINUX_64
  240. default "muslx32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_X32 && ADK_LINUX_64
  241. default "muslfdpic" if ADK_TARGET_LIB_MUSL && ADK_TARGET_BINFMT_FDPIC
  242. default "musl" if ADK_TARGET_LIB_MUSL
  243. default "eabi" if ADK_TARGET_LIB_NEWLIB && ADK_TARGET_ARCH_ARM
  244. default "elf" if ADK_TARGET_LIB_NEWLIB