remove duplicate package
[openadk.git] / target / config / Config.in.libc
blobcc954b875390c46ec6fda267c79f9e974a459f4e
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 "Target C library"
6 depends on !ADK_TARGET_CHOOSE_ARCH
7 default ADK_TARGET_LIB_UCLIBC_NG if ADK_TARGET_OS_LINUX
9 config ADK_TARGET_LIB_UCLIBC_NG
10         bool "uClibc-ng"
11         select ADK_PACKAGE_LIBGCC
12         depends on (\
13                 ADK_TARGET_ARCH_AARCH64 || \
14                 ADK_TARGET_ARCH_ALPHA || \
15                 ADK_TARGET_ARCH_ARC || \
16                 ADK_TARGET_ARCH_ARM || \
17                 ADK_TARGET_ARCH_AVR32 || \
18                 ADK_TARGET_ARCH_BFIN || \
19                 ADK_TARGET_ARCH_C6X || \
20                 ADK_TARGET_ARCH_CRIS || \
21                 ADK_TARGET_ARCH_CSKY || \
22                 ADK_TARGET_ARCH_FRV || \
23                 ADK_TARGET_ARCH_H8300 || \
24                 ADK_TARGET_ARCH_HPPA || \
25                 ADK_TARGET_ARCH_IA64 || \
26                 ADK_TARGET_ARCH_KVX || \
27                 ADK_TARGET_ARCH_LM32 || \
28                 ADK_TARGET_ARCH_M68K || \
29                 ADK_TARGET_ARCH_METAG || \
30                 ADK_TARGET_ARCH_MICROBLAZE || \
31                 ADK_TARGET_ARCH_MIPS || \
32                 ADK_TARGET_ARCH_MIPS64 || \
33                 ADK_TARGET_ARCH_NDS32 || \
34                 ADK_TARGET_ARCH_NIOS2 || \
35                 ADK_TARGET_ARCH_OR1K || \
36                 ADK_TARGET_ARCH_PPC || \
37                 ADK_TARGET_ARCH_RISCV32 || \
38                 ADK_TARGET_ARCH_RISCV64 || \
39                 ADK_TARGET_ARCH_SH || \
40                 ADK_TARGET_ARCH_SPARC || \
41                 ADK_TARGET_ARCH_SPARC64 || \
42                 ADK_TARGET_ARCH_TILE || \
43                 ADK_TARGET_ARCH_X86 || \
44                 ADK_TARGET_ARCH_X86_64 || \
45                 ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_LINUX
46         help
47           https://uclibc-ng.org
49 config ADK_TARGET_LIB_MUSL
50         bool "musl"
51         select ADK_PACKAGE_LIBGCC
52         depends on (\
53                 ADK_TARGET_ARCH_AARCH64 || \
54                 ADK_TARGET_ARCH_ARM || \
55                 ADK_TARGET_ARCH_M68K || \
56                 ADK_TARGET_ARCH_LOONGARCH || \
57                 ADK_TARGET_ARCH_MICROBLAZE || \
58                 ADK_TARGET_ARCH_MIPS || \
59                 ADK_TARGET_ARCH_MIPS64 || \
60                 ADK_TARGET_ARCH_OR1K || \
61                 ADK_TARGET_ARCH_PPC || \
62                 ADK_TARGET_ARCH_PPC64 || \
63                 ADK_TARGET_ARCH_RISCV32 || \
64                 ADK_TARGET_ARCH_RISCV64 || \
65                 ADK_TARGET_ARCH_S390 || \
66                 ADK_TARGET_ARCH_SH || \
67                 ADK_TARGET_ARCH_X86 || \
68                 ADK_TARGET_ARCH_X86_64 ) && ADK_TARGET_OS_LINUX
69         help
70           http://musl-libc.org
72 config ADK_TARGET_LIB_GLIBC
73         bool "glibc"
74         select ADK_PACKAGE_LIBGCC
75         depends on (\
76                 ADK_TARGET_ARCH_AARCH64 || \
77                 ADK_TARGET_ARCH_ALPHA || \
78                 ADK_TARGET_ARCH_ARC || \
79                 ADK_TARGET_ARCH_ARM || \
80                 ADK_TARGET_ARCH_CSKY || \
81                 ADK_TARGET_ARCH_HPPA || \
82                 ADK_TARGET_ARCH_IA64 || \
83                 ADK_TARGET_ARCH_LOONGARCH || \
84                 ADK_TARGET_ARCH_M68K || \
85                 ADK_TARGET_ARCH_MICROBLAZE || \
86                 ADK_TARGET_ARCH_MIPS || \
87                 ADK_TARGET_ARCH_MIPS64 || \
88                 ADK_TARGET_ARCH_NIOS2 || \
89                 ADK_TARGET_ARCH_OR1K || \
90                 ADK_TARGET_ARCH_PPC || \
91                 ADK_TARGET_ARCH_PPC64 || \
92                 ADK_TARGET_ARCH_S390 || \
93                 ADK_TARGET_CPU_SH_SH4 || \
94                 ADK_TARGET_CPU_SH_SH4A || \
95                 ADK_TARGET_ARCH_SPARC64 || \
96                 ADK_TARGET_ARCH_RISCV32 || \
97                 ADK_TARGET_ARCH_RISCV64 || \
98                 ADK_TARGET_ARCH_X86 || \
99                 ADK_TARGET_ARCH_X86_64) && ADK_TARGET_OS_LINUX
100         help
101           http://www.gnu.org/libc
103 config ADK_TARGET_LIB_NEWLIB
104         bool "newlib"
105         select ADK_TARGET_WITHOUT_THREADS
106         depends on (\
107                 ADK_TARGET_ARCH_AARCH64 || \
108                 ADK_TARGET_ARCH_ARC || \
109                 ADK_TARGET_ARCH_ARM || \
110                 ADK_TARGET_ARCH_BFIN || \
111                 ADK_TARGET_ARCH_C6X || \
112                 ADK_TARGET_ARCH_CR16 || \
113                 ADK_TARGET_ARCH_CRIS || \
114                 ADK_TARGET_ARCH_CSKY || \
115                 ADK_TARGET_ARCH_EPIPHANY || \
116                 ADK_TARGET_ARCH_FRV || \
117                 ADK_TARGET_ARCH_FT32 || \
118                 ADK_TARGET_ARCH_H8300 || \
119                 ADK_TARGET_ARCH_IA64 || \
120                 ADK_TARGET_ARCH_LM32 || \
121                 ADK_TARGET_ARCH_M32C || \
122                 ADK_TARGET_ARCH_M32R || \
123                 ADK_TARGET_ARCH_M68K || \
124                 ADK_TARGET_ARCH_MICROBLAZE || \
125                 ADK_TARGET_ARCH_MIPS || \
126                 ADK_TARGET_ARCH_MN10300 || \
127                 ADK_TARGET_ARCH_MOXIE || \
128                 ADK_TARGET_ARCH_MSP430 || \
129                 ADK_TARGET_ARCH_NIOS2 || \
130                 ADK_TARGET_ARCH_NDS32 || \
131                 ADK_TARGET_ARCH_OR1K || \
132                 ADK_TARGET_ARCH_PPC || \
133                 ADK_TARGET_ARCH_RISCV32 || \
134                 ADK_TARGET_ARCH_RISCV64 || \
135                 ADK_TARGET_ARCH_RX || \
136                 ADK_TARGET_ARCH_SH || \
137                 ADK_TARGET_ARCH_SPARC || \
138                 ADK_TARGET_ARCH_SPARC64 || \
139                 ADK_TARGET_ARCH_V850 || \
140                 ADK_TARGET_ARCH_X86 || \
141                 ADK_TARGET_ARCH_X86_64 || \
142                 ADK_TARGET_ARCH_XTENSA) && \
143                 ADK_TARGET_OS_BAREMETAL
144         help
145           https://sourceware.org/newlib/
147 endchoice
149 choice
150 prompt "Target C library version"
151 depends on !ADK_TARGET_CHOOSE_ARCH
153 config ADK_TARGET_LIB_UCLIBC_NG_1_0_49
154         bool "1.0.49"
155         depends on ADK_TARGET_LIB_UCLIBC_NG
157 config ADK_TARGET_LIB_UCLIBC_NG_GIT
158         bool "git"
159         depends on ADK_TARGET_LIB_UCLIBC_NG && ADK_EXPERIMENTAL
161 config ADK_TARGET_LIB_GLIBC_2_39
162         bool "2.39"
163         depends on ADK_TARGET_LIB_GLIBC
165 config ADK_TARGET_LIB_GLIBC_GIT
166         bool "git"
167         depends on ADK_TARGET_LIB_GLIBC && ADK_EXPERIMENTAL
169 config ADK_TARGET_LIB_MUSL_1_2_5
170         bool "1.2.5"
171         depends on ADK_TARGET_LIB_MUSL
173 config ADK_TARGET_LIB_MUSL_GIT
174         bool "git"
175         depends on ADK_TARGET_LIB_MUSL && ADK_EXPERIMENTAL
177 config ADK_TARGET_LIB_NEWLIB_4_4_0
178         bool "4.4.0"
179         depends on ADK_TARGET_LIB_NEWLIB
181 config ADK_TARGET_LIB_NEWLIB_GIT
182         bool "git"
183         depends on ADK_TARGET_LIB_NEWLIB && ADK_EXPERIMENTAL
185 endchoice
187 config ADK_TARGET_LIBC_UTILS
188         bool
189         default n if ADK_TARGET_ARCH_C6X
190         default n if ADK_TARGET_ARCH_LM32
191         default n if ADK_TARGET_ARCH_H8300
192         default y
194 config ADK_TARGET_LIBC
195         string
196         default "uclibc-ng" if ADK_TARGET_LIB_UCLIBC_NG
197         default "glibc" if ADK_TARGET_LIB_GLIBC
198         default "musl" if ADK_TARGET_LIB_MUSL
199         default "newlib" if ADK_TARGET_LIB_NEWLIB
201 config ADK_LIBC_VERSION
202         string
203         default "1.0.49" if ADK_TARGET_LIB_UCLIBC_NG_1_0_49
204         default "1.2.5" if ADK_TARGET_LIB_MUSL_1_2_5
205         default "2.39" if ADK_TARGET_LIB_GLIBC_2_39
206         default "4.4.0" if ADK_TARGET_LIB_NEWLIB_4_4_0
207         default "git" if ADK_TARGET_LIB_UCLIBC_NG_GIT || \
208                          ADK_TARGET_LIB_MUSL_GIT || \
209                          ADK_TARGET_LIB_GLIBC_GIT || \
210                          ADK_TARGET_LIB_NEWLIB_GIT
212 config ADK_TARGET_SUFFIX
213         string
214         default "gnueabihf" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
215         default "gnueabi" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_ARM
216         default "gnuabi64" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N64
217         default "gnuabin32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_N32
218         default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_O64
219         default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_32 && ADK_LINUX_64
220         default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_X32 && ADK_LINUX_64
221         default "gnuspe" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_PPC && ADK_TARGET_ARCH_PPC_WITH_SPE
222         default "gnu" if ADK_TARGET_LIB_GLIBC
223         default "uclibcfdpic" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_XTENSA && ADK_TARGET_BINFMT_FDPIC
224         default "uclinuxfdpiceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_BINFMT_FDPIC
225         default "uclibceabihf" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
226         default "uclibceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM
227         default "uclinuxeabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_UCLINUX
228         default "uclibcabi64" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N64
229         default "uclibcabin32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N32
230         default "uclibcabi32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_O32
231         default "uclibc32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_32 && ADK_LINUX_64
232         default "uclibcspe" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_PPC && ADK_TARGET_ARCH_PPC_WITH_SPE
233         default "uclibcabiv2" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_CSKY
234         default "uclibc" if ADK_TARGET_LIB_UCLIBC_NG
235         default "musleabihf" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT
236         default "musleabi" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM
237         default "muslabi64" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N64
238         default "muslabin32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_N32
239         default "muslabi32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_O32
240         default "musl32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_32 && ADK_LINUX_64
241         default "muslx32" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ABI_X32 && ADK_LINUX_64
242         default "muslfdpic" if ADK_TARGET_LIB_MUSL && ADK_TARGET_BINFMT_FDPIC
243         default "musl" if ADK_TARGET_LIB_MUSL
244         default "eabi" if ADK_TARGET_LIB_NEWLIB && ADK_TARGET_ARCH_ARM
245         default "elf" if ADK_TARGET_LIB_NEWLIB && ADK_TARGET_OS_BAREMETAL