diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2008-09-14 18:09:36 +0000 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2008-09-14 18:09:36 +0000 |
commit | 02d2b29cdaefd315977bfad549416d6904f40d04 (patch) | |
tree | 8c54aba158dd98ab12dfbd6d2d485747ed6b255a /scripts/build/libc | |
parent | 91a8de54e4d0176e5697c4d750aba235686cb2e3 (diff) | |
download | crosstool-ng-02d2b29cdaefd315977bfad549416d6904f40d04.tar.gz crosstool-ng-02d2b29cdaefd315977bfad549416d6904f40d04.tar.bz2 crosstool-ng-02d2b29cdaefd315977bfad549416d6904f40d04.zip |
Enhance setting the minimum kernel version glibc will run against.
Ideally, eglibc should also benefit for that, but the current code does not set it.
/trunk/scripts/build/libc/glibc.sh | 38 33 5 0 +++++++++++++++---
/trunk/config/libc/glibc.in | 4 2 2 0 +-
/trunk/config/libc/uClibc.in | 2 2 0 0 +
/trunk/config/libc/eglibc.in | 4 2 2 0 +-
/trunk/config/libc/glibc-eglibc-common.in | 80 68 12 0 +++++++++++++++++++++++++++++++------
/trunk/config/libc.in | 69 38 31 0 ++++++++++++++++++--------------
6 files changed, 145 insertions(+), 52 deletions(-)
Diffstat (limited to 'scripts/build/libc')
-rw-r--r-- | scripts/build/libc/glibc.sh | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index b864a5be..4873ed04 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -89,9 +89,21 @@ do_libc_headers() { addons_config="${addons_config//linuxthreads/}" addons_config=$(echo "${addons_config}" |sed -r -e 's/^,+//; s/,+$//; s/,+/,/g;') + extra_config="${addons_config}" + min_kernel_config= + case "${CT_LIBC_GLIBC_EXTRA_CONFIG}" in + *enable-kernel*) ;; + *) if [ "${CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS}" = "y" \ + -o "${CT_LIBC_GLIBC_USE_HEADERS_MIN_KERNEL}" = "y" ]; then + min_kernel_config="--enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')" + fi + ;; + esac + extra_config="${extra_config} ${min_kernel_config}" + cross_cc=$(CT_Which "${CT_TARGET}-gcc") CT_DoLog DEBUG "Using gcc for target: '${cross_cc}'" - CT_DoLog DEBUG "Extra config passed : '${addons_config}'" + CT_DoLog DEBUG "Extra config passed : '${extra_config}'" libc_cv_ppc_machine=yes \ CC=${cross_cc} \ @@ -104,7 +116,7 @@ do_libc_headers() { --without-cvs \ --disable-sanity-checks \ --enable-hacker-mode \ - ${addons_config} \ + ${extra_config} \ --without-nptl CT_DoLog EXTRA "Installing C library headers" @@ -208,11 +220,17 @@ do_libc_start_files() { CT_DoLog EXTRA "Configuring C library" # Add some default glibc config options if not given by user. - extra_config="" + extra_config= + min_kernel_config= case "${CT_LIBC_GLIBC_EXTRA_CONFIG}" in *enable-kernel*) ;; - *) extra_config="${extra_config} --enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')" + *) if [ "${CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS}" = "y" \ + -o "${CT_LIBC_GLIBC_USE_HEADERS_MIN_KERNEL}" = "y" ]; then + min_kernel_config="--enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')" + fi + ;; esac + extra_config="${extra_config} ${min_kernel_config}" case "${CT_LIBC_GLIBC_EXTRA_CONFIG}" in *-tls*) ;; *) extra_config="${extra_config} --with-tls" @@ -314,7 +332,17 @@ do_libc() { # We don't need to be conditional on wether the user did set different # values, as they CT_LIBC_GLIBC_EXTRA_CONFIG is passed after extra_config - extra_config="--enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')" + extra_config= + min_kernel_config="" + case "${CT_LIBC_GLIBC_EXTRA_CONFIG}" in + *enable-kernel*) ;; + *) if [ "${CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS}" = "y" \ + -o "${CT_LIBC_GLIBC_USE_HEADERS_MIN_KERNEL}" = "y" ]; then + min_kernel_config="--enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')" + fi + ;; + esac + extra_config="${extra_config} ${min_kernel_config}" case "${CT_THREADS}" in nptl) extra_config="${extra_config} --with-__thread --with-tls";; |