waldux: update to latest
[openadk.git] / target / config / Config.in.libc
blob46a3559b258e28f74951118466e535324d23f9cc
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 choice
5 prompt "C library"
6 default ADK_TARGET_LIB_UCLIBC_NG if ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX
8 config ADK_TARGET_LIB_UCLIBC_NG
9         bool "uClibc-ng embedded C library"
10         select ADK_PACKAGE_LIBGCC
11         depends on (\
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_CSKY || \
21                 ADK_TARGET_ARCH_FRV || \
22                 ADK_TARGET_ARCH_H8300 || \
23                 ADK_TARGET_ARCH_HPPA || \
24                 ADK_TARGET_ARCH_IA64 || \
25                 ADK_TARGET_ARCH_LM32 || \
26                 ADK_TARGET_ARCH_M68K || \
27                 ADK_TARGET_ARCH_METAG || \
28                 ADK_TARGET_ARCH_MICROBLAZE || \
29                 ADK_TARGET_ARCH_MIPS || \
30                 ADK_TARGET_ARCH_MIPS64 || \
31                 ADK_TARGET_ARCH_NDS32 || \
32                 ADK_TARGET_ARCH_NIOS2 || \
33                 ADK_TARGET_ARCH_OR1K || \
34                 ADK_TARGET_ARCH_PPC || \
35                 ADK_TARGET_ARCH_SH || \
36                 ADK_TARGET_ARCH_SPARC || \
37                 ADK_TARGET_ARCH_SPARC64 || \
38                 ADK_TARGET_ARCH_TILE || \
39                 ADK_TARGET_ARCH_X86 || \
40                 ADK_TARGET_ARCH_X86_64 || \
41                 ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX
42         help
43           https://uclibc-ng.org
45 config ADK_TARGET_LIB_MUSL
46         bool "musl C library"
47         select ADK_PACKAGE_LIBGCC
48         depends on (\
49                 ADK_TARGET_ARCH_AARCH64 || \
50                 ADK_TARGET_ARCH_ARM || \
51                 ADK_TARGET_ARCH_MICROBLAZE || \
52                 ADK_TARGET_ARCH_MIPS || \
53                 ADK_TARGET_ARCH_MIPS64 || \
54                 ADK_TARGET_ARCH_OR1K || \
55                 ADK_TARGET_ARCH_PPC || \
56                 ADK_TARGET_ARCH_PPC64 || \
57                 ADK_TARGET_ARCH_S390 || \
58                 ADK_TARGET_ARCH_SH || \
59                 ADK_TARGET_ARCH_X86 || \
60                 ADK_TARGET_ARCH_X86_64 ) && ADK_TARGET_OS_LINUX
61         help
62           http://musl-libc.org
64 config ADK_TARGET_LIB_GLIBC
65         bool "GNU C library"
66         select ADK_PACKAGE_LIBGCC
67         depends on (\
68                 ADK_TARGET_ARCH_AARCH64 || \
69                 ADK_TARGET_ARCH_ALPHA || \
70                 ADK_TARGET_ARCH_ARM || \
71                 ADK_TARGET_ARCH_CSKY || \
72                 ADK_TARGET_ARCH_HPPA || \
73                 ADK_TARGET_ARCH_IA64 || \
74                 ADK_TARGET_ARCH_M68K || \
75                 ADK_TARGET_ARCH_MICROBLAZE || \
76                 ADK_TARGET_ARCH_MIPS || \
77                 ADK_TARGET_ARCH_MIPS64 || \
78                 ADK_TARGET_ARCH_NIOS2 || \
79                 ADK_TARGET_ARCH_PPC || \
80                 ADK_TARGET_ARCH_PPC64 || \
81                 ADK_TARGET_ARCH_S390 || \
82                 ADK_TARGET_CPU_SH_SH4 || \
83                 ADK_TARGET_CPU_SH_SH4A || \
84                 ADK_TARGET_ARCH_SPARC64 || \
85                 ADK_TARGET_ARCH_TILE || \
86                 ADK_TARGET_ARCH_RISCV32 || \
87                 ADK_TARGET_ARCH_RISCV64 || \
88                 ADK_TARGET_ARCH_X86 || \
89                 ADK_TARGET_ARCH_X86_64) && ADK_TARGET_OS_LINUX
90         help
91           http://www.gnu.org/libc
93 config ADK_TARGET_LIB_NEWLIB
94         bool "newlib C library"
95         select ADK_TARGET_WITHOUT_THREADS
96         depends on (\
97                 ADK_TARGET_ARCH_AARCH64 || \
98                 ADK_TARGET_ARCH_ARC || \
99                 ADK_TARGET_ARCH_ARM || \
100                 ADK_TARGET_ARCH_BFIN || \
101                 ADK_TARGET_ARCH_CR16 || \
102                 ADK_TARGET_ARCH_CRIS || \
103                 ADK_TARGET_ARCH_CSKY || \
104                 ADK_TARGET_ARCH_EPIPHANY || \
105                 ADK_TARGET_ARCH_FRV || \
106                 ADK_TARGET_ARCH_FT32 || \
107                 ADK_TARGET_ARCH_H8300 || \
108                 ADK_TARGET_ARCH_IA64 || \
109                 ADK_TARGET_ARCH_LM32 || \
110                 ADK_TARGET_ARCH_M32C || \
111                 ADK_TARGET_ARCH_M32R || \
112                 ADK_TARGET_ARCH_M68K || \
113                 ADK_TARGET_ARCH_MICROBLAZE || \
114                 ADK_TARGET_ARCH_MIPS || \
115                 ADK_TARGET_ARCH_MN10300 || \
116                 ADK_TARGET_ARCH_MOXIE || \
117                 ADK_TARGET_ARCH_MSP430 || \
118                 ADK_TARGET_ARCH_NIOS2 || \
119                 ADK_TARGET_ARCH_NDS32 || \
120                 ADK_TARGET_ARCH_OR1K || \
121                 ADK_TARGET_ARCH_PPC || \
122                 ADK_TARGET_ARCH_RISCV32 || \
123                 ADK_TARGET_ARCH_RISCV64 || \
124                 ADK_TARGET_ARCH_RX || \
125                 ADK_TARGET_ARCH_SH || \
126                 ADK_TARGET_ARCH_SPARC || \
127                 ADK_TARGET_ARCH_SPARC64 || \
128                 ADK_TARGET_ARCH_V850 || \
129                 ADK_TARGET_ARCH_X86 || \
130                 ADK_TARGET_ARCH_X86_64 || \
131                 ADK_TARGET_ARCH_XTENSA) && \
132                 (ADK_TARGET_OS_BAREMETAL || \
133                  ADK_TARGET_OS_FROSTED || \
134                  ADK_TARGET_OS_RTEMS || \
135                  ADK_TARGET_OS_ZEPHYR )
136         help
137           https://sourceware.org/newlib/
139 endchoice
141 choice
142 prompt "C library version"
144 config ADK_TARGET_LIB_UCLIBC_NG_1_0_30
145         bool "1.0.30"
146         depends on ADK_TARGET_LIB_UCLIBC_NG
148 config ADK_TARGET_LIB_UCLIBC_NG_GIT
149         bool "git"
150         depends on ADK_TARGET_LIB_UCLIBC_NG
152 config ADK_TARGET_LIB_GLIBC_2_27
153         bool "2.27"
154         depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_CSKY
156 config ADK_TARGET_LIB_GLIBC_CSKY
157         bool "csky"
158         depends on ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_CSKY
160 config ADK_TARGET_LIB_GLIBC_GIT
161         bool "git"
162         depends on ADK_TARGET_LIB_GLIBC && !ADK_TARGET_ARCH_CSKY
164 config ADK_TARGET_LIB_MUSL_1_1_19
165         bool "1.1.19"
166         depends on ADK_TARGET_LIB_MUSL
168 config ADK_TARGET_LIB_MUSL_GIT
169         bool "git"
170         depends on ADK_TARGET_LIB_MUSL
172 config ADK_TARGET_LIB_NEWLIB_3_0_0
173         bool "3.0.0"
174         depends on ADK_TARGET_LIB_NEWLIB \
175                 && !ADK_TARGET_ARCH_XTENSA \
176                 && !ADK_TARGET_OS_FROSTED \
177                 && !ADK_TARGET_OS_RTEMS
179 config ADK_TARGET_LIB_NEWLIB_XTENSA
180         bool "xtensa"
181         depends on ADK_TARGET_LIB_NEWLIB && ADK_TARGET_ARCH_XTENSA
183 config ADK_TARGET_LIB_NEWLIB_FROSTED
184         bool "frosted-git"
185         depends on ADK_TARGET_LIB_NEWLIB && ADK_TARGET_OS_FROSTED
187 config ADK_TARGET_LIB_NEWLIB_GIT
188         bool "git"
189         depends on ADK_TARGET_LIB_NEWLIB && !ADK_TARGET_OS_FROSTED
191 endchoice
193 choice
194 prompt "Threading"
195 depends on ADK_TARGET_LIB_UCLIBC_NG
197 config ADK_TARGET_WITH_NPTL
198         bool "enable NPTL"
199         depends on ADK_TARGET_SUPPORTS_NPTL && ADK_TARGET_SUPPORTS_THREADS
201 config ADK_TARGET_WITH_LT
202         bool "enable Linuxthreads"
203         depends on ADK_TARGET_SUPPORTS_LT && ADK_TARGET_SUPPORTS_THREADS
205 config ADK_TARGET_WITHOUT_THREADS
206         bool "disable threads"
208 endchoice
210 config ADK_TARGET_SUPPORTS_THREADS
211         bool
213 config ADK_TARGET_SUPPORTS_NPTL
214         bool
216 config ADK_TARGET_SUPPORTS_LT
217         bool
219 config ADK_TARGET_LIBC_UTILS
220         bool
221         default n if ADK_TARGET_ARCH_C6X
222         default n if ADK_TARGET_ARCH_LM32
223         default n if ADK_TARGET_ARCH_H8300
224         default y
226 config ADK_TARGET_LIBC
227         string
228         default "uclibc-ng" if ADK_TARGET_LIB_UCLIBC_NG
229         default "glibc" if ADK_TARGET_LIB_GLIBC
230         default "musl" if ADK_TARGET_LIB_MUSL
231         default "newlib" if ADK_TARGET_LIB_NEWLIB
233 config ADK_LIBC_VERSION
234         string
235         default "1.0.30" if ADK_TARGET_LIB_UCLIBC_NG_1_0_30
236         default "1.1.19" if ADK_TARGET_LIB_MUSL_1_1_19
237         default "2.27" if ADK_TARGET_LIB_GLIBC_2_27
238         default "3.0.0" if ADK_TARGET_LIB_NEWLIB_3_0_0
239         default "git" if ADK_TARGET_LIB_UCLIBC_NG_GIT || \
240                          ADK_TARGET_LIB_MUSL_GIT || \
241                          ADK_TARGET_LIB_GLIBC_GIT || \
242                          ADK_TARGET_LIB_NEWLIB_GIT
244 config ADK_TARGET_SUFFIX
245         string
246         default "gnueabihf" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
247         default "gnueabi" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM
248         default "gnuabi64" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N64
249         default "gnuabin32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N32
250         default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_O64
251         default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_32 && ADK_LINUX_64
252         default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_X32 && ADK_LINUX_64
253         default "gnuspe" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_PPC && ADK_TARGET_ARCH_PPC_WITH_SPE
254         default "gnu" if ADK_TARGET_LIB_GLIBC
255         default "uclibceabihf" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
256         default "uclibceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM
257         default "uclinuxeabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_WITHOUT_MMU
258         default "uclibcabi64" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N64
259         default "uclibcabin32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N32
260         default "uclibcabi32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_O32
261         default "uclibc32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_32 && ADK_LINUX_64
262         default "uclibcspe" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_PPC && ADK_TARGET_ARCH_PPC_WITH_SPE
263         default "uclibcabiv2" if ADK_TARGET_LIB_UCLIBC_NG && (ADK_TARGET_CPU_CSKY_CK807 || ADK_TARGET_CPU_CSKY_CK810)
264         default "uclibc" if ADK_TARGET_LIB_UCLIBC_NG
265         default "musleabihf" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
266         default "musleabi" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM
267         default "muslabi64" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N64
268         default "muslabin32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N32
269         default "muslabi32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_O32
270         default "musl32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_32 && ADK_LINUX_64
271         default "muslx32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_X32 && ADK_LINUX_64
272         default "muslfdpic" if ADK_TARGET_LIB_MUSL && ADK_TARGET_BINFMT_FDPIC
273         default "musl" if ADK_TARGET_LIB_MUSL
274         default "eabi" if ADK_TARGET_LIB_NEWLIB && ADK_TARGET_ARCH_ARM
275         default "elf" if ADK_TARGET_LIB_NEWLIB && ADK_TARGET_OS_BAREMETAL