config/libc/glibc-eglibc.in-common
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Oct 20 09:50:45 2008 +0000 (2008-10-20)
changeset 949 513d1a0c021a
parent 922 3f0456891349
child 1110 c404a78bd790
child 1212 9daa58864b8b
permissions -rw-r--r--
Offer a single option for the glibc/eglibc add-ons selection, rather than hiding it behind a toggle.
If the list is empty, then there is no add-on. If the list is not empty, then there are add-ons.

/trunk/config/libc/glibc-eglibc.in-common | 9 0 9 0 ---------
1 file changed, 9 deletions(-)
     1 # This file contains the common configuration options
     2 # that apply to both glibc and eglibc.
     3 #
     4 # Please note:
     5 # the symlink is a hack around the fact that mconf can not parse
     6 # the same file more than once, and errors out if it is the case.
     7 # If mconf is updated to accept multiple inclusion of the same
     8 # file, then the symlink can go (and the includers be updated).
     9 
    10 comment "glibc/eglibc common options"
    11 
    12 config LIBC_GLIBC_EXTRA_CONFIG
    13     string
    14     prompt "extra config"
    15     default ""
    16     help
    17       Extra flags to pass onto ./configure when configuring.
    18 
    19       Eg.: --enable-static-nss
    20 
    21 config LIBC_GLIBC_EXTRA_CFLAGS
    22     string
    23     prompt "extra target CFLAGS"
    24     default ""
    25     help
    26       Extra target CFLAGS to use when building.
    27 
    28 config LIBC_EXTRA_CC_ARGS
    29     string
    30     prompt "gcc extra flags"
    31     default ""
    32     help
    33       Extra flags to pass gcc when building.
    34 
    35       Seldom used, except for sparc64 which seems to need the flag -64
    36       to be passed onto gcc.
    37 
    38 config LIBC_GLIBC_USE_PORTS
    39     bool
    40     prompt "Use the ports addon"
    41     default n
    42     help
    43       The ports addon contains some architecture ports that are not available
    44       in the official distribution.
    45 
    46       For example, this is the case for ARM with for 2.4 and above.
    47 
    48       Say n only if you're sure that your architecture is in the official
    49       distribution for your chosen version.
    50 
    51 config LIBC_ADDONS_LIST
    52     string
    53     prompt "Extra addons"
    54     default ""
    55     help
    56       Extra addons to include. Space separated list.
    57 
    58       You need to specify neither linuxthreads nor nptl, as they are added
    59       automagically for you depending on the threading model you choosed
    60       earlier.
    61 
    62       Eg.: crypt        (for very old libces)
    63 
    64 if KERNEL_linux
    65 
    66 choice
    67     bool
    68     prompt "Minimum supported kernel version"
    69     default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
    70 
    71 config LIBC_GLIBC_KERNEL_VERSION_NONE
    72     bool
    73     prompt "Let ./configure decide"
    74     help
    75       Let ./configure decide what minimum kernel version glibc/eglibc
    76       will be able to run against.
    77       
    78       This will inclde legacy compatibility code for older kernels in
    79       the C library, thus ensuring that it will run on a large number
    80       of old kernels.
    81       
    82       The minimum kernel version supported will be dependent upon the
    83       target you build for. For example:
    84         alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
    85         sh[34]-*-linux-gnu      Requires Linux 2.6.11
    86         powerpc*                Requires Linux 2.4.19
    87         arm*-*-linux-*gnueabi   Requires Linux 2.6.16
    88 
    89 config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
    90     bool
    91     prompt "Same as kernel headers (default)"
    92     help
    93       Normaly, you'll want glibc/eglibc to run against the same kernel
    94       version as the one used for the headers.
    95       
    96       This is the default.
    97       
    98       If enabled, crosstool-ng will use the chosen version of kernel
    99       headers for the glibc minimum kernel version supported, which is
   100       what gets passed to "--enable-kernel=" when configuring glibc.
   101       
   102       Enabling this will ensure that no legacy compatibility code for
   103       older kernels is built into your C libraries, but it will
   104       be unable to run on kernel versions older than whichever kernel
   105       headers version you've built the toolchain for.
   106       
   107       If you know for sure that your toolchain will never need to build
   108       applications that will run under a kernel version older than your
   109       chosen kernel headers version (CT_KERNEL_VERSION), you can choose
   110       "y" here.
   111 
   112 config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   113     bool
   114     prompt "Specific kernel version"
   115     help
   116       Specify the earliest Linux kernel version you want glibc to
   117       include support for.  This does not have to match the kernel
   118       headers version used for your toolchain.  This controls what is
   119       passed to the "--enable-kernel=" option to the glibc configure
   120       script.
   121 
   122       If you want to be able to statically link programs with your
   123       toolchain's C library, make sure this kernel version is lower than
   124       all kernels you wish to support to avoid "FATAL: kernel too old"
   125       errors.  The higher the version you specify, the less legacy code
   126       will be built into libc.
   127 
   128       Most people can leave this at the default value of "2.6.9".
   129 
   130 if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   131 
   132 config LIBC_GLIBC_MIN_KERNEL_VERSION
   133     string
   134     prompt "Minimum kernel version to support"
   135     default "2.6.9"
   136     help
   137       Enter here the lowest kernel version glibc/eglibc will be able to
   138       run against.
   139       
   140       The minimum kernel version supported will be dependent upon the
   141       target you build for. For example:
   142         alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
   143         sh[34]-*-linux-gnu      Requires Linux 2.6.11
   144         powerpc*                Requires Linux 2.4.19
   145         arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   146       
   147       Note that no sanity check is performed by crosstool-NG to ensure
   148       that the value you enter here is appropriate for your target.
   149 
   150 endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   151 
   152 endchoice
   153 
   154 config LIBC_GLIBC_MIN_KERNEL
   155     string
   156     default ""                            if LIBC_GLIBC_KERNEL_VERSION_NONE
   157     default KERNEL_VERSION                if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   158     default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
   159 
   160 endif # KERNEL_linux