2008-08-26 16:47:47 +00:00
|
|
|
# This file contains the common configuration options
|
|
|
|
# that apply to both glibc and eglibc.
|
|
|
|
|
2009-01-31 11:29:50 +00:00
|
|
|
if LIBC_glibc || LIBC_eglibc
|
|
|
|
|
2009-05-02 22:21:53 +00:00
|
|
|
# Some architectures require the ports addon. List them one by one here:
|
2009-05-13 20:55:15 +00:00
|
|
|
# This list must be carefully in sync with the architectures names
|
|
|
|
# we can find in config/arch/*
|
|
|
|
|
2009-05-02 22:21:53 +00:00
|
|
|
config ARCH_arm
|
|
|
|
select LIBC_GLIBC_USE_PORTS
|
|
|
|
|
|
|
|
config ARCH_mips
|
|
|
|
select LIBC_GLIBC_USE_PORTS
|
|
|
|
|
2009-05-13 20:55:15 +00:00
|
|
|
# End of arch-specific ports auto-select
|
|
|
|
|
2008-09-14 18:09:36 +00:00
|
|
|
comment "glibc/eglibc common options"
|
|
|
|
|
2008-08-26 16:47:47 +00:00
|
|
|
config LIBC_GLIBC_EXTRA_CONFIG
|
|
|
|
string
|
|
|
|
prompt "extra config"
|
|
|
|
default ""
|
|
|
|
help
|
|
|
|
Extra flags to pass onto ./configure when configuring.
|
|
|
|
|
|
|
|
Eg.: --enable-static-nss
|
|
|
|
|
2009-03-05 17:50:42 +00:00
|
|
|
config LIBC_GLIBC_CONFIGPARMS
|
|
|
|
string
|
|
|
|
prompt "Extra config params (READ HELP)"
|
|
|
|
default "" if ! ARCH_sh
|
|
|
|
default "no-z-defs=yes" if ARCH_sh
|
|
|
|
help
|
|
|
|
Some architectures need to set options in the file configparms.
|
|
|
|
This is the case for sh3/4, which really need to set configparms
|
|
|
|
to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2.
|
|
|
|
|
|
|
|
Unless you are building a toolchain for sh3/4, you should leave that empty.
|
|
|
|
|
|
|
|
Note: this is awkward, and doesn't work well if you need more than one
|
|
|
|
line in configparms
|
|
|
|
|
2008-08-26 16:47:47 +00:00
|
|
|
config LIBC_GLIBC_EXTRA_CFLAGS
|
|
|
|
string
|
|
|
|
prompt "extra target CFLAGS"
|
|
|
|
default ""
|
|
|
|
help
|
|
|
|
Extra target CFLAGS to use when building.
|
|
|
|
|
|
|
|
config LIBC_EXTRA_CC_ARGS
|
|
|
|
string
|
|
|
|
prompt "gcc extra flags"
|
|
|
|
default ""
|
|
|
|
help
|
|
|
|
Extra flags to pass gcc when building.
|
|
|
|
|
|
|
|
Seldom used, except for sparc64 which seems to need the flag -64
|
|
|
|
to be passed onto gcc.
|
|
|
|
|
|
|
|
config LIBC_GLIBC_USE_PORTS
|
|
|
|
bool
|
|
|
|
prompt "Use the ports addon"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
The ports addon contains some architecture ports that are not available
|
|
|
|
in the official distribution.
|
|
|
|
|
2009-05-02 22:21:53 +00:00
|
|
|
For example, this is the case for ARM with glibc-2.4 and above.
|
2008-08-26 16:47:47 +00:00
|
|
|
|
|
|
|
Say n only if you're sure that your architecture is in the official
|
|
|
|
distribution for your chosen version.
|
|
|
|
|
|
|
|
config LIBC_ADDONS_LIST
|
|
|
|
string
|
|
|
|
prompt "Extra addons"
|
|
|
|
default ""
|
|
|
|
help
|
|
|
|
Extra addons to include. Space separated list.
|
|
|
|
|
|
|
|
You need to specify neither linuxthreads nor nptl, as they are added
|
|
|
|
automagically for you depending on the threading model you choosed
|
|
|
|
earlier.
|
|
|
|
|
|
|
|
Eg.: crypt (for very old libces)
|
2008-08-26 21:37:46 +00:00
|
|
|
|
2009-05-02 22:07:25 +00:00
|
|
|
if LIBC_GLIBC_2_8_or_later && ( LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" ) )
|
|
|
|
comment "WARNING!!!"
|
|
|
|
comment "For glibc >= 2.8, addons are only available via a CVS checkout."
|
|
|
|
comment "Be sure to review the associated options, above."
|
|
|
|
endif
|
|
|
|
|
2008-09-16 17:39:40 +00:00
|
|
|
if KERNEL_linux
|
2008-09-14 18:09:36 +00:00
|
|
|
|
|
|
|
choice
|
2008-08-26 21:37:46 +00:00
|
|
|
bool
|
2008-09-14 18:09:36 +00:00
|
|
|
prompt "Minimum supported kernel version"
|
|
|
|
default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
|
|
|
|
|
|
|
|
config LIBC_GLIBC_KERNEL_VERSION_NONE
|
|
|
|
bool
|
|
|
|
prompt "Let ./configure decide"
|
2008-08-26 21:37:46 +00:00
|
|
|
help
|
2008-09-14 18:09:36 +00:00
|
|
|
Let ./configure decide what minimum kernel version glibc/eglibc
|
|
|
|
will be able to run against.
|
|
|
|
|
|
|
|
This will inclde legacy compatibility code for older kernels in
|
|
|
|
the C library, thus ensuring that it will run on a large number
|
|
|
|
of old kernels.
|
|
|
|
|
|
|
|
The minimum kernel version supported will be dependent upon the
|
|
|
|
target you build for. For example:
|
|
|
|
alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
|
|
|
|
sh[34]-*-linux-gnu Requires Linux 2.6.11
|
|
|
|
powerpc* Requires Linux 2.4.19
|
|
|
|
arm*-*-linux-*gnueabi Requires Linux 2.6.16
|
|
|
|
|
|
|
|
config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
|
|
|
|
bool
|
|
|
|
prompt "Same as kernel headers (default)"
|
|
|
|
help
|
|
|
|
Normaly, you'll want glibc/eglibc to run against the same kernel
|
|
|
|
version as the one used for the headers.
|
|
|
|
|
|
|
|
This is the default.
|
|
|
|
|
2008-08-26 21:37:46 +00:00
|
|
|
If enabled, crosstool-ng will use the chosen version of kernel
|
|
|
|
headers for the glibc minimum kernel version supported, which is
|
|
|
|
what gets passed to "--enable-kernel=" when configuring glibc.
|
2008-09-14 18:09:36 +00:00
|
|
|
|
2008-08-26 21:37:46 +00:00
|
|
|
Enabling this will ensure that no legacy compatibility code for
|
|
|
|
older kernels is built into your C libraries, but it will
|
|
|
|
be unable to run on kernel versions older than whichever kernel
|
|
|
|
headers version you've built the toolchain for.
|
2008-09-14 18:09:36 +00:00
|
|
|
|
2008-08-26 21:37:46 +00:00
|
|
|
If you know for sure that your toolchain will never need to build
|
|
|
|
applications that will run under a kernel version older than your
|
|
|
|
chosen kernel headers version (CT_KERNEL_VERSION), you can choose
|
|
|
|
"y" here.
|
|
|
|
|
2008-09-14 18:09:36 +00:00
|
|
|
config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
|
|
|
|
bool
|
|
|
|
prompt "Specific kernel version"
|
2008-08-26 21:37:46 +00:00
|
|
|
help
|
|
|
|
Specify the earliest Linux kernel version you want glibc to
|
|
|
|
include support for. This does not have to match the kernel
|
|
|
|
headers version used for your toolchain. This controls what is
|
|
|
|
passed to the "--enable-kernel=" option to the glibc configure
|
|
|
|
script.
|
|
|
|
|
|
|
|
If you want to be able to statically link programs with your
|
|
|
|
toolchain's C library, make sure this kernel version is lower than
|
|
|
|
all kernels you wish to support to avoid "FATAL: kernel too old"
|
|
|
|
errors. The higher the version you specify, the less legacy code
|
|
|
|
will be built into libc.
|
|
|
|
|
|
|
|
Most people can leave this at the default value of "2.6.9".
|
|
|
|
|
2008-09-14 18:09:36 +00:00
|
|
|
if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
|
|
|
|
|
|
|
|
config LIBC_GLIBC_MIN_KERNEL_VERSION
|
|
|
|
string
|
|
|
|
prompt "Minimum kernel version to support"
|
|
|
|
default "2.6.9"
|
|
|
|
help
|
|
|
|
Enter here the lowest kernel version glibc/eglibc will be able to
|
|
|
|
run against.
|
|
|
|
|
|
|
|
The minimum kernel version supported will be dependent upon the
|
|
|
|
target you build for. For example:
|
|
|
|
alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL
|
|
|
|
sh[34]-*-linux-gnu Requires Linux 2.6.11
|
|
|
|
powerpc* Requires Linux 2.4.19
|
|
|
|
arm*-*-linux-*gnueabi Requires Linux 2.6.16
|
|
|
|
|
|
|
|
Note that no sanity check is performed by crosstool-NG to ensure
|
|
|
|
that the value you enter here is appropriate for your target.
|
|
|
|
|
|
|
|
endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2008-08-26 21:37:46 +00:00
|
|
|
config LIBC_GLIBC_MIN_KERNEL
|
|
|
|
string
|
2008-09-14 18:09:36 +00:00
|
|
|
default "" if LIBC_GLIBC_KERNEL_VERSION_NONE
|
|
|
|
default KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
|
2009-02-17 17:06:04 +00:00
|
|
|
default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
|
2008-09-14 18:09:36 +00:00
|
|
|
|
2008-09-16 17:39:40 +00:00
|
|
|
endif # KERNEL_linux
|
2009-01-31 11:29:50 +00:00
|
|
|
|
|
|
|
endif # LIBC_glibc || LIBC_eglibc
|