1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
6 default ADK_TARGET_LIB_UCLIBC_NG if ADK_TARGET_OS_LINUX
8 config ADK_TARGET_LIB_UCLIBC_NG
9 bool "uClibc-ng embedded C library"
10 select ADK_PACKAGE_LIBGCC
12 ADK_TARGET_ARCH_AARCH64 || \
13 ADK_TARGET_ARCH_ALPHA || \
14 ADK_TARGET_ARCH_ARC || \
15 ADK_TARGET_ARCH_ARM || \
16 ADK_TARGET_ARCH_AVR32 || \
17 ADK_TARGET_ARCH_BFIN || \
18 ADK_TARGET_ARCH_C6X || \
19 ADK_TARGET_ARCH_CRIS || \
20 ADK_TARGET_ARCH_FRV || \
21 ADK_TARGET_ARCH_H8300 || \
22 ADK_TARGET_ARCH_HPPA || \
23 ADK_TARGET_ARCH_IA64 || \
24 ADK_TARGET_ARCH_LM32 || \
25 ADK_TARGET_ARCH_M68K || \
26 ADK_TARGET_ARCH_METAG || \
27 ADK_TARGET_ARCH_MICROBLAZE || \
28 ADK_TARGET_ARCH_MIPS || \
29 ADK_TARGET_ARCH_MIPS64 || \
30 ADK_TARGET_ARCH_NDS32 || \
31 ADK_TARGET_ARCH_NIOS2 || \
32 ADK_TARGET_ARCH_OR1K || \
33 ADK_TARGET_ARCH_PPC || \
34 ADK_TARGET_ARCH_SH || \
35 ADK_TARGET_ARCH_SPARC || \
36 ADK_TARGET_ARCH_X86 || \
37 ADK_TARGET_ARCH_X86_64 || \
38 ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_LINUX
42 config ADK_TARGET_LIB_MUSL
44 select ADK_PACKAGE_LIBGCC
46 ADK_TARGET_ARCH_AARCH64 || \
47 ADK_TARGET_ARCH_ARM || \
48 ADK_TARGET_ARCH_MICROBLAZE || \
49 ADK_TARGET_ARCH_MIPS || \
50 ADK_TARGET_ARCH_MIPS64 || \
51 ADK_TARGET_ARCH_OR1K || \
52 ADK_TARGET_ARCH_PPC || \
53 ADK_TARGET_ARCH_PPC64 || \
54 ADK_TARGET_ARCH_S390 || \
55 ADK_TARGET_ARCH_SH || \
56 ADK_TARGET_ARCH_X86 || \
57 ADK_TARGET_ARCH_X86_64 || \
58 ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_LINUX
62 config ADK_TARGET_LIB_GLIBC
64 select ADK_PACKAGE_LIBGCC
66 ADK_TARGET_ARCH_AARCH64 || \
67 ADK_TARGET_ARCH_ALPHA || \
68 ADK_TARGET_ARCH_ARM || \
69 ADK_TARGET_ARCH_HPPA || \
70 ADK_TARGET_ARCH_IA64 || \
71 ADK_TARGET_ARCH_MICROBLAZE || \
72 ADK_TARGET_ARCH_MIPS || \
73 ADK_TARGET_ARCH_MIPS64 || \
74 ADK_TARGET_ARCH_NIOS2 || \
75 ADK_TARGET_ARCH_OR1K || \
76 ADK_TARGET_ARCH_PPC || \
77 ADK_TARGET_ARCH_PPC64 || \
78 ADK_TARGET_ARCH_S390 || \
79 ADK_TARGET_CPU_SH_SH4 || \
80 ADK_TARGET_CPU_SH_SH4A || \
81 ADK_TARGET_ARCH_SPARC || \
82 ADK_TARGET_ARCH_SPARC64 || \
83 ADK_TARGET_ARCH_TILE || \
84 ADK_TARGET_ARCH_X86 || \
85 ADK_TARGET_ARCH_X86_64) && ADK_TARGET_OS_LINUX
87 http://www.gnu.org/libc
89 config ADK_TARGET_LIB_NEWLIB
90 bool "newlib C library"
91 select ADK_TARGET_WITHOUT_THREADS
93 ADK_TARGET_ARCH_AARCH64 || \
94 ADK_TARGET_ARCH_ARC || \
95 ADK_TARGET_ARCH_ARM || \
96 ADK_TARGET_ARCH_BFIN || \
97 ADK_TARGET_ARCH_CR16 || \
98 ADK_TARGET_ARCH_CRIS || \
99 ADK_TARGET_ARCH_EPIPHANY || \
100 ADK_TARGET_ARCH_FRV || \
101 ADK_TARGET_ARCH_H8300 || \
102 ADK_TARGET_ARCH_LM32 || \
103 ADK_TARGET_ARCH_M32R || \
104 ADK_TARGET_ARCH_M68K || \
105 ADK_TARGET_ARCH_MICROBLAZE || \
106 ADK_TARGET_ARCH_MIPS || \
107 ADK_TARGET_ARCH_MN10300 || \
108 ADK_TARGET_ARCH_MOXIE || \
109 ADK_TARGET_ARCH_MSP430 || \
110 ADK_TARGET_ARCH_NIOS2 || \
111 ADK_TARGET_ARCH_NDS32 || \
112 ADK_TARGET_ARCH_OR1K || \
113 ADK_TARGET_ARCH_PPC || \
114 ADK_TARGET_ARCH_SPARC || \
115 ADK_TARGET_ARCH_SPARC64 || \
116 ADK_TARGET_ARCH_V850 || \
117 ADK_TARGET_ARCH_X86 || \
118 ADK_TARGET_ARCH_X86_64 || \
119 ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_BAREMETAL
121 https://sourceware.org/newlib/
126 prompt "C library version"
128 config ADK_TARGET_LIB_UCLIBC_NG_1_0_20
130 depends on ADK_TARGET_LIB_UCLIBC_NG
132 config ADK_TARGET_LIB_UCLIBC_NG_1_0_19
134 depends on ADK_TARGET_LIB_UCLIBC_NG
136 config ADK_TARGET_LIB_UCLIBC_NG_1_0_18
138 depends on ADK_TARGET_LIB_UCLIBC_NG
140 config ADK_TARGET_LIB_UCLIBC_NG_GIT
142 depends on ADK_TARGET_LIB_UCLIBC_NG
144 config ADK_TARGET_LIB_GLIBC_2_24
146 depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_OR1K
148 config ADK_TARGET_LIB_GLIBC_2_23
150 depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_OR1K
152 config ADK_TARGET_LIB_GLIBC_2_22
154 depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_HPPA \
155 && !ADK_TARGET_ARCH_OR1K
157 config ADK_TARGET_LIB_GLIBC_OR1K
159 depends on ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_OR1K
161 config ADK_TARGET_LIB_GLIBC_GIT
163 depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_OR1K
165 config ADK_TARGET_LIB_MUSL_1_1_15
167 depends on ADK_TARGET_LIB_MUSL
169 config ADK_TARGET_LIB_MUSL_1_1_14
171 depends on ADK_TARGET_LIB_MUSL
173 config ADK_TARGET_LIB_MUSL_1_1_13
175 depends on ADK_TARGET_LIB_MUSL
177 config ADK_TARGET_LIB_MUSL_GIT
179 depends on ADK_TARGET_LIB_MUSL
181 config ADK_TARGET_LIB_NEWLIB_2_4_0
183 depends on ADK_TARGET_LIB_NEWLIB
185 config ADK_TARGET_LIB_NEWLIB_2_3_0
187 depends on ADK_TARGET_LIB_NEWLIB
189 config ADK_TARGET_LIB_NEWLIB_2_2_0
191 depends on ADK_TARGET_LIB_NEWLIB
193 config ADK_TARGET_LIB_NEWLIB_GIT
195 depends on ADK_TARGET_LIB_NEWLIB
202 config ADK_TARGET_WITH_NPTL
204 depends on ADK_TARGET_SUPPORTS_NPTL && ADK_TARGET_SUPPORTS_THREADS
206 config ADK_TARGET_WITH_LT
207 bool "enable Linuxthreads"
208 depends on ADK_TARGET_SUPPORTS_LT && ADK_TARGET_SUPPORTS_THREADS && ADK_TARGET_LIB_UCLIBC_NG
210 config ADK_TARGET_WITHOUT_THREADS
211 bool "disable threads"
212 depends on ADK_TARGET_LIB_UCLIBC_NG
216 config ADK_TARGET_SUPPORTS_THREADS
219 config ADK_TARGET_SUPPORTS_NPTL
222 config ADK_TARGET_SUPPORTS_LT
225 config ADK_TARGET_LIBC
227 default "uclibc-ng" if ADK_TARGET_LIB_UCLIBC_NG
228 default "glibc" if ADK_TARGET_LIB_GLIBC
229 default "musl" if ADK_TARGET_LIB_MUSL
230 default "newlib" if ADK_TARGET_LIB_NEWLIB
232 config ADK_LIBC_VERSION
234 default "1.0.20" if ADK_TARGET_LIB_UCLIBC_NG_1_0_20
235 default "1.0.19" if ADK_TARGET_LIB_UCLIBC_NG_1_0_19
236 default "1.0.18" if ADK_TARGET_LIB_UCLIBC_NG_1_0_18
237 default "1.1.15" if ADK_TARGET_LIB_MUSL_1_1_15
238 default "1.1.14" if ADK_TARGET_LIB_MUSL_1_1_14
239 default "1.1.13" if ADK_TARGET_LIB_MUSL_1_1_13
240 default "2.23" if ADK_TARGET_LIB_GLIBC_2_23
241 default "2.22" if ADK_TARGET_LIB_GLIBC_2_22
242 default "2.21" if ADK_TARGET_LIB_GLIBC_2_21
243 default "2.20-or1k" if ADK_TARGET_LIB_GLIBC_OR1K
244 default "2.4.0" if ADK_TARGET_LIB_NEWLIB_2_4_0
245 default "2.3.0" if ADK_TARGET_LIB_NEWLIB_2_3_0
246 default "2.2.0" if ADK_TARGET_LIB_NEWLIB_2_2_0
247 default "git" if ADK_TARGET_LIB_UCLIBC_NG_GIT || \
248 ADK_TARGET_LIB_MUSL_GIT || \
249 ADK_TARGET_LIB_GLIBC_GIT || \
250 ADK_TARGET_LIB_NEWLIB_GIT
252 config ADK_TARGET_SUFFIX
254 default "gnueabihf" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
255 default "gnueabi" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM
256 default "gnuabi64" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N64
257 default "gnuabin32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N32
258 default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_O64
259 default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_32 && ADK_LINUX_64
260 default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_X32 && ADK_LINUX_64
261 default "gnu" if ADK_TARGET_LIB_GLIBC
262 default "uclibceabihf" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
263 default "uclibceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM
264 default "uclinuxeabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_WITHOUT_MMU
265 default "uclibcabi64" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N64
266 default "uclibcabin32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N32
267 default "uclibcabi32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_O32
268 default "uclibc32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_32 && ADK_LINUX_64
269 default "uclibc" if ADK_TARGET_LIB_UCLIBC_NG
270 default "musleabihf" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
271 default "musleabi" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM
272 default "muslabi64" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N64
273 default "muslabin32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N32
274 default "muslabi32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_O32
275 default "musl32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_32 && ADK_LINUX_64
276 default "muslx32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_X32 && ADK_LINUX_64
277 default "muslfdpic" if ADK_TARGET_LIB_MUSL && ADK_TARGET_BINFMT_FDPIC
278 default "musl" if ADK_TARGET_LIB_MUSL
279 default "eabi" if ADK_TARGET_LIB_NEWLIB && ADK_TARGET_ARCH_ARM
280 default "elf" if ADK_TARGET_LIB_NEWLIB