1 if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
4 config BR2_PACKAGE_UCLIBC
8 comment "uClibc Options"
10 config BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
13 config BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
16 config BR2_UCLIBC_VERSION_SUPPORTS_NPTL
20 prompt "uClibc C library Version"
21 default BR2_UCLIBC_VERSION_NG if !BR2_arc
23 Select the version of uClibc you wish to use.
25 config BR2_UCLIBC_VERSION_0_9_33
26 bool "uClibc 0.9.33.x"
27 select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
28 select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
29 select BR2_UCLIBC_VERSION_SUPPORTS_NPTL if !BR2_x86_i386
30 depends on !(BR2_arc || BR2_xtensa)
32 config BR2_UCLIBC_VERSION_ARC_GIT
34 select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
35 select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
36 select BR2_UCLIBC_VERSION_SUPPORTS_NPTL
39 config BR2_UCLIBC_VERSION_NG
41 select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS if BR2_m68k
42 select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD \
43 if BR2_m68k || BR2_arm || BR2_armeb
44 select BR2_UCLIBC_VERSION_SUPPORTS_NPTL \
45 if !BR2_m68k && !BR2_x86_i386
47 config BR2_UCLIBC_VERSION_SNAPSHOT
49 select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS if !BR2_xtensa
50 select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
51 select BR2_UCLIBC_VERSION_SUPPORTS_NPTL \
52 if !BR2_x86_i386 && !BR2_xtensa
57 config BR2_USE_UCLIBC_SNAPSHOT
58 string "Date (yyyymmdd) of snapshot or 'snapshot' for latest"
60 depends on BR2_UCLIBC_VERSION_SNAPSHOT
62 Use latest snapshot or one from a specific date?
64 config BR2_UCLIBC_VERSION_STRING
66 default "0.9.33.2" if BR2_UCLIBC_VERSION_0_9_33
67 default "arc-2015.06-rc1" if BR2_UCLIBC_VERSION_ARC_GIT
68 default "1.0.3" if BR2_UCLIBC_VERSION_NG
69 default BR2_USE_UCLIBC_SNAPSHOT if BR2_UCLIBC_VERSION_SNAPSHOT
71 config BR2_UCLIBC_CONFIG
72 string "uClibc configuration file to use?"
73 default "package/uclibc/uClibc-0.9.33.config" if BR2_UCLIBC_VERSION_0_9_33
74 default "package/uclibc/uClibc-ng.config" if BR2_UCLIBC_VERSION_NG
75 default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_ARC_GIT
76 default "package/uclibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT
78 Some people may wish to use their own modified uClibc configuration
79 file and will specify their config file location with this option.
80 See also docs/README in this package.
81 If unsure, use the default.
83 config BR2_UCLIBC_CONFIG_FRAGMENT_FILES
84 string "Additional uClibc configuration fragment files"
86 A space-separated list of configuration fragment files,
87 that will be merged to the main uClibc configuration file.
89 config BR2_TOOLCHAIN_BUILDROOT_INET_RPC
90 bool "Enable RPC support"
91 select BR2_TOOLCHAIN_HAS_NATIVE_RPC
93 Enable this option if you want your toolchain to support
94 RPC (needed for NFS, for example).
96 config BR2_TOOLCHAIN_BUILDROOT_WCHAR
97 bool "Enable WCHAR support"
100 Enable this option if you want your toolchain to support
101 wide characters (i.e characters longer than 8 bits, needed
104 config BR2_TOOLCHAIN_BUILDROOT_LOCALE
105 bool "Enable toolchain locale/i18n support"
106 select BR2_TOOLCHAIN_BUILDROOT_WCHAR
107 select BR2_ENABLE_LOCALE
109 Enable this option if you want your toolchain to support
110 localization and internationalization.
113 prompt "Thread library implementation"
114 default BR2_PTHREADS_NATIVE if BR2_UCLIBC_VERSION_SUPPORTS_NPTL
115 default BR2_PTHREADS_OLD if BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
116 default BR2_PTHREADS if BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
118 Use this option to select the thread library implementation
119 that should be used in your toolchain.
121 config BR2_PTHREADS_NONE
126 select BR2_TOOLCHAIN_HAS_THREADS
127 depends on BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
129 config BR2_PTHREADS_OLD
130 bool "linuxthreads (stable/old)"
131 select BR2_TOOLCHAIN_HAS_THREADS
132 depends on BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
134 config BR2_PTHREADS_NATIVE
135 bool "Native POSIX Threading (NPTL)"
136 select BR2_TOOLCHAIN_HAS_THREADS
137 select BR2_TOOLCHAIN_HAS_THREADS_NPTL
138 depends on BR2_UCLIBC_VERSION_SUPPORTS_NPTL
141 config BR2_PTHREAD_DEBUG
142 bool "Thread library debugging"
143 depends on BR2_PTHREADS || BR2_PTHREADS_OLD || BR2_PTHREADS_NATIVE
144 select BR2_TOOLCHAIN_HAS_THREADS_DEBUG
146 Build the thread library with debugging enabled.
148 config BR2_TOOLCHAIN_BUILDROOT_USE_SSP
149 bool "Enable stack protection support"
150 select BR2_TOOLCHAIN_HAS_SSP
152 Enable stack smashing protection support using GCCs
153 -fstack-protector-all option in uClibc.
155 See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
158 config BR2_UCLIBC_INSTALL_UTILS
159 bool "Compile and install uClibc utilities"
162 Enabling this option will compile and install the getconf,
163 ldconfig and ldd uClibc utilities for the target.
165 You can save ~32 KiB in target space by disabling them since
166 they're normally not needed.
168 config BR2_UCLIBC_INSTALL_TEST_SUITE
169 bool "Compile and install uClibc tests"
170 select BR2_PACKAGE_MAKE
171 depends on BR2_USE_MMU # make
173 Enabling this option will compile and install the uClibc test suite.
174 This is useful if you want to check if the uClibc library is working
175 for your architecture and/or help developing uClibc.
177 The test suite will be installed into /root/uClibc directory. To run
178 the test suite enter the /root/uClibc/test directory and type
179 "make UCLIBC_ONLY=1 CC=/bin/true check".
181 See the /root/uClibc/test/README for additional information.
183 This is not needed at all for normal builds, so you can safely say no
184 if you do not plan to dig into your C library.
186 # Mapping from the Buildroot architecture configuration options to the
187 # uClibc architecture names.
188 config BR2_UCLIBC_TARGET_ARCH
190 default "arc" if BR2_arcle || BR2_arceb
191 default "arm" if BR2_arm || BR2_armeb
192 default "m68k" if BR2_m68k
193 default "mips" if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
194 default "powerpc" if BR2_powerpc
195 default "sh" if BR2_sh
196 default "sparc" if BR2_sparc
197 default "xtensa" if BR2_xtensa
198 default "i386" if BR2_i386
199 default "x86_64" if BR2_x86_64
201 config BR2_UCLIBC_ARC_TYPE
203 depends on BR2_UCLIBC_TARGET_ARCH = "arc"
204 default "ARC_CPU_700" if BR2_arc750d
205 default "ARC_CPU_700" if BR2_arc770d
206 default "ARC_CPU_HS" if BR2_archs38
208 config BR2_UCLIBC_ARM_BX
210 depends on BR2_UCLIBC_TARGET_ARCH = "arm"
211 default y if (BR2_ARM_CPU_HAS_THUMB || BR2_ARM_CPU_HAS_THUMB2)
213 config BR2_UCLIBC_MIPS_ABI
215 depends on BR2_UCLIBC_TARGET_ARCH = "mips"
216 default "O32" if BR2_MIPS_OABI32
217 default "N32" if BR2_MIPS_NABI32
218 default "N64" if BR2_MIPS_NABI64
220 config BR2_UCLIBC_MIPS_ISA
222 depends on BR2_UCLIBC_TARGET_ARCH = "mips"
223 default "MIPS32" if BR2_mips_32
224 default "MIPS32R2" if BR2_mips_32r2
225 default "MIPS64" if BR2_mips_64
227 config BR2_UCLIBC_SH_TYPE
229 depends on BR2_UCLIBC_TARGET_ARCH = "sh"
230 default "SH2A" if BR2_sh2a
231 default "SH4" if BR2_sh4 || BR2_sh4eb
233 config BR2_UCLIBC_SPARC_TYPE
235 depends on BR2_UCLIBC_TARGET_ARCH = "sparc"
236 default "V7" if BR2_sparc_v7 || BR2_sparc_sparchfleon || BR2_sparc_sparcsfleon
237 default "V8" if BR2_sparc_v8 || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleonv8
239 config BR2_UCLIBC_POWERPC_TYPE
241 depends on BR2_UCLIBC_TARGET_ARCH = "powerpc"
242 default "CLASSIC" if !BR2_powerpc_8540 && !BR2_powerpc_8548
243 default "E500" if BR2_powerpc_8540 || BR2_powerpc_8548
245 config BR2_UCLIBC_X86_TYPE
247 depends on BR2_UCLIBC_TARGET_ARCH = "i386"
248 default "386" if BR2_x86_i386
249 default "486" if BR2_x86_i486
250 default "586" if BR2_x86_i586
251 default "586MMX" if BR2_x86_pentium_mmx
252 default "686" if BR2_x86_i686 || BR2_x86_pentiumpro
253 default "PENTIUMII" if BR2_x86_pentium2
254 default "PENTIUMIII" if BR2_x86_pentium3
255 default "PENTIUM4" if BR2_x86_pentium4 || BR2_x86_pentium_m || \
256 BR2_x86_nocona || BR2_x86_core2 || BR2_x86_corei7
258 endif # BR2_TOOLCHAIN_BUILDROOT_UCLIBC