crosstool-ng/config/libc/glibc-eglibc-common.in

170 lines
5.5 KiB
Plaintext
Raw Normal View History

# This file contains the common configuration options
# that apply to both glibc and eglibc.
#
# Please note:
# the symlink is a hack around the fact that mconf can not parse
# the same file more than once, and errors out if it is the case.
# If mconf is updated to accept multiple inclusion of the same
# file, then the symlink can go (and the includers be updated).
comment "glibc/eglibc common options"
config LIBC_GLIBC_EXTRA_CONFIG
string
prompt "extra config"
default ""
help
Extra flags to pass onto ./configure when configuring.
Eg.: --enable-static-nss
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.
For example, this is the case for ARM with for 2.4 and above.
Say n only if you're sure that your architecture is in the official
distribution for your chosen version.
config LIBC_ADDONS
bool
prompt "Pass extra addons list"
default n
help
If you say Y here, you'll be able to give the list of addons you want to
include in your C library.
config LIBC_ADDONS_LIST
string
prompt "Extra addons"
default ""
depends on LIBC_ADDONS
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)
if KERNEL_linux
choice
bool
prompt "Minimum supported kernel version"
default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
config LIBC_GLIBC_KERNEL_VERSION_NONE
bool
prompt "Let ./configure decide"
help
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.
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.
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.
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.
config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
bool
prompt "Specific kernel version"
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".
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
config LIBC_GLIBC_MIN_KERNEL
string
default "" if LIBC_GLIBC_KERNEL_VERSION_NONE
default KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
endif # KERNEL_linux