scripts/build/libc/glibc.sh
changeset 852 c17bb66e2aa5
parent 850 ef8549b58b6f
child 872 fd4bf138f08f
     1.1 --- a/scripts/build/libc/glibc.sh	Sun Sep 14 16:21:07 2008 +0000
     1.2 +++ b/scripts/build/libc/glibc.sh	Sun Sep 14 18:09:36 2008 +0000
     1.3 @@ -89,9 +89,21 @@
     1.4      addons_config="${addons_config//linuxthreads/}"
     1.5      addons_config=$(echo "${addons_config}" |sed -r -e 's/^,+//; s/,+$//; s/,+/,/g;')
     1.6  
     1.7 +    extra_config="${addons_config}"
     1.8 +    min_kernel_config=
     1.9 +    case "${CT_LIBC_GLIBC_EXTRA_CONFIG}" in
    1.10 +        *enable-kernel*) ;;
    1.11 +        *)  if [    "${CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS}" = "y" \
    1.12 +                 -o "${CT_LIBC_GLIBC_USE_HEADERS_MIN_KERNEL}" = "y"    ]; then
    1.13 +                min_kernel_config="--enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')"
    1.14 +            fi
    1.15 +            ;;
    1.16 +    esac
    1.17 +    extra_config="${extra_config} ${min_kernel_config}"
    1.18 +
    1.19      cross_cc=$(CT_Which "${CT_TARGET}-gcc")
    1.20      CT_DoLog DEBUG "Using gcc for target: '${cross_cc}'"
    1.21 -    CT_DoLog DEBUG "Extra config passed : '${addons_config}'"
    1.22 +    CT_DoLog DEBUG "Extra config passed : '${extra_config}'"
    1.23  
    1.24      libc_cv_ppc_machine=yes                     \
    1.25      CC=${cross_cc}                              \
    1.26 @@ -104,7 +116,7 @@
    1.27          --without-cvs                           \
    1.28          --disable-sanity-checks                 \
    1.29          --enable-hacker-mode                    \
    1.30 -        ${addons_config}                        \
    1.31 +        ${extra_config}                         \
    1.32          --without-nptl
    1.33  
    1.34      CT_DoLog EXTRA "Installing C library headers"
    1.35 @@ -208,11 +220,17 @@
    1.36      CT_DoLog EXTRA "Configuring C library"
    1.37  
    1.38      # Add some default glibc config options if not given by user.
    1.39 -    extra_config=""
    1.40 +    extra_config=
    1.41 +    min_kernel_config=
    1.42      case "${CT_LIBC_GLIBC_EXTRA_CONFIG}" in
    1.43          *enable-kernel*) ;;
    1.44 -        *) extra_config="${extra_config} --enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')"
    1.45 +        *)  if [    "${CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS}" = "y" \
    1.46 +                 -o "${CT_LIBC_GLIBC_USE_HEADERS_MIN_KERNEL}" = "y"    ]; then
    1.47 +                min_kernel_config="--enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')"
    1.48 +            fi
    1.49 +            ;;
    1.50      esac
    1.51 +    extra_config="${extra_config} ${min_kernel_config}"
    1.52      case "${CT_LIBC_GLIBC_EXTRA_CONFIG}" in
    1.53          *-tls*) ;;
    1.54          *) extra_config="${extra_config} --with-tls"
    1.55 @@ -314,7 +332,17 @@
    1.56      # We don't need to be conditional on wether the user did set different
    1.57      # values, as they CT_LIBC_GLIBC_EXTRA_CONFIG is passed after extra_config
    1.58  
    1.59 -    extra_config="--enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')"
    1.60 +    extra_config=
    1.61 +    min_kernel_config=""
    1.62 +    case "${CT_LIBC_GLIBC_EXTRA_CONFIG}" in
    1.63 +        *enable-kernel*) ;;
    1.64 +        *)  if [    "${CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS}" = "y" \
    1.65 +                 -o "${CT_LIBC_GLIBC_USE_HEADERS_MIN_KERNEL}" = "y"    ]; then
    1.66 +                min_kernel_config="--enable-kernel=$(echo ${CT_LIBC_GLIBC_MIN_KERNEL} |sed -r -e 's/^([^.]+\.[^.]+\.[^.]+)(|\.[^.]+)$/\1/;')"
    1.67 +            fi
    1.68 +            ;;
    1.69 +    esac
    1.70 +    extra_config="${extra_config} ${min_kernel_config}"
    1.71  
    1.72      case "${CT_THREADS}" in
    1.73          nptl)           extra_config="${extra_config} --with-__thread --with-tls";;