1 # This file contains the common configuration options
2 # that apply to both glibc and eglibc.
4 if LIBC_glibc || LIBC_eglibc
6 # Some architectures require the ports addon. List them one by one here:
7 # This list must be carefully in sync with the architectures names
8 # we can find in config/arch/*
11 select LIBC_GLIBC_USE_PORTS
14 select LIBC_GLIBC_USE_PORTS
16 # End of arch-specific ports auto-select
18 comment "glibc/eglibc common options"
20 config LIBC_GLIBC_EXTRA_CONFIG
25 Extra flags to pass onto ./configure when configuring.
27 Eg.: --enable-static-nss
29 config LIBC_GLIBC_CONFIGPARMS
31 prompt "Extra config params (READ HELP)"
32 default "" if ! ARCH_sh
33 default "no-z-defs=yes" if ARCH_sh
35 Some architectures need to set options in the file configparms.
36 This is the case for sh3/4, which really need to set configparms
37 to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2.
39 Unless you are building a toolchain for sh3/4, you should leave that empty.
41 Note: If you need to pass more than one value, separate them with
42 '\n'. Eg.: var1=val1\nvar2=val2
44 config LIBC_GLIBC_EXTRA_CFLAGS
46 prompt "extra target CFLAGS"
49 Extra target CFLAGS to use when building.
51 config LIBC_EXTRA_CC_ARGS
53 prompt "gcc extra flags"
56 Extra flags to pass gcc when building.
58 Seldom used, except for sparc64 which seems to need the flag -64
59 to be passed onto gcc.
61 config LIBC_GLIBC_USE_PORTS
63 prompt "Use the ports addon"
66 The ports addon contains some architecture ports that are not available
67 in the official distribution.
69 For example, this is the case for ARM with glibc-2.4 and above.
71 Say n only if you're sure that your architecture is in the official
72 distribution for your chosen version.
74 config LIBC_ADDONS_LIST
79 Extra addons to include. Space separated list.
81 You need to specify neither linuxthreads nor nptl, as they are added
82 automagically for you depending on the threading model you choosed
85 Eg.: crypt (for very old libces)
87 if LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" )
88 comment "WARNING !!! "
89 comment "| For glibc >= 2.8, it can happen that the tarballs "
90 comment "| for the addons are not available for download. "
91 comment "| If that happens, bad luck... Try a previous version "
92 comment "| or try again later... :-( "
99 prompt "Minimum supported kernel version"
100 default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
102 config LIBC_GLIBC_KERNEL_VERSION_NONE
104 prompt "Let ./configure decide"
106 Let ./configure decide what minimum kernel version glibc/eglibc
107 will be able to run against.
109 This will inclde legacy compatibility code for older kernels in
110 the C library, thus ensuring that it will run on a large number
113 The minimum kernel version supported will be dependent upon the
114 target you build for. For example:
115 alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
116 sh[34]-*-linux-gnu Requires Linux 2.6.11
117 powerpc* Requires Linux 2.4.19
118 arm*-*-linux-*gnueabi Requires Linux 2.6.16
120 config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
122 prompt "Same as kernel headers (default)"
124 Normaly, you'll want glibc/eglibc to run against the same kernel
125 version as the one used for the headers.
129 If enabled, crosstool-ng will use the chosen version of kernel
130 headers for the glibc minimum kernel version supported, which is
131 what gets passed to "--enable-kernel=" when configuring glibc.
133 Enabling this will ensure that no legacy compatibility code for
134 older kernels is built into your C libraries, but it will
135 be unable to run on kernel versions older than whichever kernel
136 headers version you've built the toolchain for.
138 If you know for sure that your toolchain will never need to build
139 applications that will run under a kernel version older than your
140 chosen kernel headers version (CT_KERNEL_VERSION), you can choose
143 config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
145 prompt "Specific kernel version"
147 Specify the earliest Linux kernel version you want glibc to
148 include support for. This does not have to match the kernel
149 headers version used for your toolchain. This controls what is
150 passed to the "--enable-kernel=" option to the glibc configure
153 If you want to be able to statically link programs with your
154 toolchain's C library, make sure this kernel version is lower than
155 all kernels you wish to support to avoid "FATAL: kernel too old"
156 errors. The higher the version you specify, the less legacy code
157 will be built into libc.
159 Most people can leave this at the default value of "2.6.9".
161 if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
163 config LIBC_GLIBC_MIN_KERNEL_VERSION
165 prompt "Minimum kernel version to support"
168 Enter here the lowest kernel version glibc/eglibc will be able to
171 The minimum kernel version supported will be dependent upon the
172 target you build for. For example:
173 alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
174 sh[34]-*-linux-gnu Requires Linux 2.6.11
175 powerpc* Requires Linux 2.4.19
176 arm*-*-linux-*gnueabi Requires Linux 2.6.16
178 Note that no sanity check is performed by crosstool-NG to ensure
179 that the value you enter here is appropriate for your target.
181 endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
185 config LIBC_GLIBC_MIN_KERNEL
187 default "" if LIBC_GLIBC_KERNEL_VERSION_NONE
188 default KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
189 default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
193 endif # LIBC_glibc || LIBC_eglibc