Config.in.libc 7.3 KB

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