yann@922: # This file contains the common configuration options yann@922: # that apply to both glibc and eglibc. yann@922: yann@1178: if LIBC_glibc || LIBC_eglibc yann@1178: yann@922: comment "glibc/eglibc common options" yann@922: yann@922: config LIBC_GLIBC_EXTRA_CONFIG yann@922: string yann@922: prompt "extra config" yann@922: default "" yann@922: help yann@922: Extra flags to pass onto ./configure when configuring. yann@922: yann@922: Eg.: --enable-static-nss yann@922: yann@922: config LIBC_GLIBC_EXTRA_CFLAGS yann@922: string yann@922: prompt "extra target CFLAGS" yann@922: default "" yann@922: help yann@922: Extra target CFLAGS to use when building. yann@922: yann@922: config LIBC_EXTRA_CC_ARGS yann@922: string yann@922: prompt "gcc extra flags" yann@922: default "" yann@922: help yann@922: Extra flags to pass gcc when building. yann@922: yann@922: Seldom used, except for sparc64 which seems to need the flag -64 yann@922: to be passed onto gcc. yann@922: yann@922: config LIBC_GLIBC_USE_PORTS yann@922: bool yann@922: prompt "Use the ports addon" yann@922: default n yann@922: help yann@922: The ports addon contains some architecture ports that are not available yann@922: in the official distribution. yann@922: yann@922: For example, this is the case for ARM with for 2.4 and above. yann@922: yann@922: Say n only if you're sure that your architecture is in the official yann@922: distribution for your chosen version. yann@922: yann@922: config LIBC_ADDONS_LIST yann@922: string yann@922: prompt "Extra addons" yann@922: default "" yann@922: help yann@922: Extra addons to include. Space separated list. yann@922: yann@922: You need to specify neither linuxthreads nor nptl, as they are added yann@922: automagically for you depending on the threading model you choosed yann@922: earlier. yann@922: yann@922: Eg.: crypt (for very old libces) yann@922: yann@922: if KERNEL_linux yann@922: yann@922: choice yann@922: bool yann@922: prompt "Minimum supported kernel version" yann@922: default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS yann@922: yann@922: config LIBC_GLIBC_KERNEL_VERSION_NONE yann@922: bool yann@922: prompt "Let ./configure decide" yann@922: help yann@922: Let ./configure decide what minimum kernel version glibc/eglibc yann@922: will be able to run against. yann@922: yann@922: This will inclde legacy compatibility code for older kernels in yann@922: the C library, thus ensuring that it will run on a large number yann@922: of old kernels. yann@922: yann@922: The minimum kernel version supported will be dependent upon the yann@922: target you build for. For example: yann@922: alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL yann@922: sh[34]-*-linux-gnu Requires Linux 2.6.11 yann@922: powerpc* Requires Linux 2.4.19 yann@922: arm*-*-linux-*gnueabi Requires Linux 2.6.16 yann@922: yann@922: config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS yann@922: bool yann@922: prompt "Same as kernel headers (default)" yann@922: help yann@922: Normaly, you'll want glibc/eglibc to run against the same kernel yann@922: version as the one used for the headers. yann@922: yann@922: This is the default. yann@922: yann@922: If enabled, crosstool-ng will use the chosen version of kernel yann@922: headers for the glibc minimum kernel version supported, which is yann@922: what gets passed to "--enable-kernel=" when configuring glibc. yann@922: yann@922: Enabling this will ensure that no legacy compatibility code for yann@922: older kernels is built into your C libraries, but it will yann@922: be unable to run on kernel versions older than whichever kernel yann@922: headers version you've built the toolchain for. yann@922: yann@922: If you know for sure that your toolchain will never need to build yann@922: applications that will run under a kernel version older than your yann@922: chosen kernel headers version (CT_KERNEL_VERSION), you can choose yann@922: "y" here. yann@922: yann@922: config LIBC_GLIBC_KERNEL_VERSION_CHOSEN yann@922: bool yann@922: prompt "Specific kernel version" yann@922: help yann@922: Specify the earliest Linux kernel version you want glibc to yann@922: include support for. This does not have to match the kernel yann@922: headers version used for your toolchain. This controls what is yann@922: passed to the "--enable-kernel=" option to the glibc configure yann@922: script. yann@922: yann@922: If you want to be able to statically link programs with your yann@922: toolchain's C library, make sure this kernel version is lower than yann@922: all kernels you wish to support to avoid "FATAL: kernel too old" yann@922: errors. The higher the version you specify, the less legacy code yann@922: will be built into libc. yann@922: yann@922: Most people can leave this at the default value of "2.6.9". yann@922: yann@922: if LIBC_GLIBC_KERNEL_VERSION_CHOSEN yann@922: yann@922: config LIBC_GLIBC_MIN_KERNEL_VERSION yann@922: string yann@922: prompt "Minimum kernel version to support" yann@922: default "2.6.9" yann@922: help yann@922: Enter here the lowest kernel version glibc/eglibc will be able to yann@922: run against. yann@922: yann@922: The minimum kernel version supported will be dependent upon the yann@922: target you build for. For example: yann@922: alpha*-*-linux-gnu Requires Linux 2.6.9 for NPTL yann@922: sh[34]-*-linux-gnu Requires Linux 2.6.11 yann@922: powerpc* Requires Linux 2.4.19 yann@922: arm*-*-linux-*gnueabi Requires Linux 2.6.16 yann@922: yann@922: Note that no sanity check is performed by crosstool-NG to ensure yann@922: that the value you enter here is appropriate for your target. yann@922: yann@922: endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN yann@922: yann@922: endchoice yann@922: yann@922: config LIBC_GLIBC_MIN_KERNEL yann@922: string yann@922: default "" if LIBC_GLIBC_KERNEL_VERSION_NONE yann@922: default KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS yann@1211: default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN yann@922: yann@922: endif # KERNEL_linux yann@1178: yann@1178: endif # LIBC_glibc || LIBC_eglibc