config/libc/glibc-eglibc-common.in
changeset 852 c17bb66e2aa5
parent 810 5d357e239b62
child 861 5506fbbad59b
     1.1 --- a/config/libc/glibc-eglibc-common.in	Tue Aug 26 21:37:46 2008 +0000
     1.2 +++ b/config/libc/glibc-eglibc-common.in	Sun Sep 14 18:09:36 2008 +0000
     1.3 @@ -7,6 +7,8 @@
     1.4  # If mconf is updated to accept multiple inclusion of the same
     1.5  # file, then the symlink can go (and the includers be updated).
     1.6  
     1.7 +comment "glibc/eglibc common options"
     1.8 +
     1.9  config LIBC_GLIBC_EXTRA_CONFIG
    1.10      string
    1.11      prompt "extra config"
    1.12 @@ -68,30 +70,57 @@
    1.13  
    1.14        Eg.: crypt        (for very old libces)
    1.15  
    1.16 -config LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
    1.17 +if KERNEL_LINUX
    1.18 +
    1.19 +choice
    1.20      bool
    1.21 -    prompt "Use headers version for minimum kernel version supported"
    1.22 -    default y
    1.23 +    prompt "Minimum supported kernel version"
    1.24 +    default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
    1.25 +
    1.26 +config LIBC_GLIBC_KERNEL_VERSION_NONE
    1.27 +    bool
    1.28 +    prompt "Let ./configure decide"
    1.29      help
    1.30 +      Let ./configure decide what minimum kernel version glibc/eglibc
    1.31 +      will be able to run against.
    1.32 +      
    1.33 +      This will inclde legacy compatibility code for older kernels in
    1.34 +      the C library, thus ensuring that it will run on a large number
    1.35 +      of old kernels.
    1.36 +      
    1.37 +      The minimum kernel version supported will be dependent upon the
    1.38 +      target you build for. For example:
    1.39 +        alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
    1.40 +        sh[34]-*-linux-gnu      Requires Linux 2.6.11
    1.41 +        powerpc*                Requires Linux 2.4.19
    1.42 +        arm*-*-linux-*gnueabi   Requires Linux 2.6.16
    1.43 +
    1.44 +config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
    1.45 +    bool
    1.46 +    prompt "Same as kernel headers (default)"
    1.47 +    help
    1.48 +      Normaly, you'll want glibc/eglibc to run against the same kernel
    1.49 +      version as the one used for the headers.
    1.50 +      
    1.51 +      This is the default.
    1.52 +      
    1.53        If enabled, crosstool-ng will use the chosen version of kernel
    1.54        headers for the glibc minimum kernel version supported, which is
    1.55        what gets passed to "--enable-kernel=" when configuring glibc.
    1.56 -
    1.57 +      
    1.58        Enabling this will ensure that no legacy compatibility code for
    1.59        older kernels is built into your C libraries, but it will
    1.60        be unable to run on kernel versions older than whichever kernel
    1.61        headers version you've built the toolchain for.
    1.62 -
    1.63 +      
    1.64        If you know for sure that your toolchain will never need to build
    1.65        applications that will run under a kernel version older than your
    1.66        chosen kernel headers version (CT_KERNEL_VERSION), you can choose
    1.67        "y" here.
    1.68  
    1.69 -config LIBC_GLIBC_MIN_KERNEL_CHOSEN
    1.70 -    string
    1.71 -    prompt "Minimum kernel version supported"
    1.72 -    default "2.6.9"
    1.73 -    depends on ! LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
    1.74 +config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
    1.75 +    bool
    1.76 +    prompt "Specific kernel version"
    1.77      help
    1.78        Specify the earliest Linux kernel version you want glibc to
    1.79        include support for.  This does not have to match the kernel
    1.80 @@ -107,7 +136,34 @@
    1.81  
    1.82        Most people can leave this at the default value of "2.6.9".
    1.83  
    1.84 +if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
    1.85 +
    1.86 +config LIBC_GLIBC_MIN_KERNEL_VERSION
    1.87 +    string
    1.88 +    prompt "Minimum kernel version to support"
    1.89 +    default "2.6.9"
    1.90 +    help
    1.91 +      Enter here the lowest kernel version glibc/eglibc will be able to
    1.92 +      run against.
    1.93 +      
    1.94 +      The minimum kernel version supported will be dependent upon the
    1.95 +      target you build for. For example:
    1.96 +        alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
    1.97 +        sh[34]-*-linux-gnu      Requires Linux 2.6.11
    1.98 +        powerpc*                Requires Linux 2.4.19
    1.99 +        arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   1.100 +      
   1.101 +      Note that no sanity check is performed by crosstool-NG to ensure
   1.102 +      that the value you enter here is appropriate for your target.
   1.103 +
   1.104 +endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   1.105 +
   1.106 +endchoice
   1.107 +
   1.108  config LIBC_GLIBC_MIN_KERNEL
   1.109      string
   1.110 -    default KERNEL_VERSION if LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
   1.111 -    default LIBC_GLIBC_MIN_KERNEL_CHOSEN if ! LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
   1.112 +    default ""                            if LIBC_GLIBC_KERNEL_VERSION_NONE
   1.113 +    default KERNEL_VERSION                if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   1.114 +    default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
   1.115 +
   1.116 +endif # KERNEL_LINUX