summaryrefslogtreecommitdiff
path: root/package/uclibc/Config.in
blob: c65277bc496f635ebbb33e3f86f98a703fdbddaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
if BR2_TOOLCHAIN_BUILDROOT_UCLIBC

# For legal-info
config BR2_PACKAGE_UCLIBC
	bool
	default y

comment "uClibc Options"

config BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
       bool

config BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
       bool

config BR2_UCLIBC_VERSION_SUPPORTS_NPTL
       bool

choice
	prompt "uClibc C library Version"
	default BR2_UCLIBC_VERSION_0_9_33
	help
	  Select the version of uClibc you wish to use.

	config BR2_UCLIBC_VERSION_0_9_33
		bool "uClibc 0.9.33.x"
		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS \
		       if !BR2_bfin
		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
		select BR2_UCLIBC_VERSION_SUPPORTS_NPTL \
		       if !BR2_bfin && !BR2_x86_i386
		depends on !(BR2_arc || BR2_xtensa)

	config BR2_UCLIBC_VERSION_ARC_GIT
		bool "uClibc Git ARC"
		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
		depends on BR2_arc

	config BR2_UCLIBC_VERSION_NG
		bool "uClibc-ng"
		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS \
		       if BR2_bfin || BR2_m68k
		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD \
		       if BR2_bfin || BR2_m68k || BR2_arm || BR2_armeb
		select BR2_UCLIBC_VERSION_SUPPORTS_NPTL \
		       if !BR2_arc && !BR2_bfin && !BR2_m68k && !BR2_x86_i386

	config BR2_UCLIBC_VERSION_XTENSA_GIT
		bool "uClibc Git Xtensa"
		depends on BR2_xtensa
		select BR2_UCLIBC_SUPPORTS_LINUXTHREADS_OLD

	config BR2_UCLIBC_VERSION_SNAPSHOT
		bool "daily snapshot"
		select BR2_UCLIBC_SUPPORTS_LINUXTHREADS if !BR2_bfin && !BR2_xtensa
		select BR2_UCLIBC_SUPPORTS_LINUXTHREADS_OLD
		select BR2_UCLIBC_VERSION_SUPPORTS_NPTL \
		       if !BR2_bfin && !BR2_x86_i386 && !BR2_xtensa
		depends on !(BR2_arc)

endchoice

config BR2_USE_UCLIBC_SNAPSHOT
	string "Date (yyyymmdd) of snapshot or 'snapshot' for latest"
	default "snapshot"
	depends on BR2_UCLIBC_VERSION_SNAPSHOT
	help
	  Use latest snapshot or one from a specific date?

config BR2_UCLIBC_VERSION_STRING
	string
	default 0.9.33.2	if BR2_UCLIBC_VERSION_0_9_33
	default "arc-2014.12" if BR2_UCLIBC_VERSION_ARC_GIT
	default 1.0.0		if BR2_UCLIBC_VERSION_NG
	default "7bf35c8b7d4a1f97174eb49f47f33946b282114c" if BR2_UCLIBC_VERSION_XTENSA_GIT
	default BR2_USE_UCLIBC_SNAPSHOT	if BR2_UCLIBC_VERSION_SNAPSHOT

config BR2_UCLIBC_CONFIG
	string "uClibc configuration file to use?"
	default "package/uclibc/uClibc-0.9.33.config" if BR2_UCLIBC_VERSION_0_9_33
	default "package/uclibc/uClibc-ng.config" if BR2_UCLIBC_VERSION_NG
	default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_ARC_GIT
	default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT
	default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_XTENSA_GIT
	help
	  Some people may wish to use their own modified uClibc configuration
	  file and will specify their config file location with this option.
	  See also docs/README in this package.
	  If unsure, use the default.

config BR2_TOOLCHAIN_BUILDROOT_LARGEFILE
	bool "Enable large file (files > 2 GB) support"
	select BR2_LARGEFILE
	help
	  Enable this option if you want your toolchain to support
	  files bigger than 2 GB.

config BR2_TOOLCHAIN_BUILDROOT_INET_IPV6
	bool "Enable IPv6 support"
	select BR2_INET_IPV6
	help
	  Enable this option if you want your toolchain to support
	  IPv6.

config BR2_TOOLCHAIN_BUILDROOT_INET_RPC
	bool "Enable RPC support"
	select BR2_TOOLCHAIN_HAS_NATIVE_RPC
	help
	  Enable this option if you want your toolchain to support
	  RPC (needed for NFS, for example).

config BR2_TOOLCHAIN_BUILDROOT_WCHAR
	bool "Enable WCHAR support"
	select BR2_USE_WCHAR
	help
	  Enable this option if you want your toolchain to support
	  wide characters (i.e characters longer than 8 bits, needed
	  for locale support).

config BR2_TOOLCHAIN_BUILDROOT_LOCALE
	bool "Enable toolchain locale/i18n support"
	select BR2_TOOLCHAIN_BUILDROOT_WCHAR
	select BR2_ENABLE_LOCALE
	help
	  Enable this option if you want your toolchain to support
	  localization and internationalization.

choice
	prompt "Thread library implementation"
	default BR2_PTHREADS_NATIVE if BR2_UCLIBC_VERSION_SUPPORTS_NPTL
	default BR2_PTHREADS_OLD if BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
	default BR2_PTHREADS if BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
	help
	  Use this option to select the thread library implementation
	  that should be used in your toolchain.

	config BR2_PTHREADS_NONE
		bool "none"

	config BR2_PTHREADS
		bool "linuxthreads"
		select BR2_TOOLCHAIN_HAS_THREADS
		depends on BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS

	config BR2_PTHREADS_OLD
		bool "linuxthreads (stable/old)"
		select BR2_TOOLCHAIN_HAS_THREADS
		depends on BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD

	config BR2_PTHREADS_NATIVE
		bool "Native POSIX Threading (NPTL)"
		select BR2_TOOLCHAIN_HAS_THREADS
		select BR2_TOOLCHAIN_HAS_THREADS_NPTL
		depends on BR2_UCLIBC_VERSION_SUPPORTS_NPTL
endchoice

config BR2_PTHREAD_DEBUG
	bool "Thread library debugging"
	depends on BR2_PTHREADS || BR2_PTHREADS_OLD || BR2_PTHREADS_NATIVE
	select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
	help
	  Build the thread library with debugging enabled.

config BR2_TOOLCHAIN_BUILDROOT_USE_SSP
	bool "Enable stack protection support"
	select BR2_TOOLCHAIN_HAS_SSP
	help
	  Enable stack smashing protection support using GCCs
	  -fstack-protector-all option in uClibc.

	  See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
	  for details.

config BR2_UCLIBC_INSTALL_UTILS
	bool "Compile and install uClibc utilities"
	depends on !BR2_bfin
	default y
	help
	  Enabling this option will compile and install the getconf,
	  ldconfig and ldd uClibc utilities for the target.

	  You can save ~32 KiB in target space by disabling them since
	  they're normally not needed.

config BR2_UCLIBC_INSTALL_TEST_SUITE
	bool "Compile and install uClibc tests"
	select BR2_PACKAGE_MAKE
	depends on BR2_USE_MMU # make
	help
	  Enabling this option will compile and install the uClibc test suite.
	  This is useful if you want to check if the uClibc library is working
	  for your architecture and/or help developing uClibc.

	  The test suite will be installed into /root/uClibc directory. To run
	  the test suite enter the /root/uClibc/test directory and type
	  "make UCLIBC_ONLY=1 CC=/bin/true check".

	  See the /root/uClibc/test/README for additional information.

	  This is not needed at all for normal builds, so you can safely say no
	  if you do not plan to dig into your C library.

# Mapping from the Buildroot architecture configuration options to the
# uClibc architecture names.
config BR2_UCLIBC_TARGET_ARCH
	string
	default arc	   if BR2_arcle || BR2_arceb
	default arm	   if BR2_arm	|| BR2_armeb
	default bfin	   if BR2_bfin
	default m68k	   if BR2_m68k
	default mips	   if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
	default powerpc	   if BR2_powerpc
	default sh	   if BR2_sh
	default sparc	   if BR2_sparc
	default xtensa	   if BR2_xtensa
	default i386	   if BR2_i386
	default x86_64	   if BR2_x86_64

config BR2_UCLIBC_ARC_TYPE
	string
	depends on BR2_UCLIBC_TARGET_ARCH = "arc"
	default "ARC_CPU_700"	if BR2_arc750d
	default "ARC_CPU_700"	if BR2_arc770d
	default "ARC_CPU_HS"	if BR2_archs38

config BR2_UCLIBC_ARM_BX
	bool
	depends on BR2_UCLIBC_TARGET_ARCH = "arm"
	default y if (BR2_ARM_CPU_HAS_THUMB || BR2_ARM_CPU_HAS_THUMB2)

config BR2_UCLIBC_MIPS_ABI
	string
	depends on BR2_UCLIBC_TARGET_ARCH = "mips"
	default O32 if BR2_MIPS_OABI32
	default N32 if BR2_MIPS_NABI32
	default N64 if BR2_MIPS_NABI64

config BR2_UCLIBC_MIPS_ISA
	string
	depends on BR2_UCLIBC_TARGET_ARCH = "mips"
	default MIPS32 if BR2_mips_32
	default MIPS32R2 if BR2_mips_32r2
	default MIPS64 if BR2_mips_64

config BR2_UCLIBC_SH_TYPE
	string
	depends on BR2_UCLIBC_TARGET_ARCH = "sh"
	default SH2A if BR2_sh2a
	default SH4  if BR2_sh4 || BR2_sh4eb

config BR2_UCLIBC_SPARC_TYPE
	string
	depends on BR2_UCLIBC_TARGET_ARCH = "sparc"
	default V7	if BR2_sparc_v7 || BR2_sparc_sparchfleon || BR2_sparc_sparcsfleon
	default V8	if BR2_sparc_v8 || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleonv8

config BR2_UCLIBC_POWERPC_TYPE
	string
	depends on BR2_UCLIBC_TARGET_ARCH = "powerpc"
	default CLASSIC if !BR2_powerpc_8540 && !BR2_powerpc_8548
	default E500    if BR2_powerpc_8540 || BR2_powerpc_8548

config BR2_UCLIBC_X86_TYPE
	string
	depends on BR2_UCLIBC_TARGET_ARCH = "i386"
	default 386     if BR2_x86_i386
	default 486	if BR2_x86_i486
	default 586	if BR2_x86_i586
	default 586MMX	if BR2_x86_pentium_mmx
	default 686	if BR2_x86_i686 || BR2_x86_pentiumpro
	default PENTIUMII  if BR2_x86_pentium2
	default PENTIUMIII if BR2_x86_pentium3
	default PENTIUM4   if BR2_x86_pentium4 || BR2_x86_pentium_m || \
			      BR2_x86_nocona || BR2_x86_core2 || BR2_x86_corei7

endif # BR2_TOOLCHAIN_BUILDROOT_UCLIBC