config/libc/glibc-eglibc.in-common
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Jan 11 22:47:58 2010 +0100 (2010-01-11)
changeset 1759 2e4f5f564362
parent 1627 8aa1d1051a6a
child 2180 d3af3efce68c
permissions -rw-r--r--
libc/glibc: get rid of the now obsolete CVS stuff

It's now been a while that glibc switched to git from cvs.
Get rid of cvs to download glibc; this will make for a good
cleanup before we add git support! :-)
     1 # This file contains the common configuration options
     2 # that apply to both glibc and eglibc.
     3 
     4 if LIBC_glibc || LIBC_eglibc
     5 
     6 # Some architectures require the ports addon. List them one by one here:
     7 # This list must be carefully in sync with the architectures names
     8 # we can find in config/arch/*
     9 
    10 config ARCH_arm
    11     select LIBC_GLIBC_USE_PORTS
    12 
    13 config ARCH_mips
    14     select LIBC_GLIBC_USE_PORTS
    15 
    16 # End of arch-specific ports auto-select
    17 
    18 comment "glibc/eglibc common options"
    19 
    20 config LIBC_GLIBC_EXTRA_CONFIG
    21     string
    22     prompt "extra config"
    23     default ""
    24     help
    25       Extra flags to pass onto ./configure when configuring.
    26 
    27       Eg.: --enable-static-nss
    28 
    29 config LIBC_GLIBC_CONFIGPARMS
    30     string
    31     prompt "Extra config params (READ HELP)"
    32     default "" if ! ARCH_sh
    33     default "no-z-defs=yes" if ARCH_sh
    34     help
    35       Some architectures need to set options in the file configparms.
    36       This is the case for sh3/4, which really need to set configparms
    37       to "no-z-defs=yes" as of gcc-3.4/glibc-2.3.2.
    38       
    39       Unless you are building a toolchain for sh3/4, you should leave that empty.
    40       
    41       Note: If you need to pass more than one value, separate them with
    42             '\n'. Eg.:  var1=val1\nvar2=val2
    43 
    44 config LIBC_GLIBC_EXTRA_CFLAGS
    45     string
    46     prompt "extra target CFLAGS"
    47     default ""
    48     help
    49       Extra target CFLAGS to use when building.
    50 
    51 config LIBC_EXTRA_CC_ARGS
    52     string
    53     prompt "gcc extra flags"
    54     default ""
    55     help
    56       Extra flags to pass gcc when building.
    57 
    58       Seldom used, except for sparc64 which seems to need the flag -64
    59       to be passed onto gcc.
    60 
    61 config LIBC_GLIBC_USE_PORTS
    62     bool
    63     prompt "Use the ports addon"
    64     default n
    65     help
    66       The ports addon contains some architecture ports that are not available
    67       in the official distribution.
    68 
    69       For example, this is the case for ARM with glibc-2.4 and above.
    70 
    71       Say n only if you're sure that your architecture is in the official
    72       distribution for your chosen version.
    73 
    74 config LIBC_ADDONS_LIST
    75     string
    76     prompt "Extra addons"
    77     default ""
    78     help
    79       Extra addons to include. Space separated list.
    80 
    81       You need to specify neither linuxthreads nor nptl, as they are added
    82       automagically for you depending on the threading model you choosed
    83       earlier.
    84 
    85       Eg.: crypt        (for very old libces)
    86 
    87 if LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" )
    88 comment "WARNING !!!                                            "
    89 comment "|  For glibc >= 2.8, it can happen that the tarballs    "
    90 comment "|  for the addons are not available for download.       "
    91 comment "|  If that happens, bad luck... Try a previous version  "
    92 comment "|  or try again later... :-(                            "
    93 endif
    94 
    95 if KERNEL_linux
    96 
    97 choice
    98     bool
    99     prompt "Minimum supported kernel version"
   100     default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   101 
   102 config LIBC_GLIBC_KERNEL_VERSION_NONE
   103     bool
   104     prompt "Let ./configure decide"
   105     help
   106       Let ./configure decide what minimum kernel version glibc/eglibc
   107       will be able to run against.
   108       
   109       This will inclde legacy compatibility code for older kernels in
   110       the C library, thus ensuring that it will run on a large number
   111       of old kernels.
   112       
   113       The minimum kernel version supported will be dependent upon the
   114       target you build for. For example:
   115         alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
   116         sh[34]-*-linux-gnu      Requires Linux 2.6.11
   117         powerpc*                Requires Linux 2.4.19
   118         arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   119 
   120 config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   121     bool
   122     prompt "Same as kernel headers (default)"
   123     help
   124       Normaly, you'll want glibc/eglibc to run against the same kernel
   125       version as the one used for the headers.
   126       
   127       This is the default.
   128       
   129       If enabled, crosstool-ng will use the chosen version of kernel
   130       headers for the glibc minimum kernel version supported, which is
   131       what gets passed to "--enable-kernel=" when configuring glibc.
   132       
   133       Enabling this will ensure that no legacy compatibility code for
   134       older kernels is built into your C libraries, but it will
   135       be unable to run on kernel versions older than whichever kernel
   136       headers version you've built the toolchain for.
   137       
   138       If you know for sure that your toolchain will never need to build
   139       applications that will run under a kernel version older than your
   140       chosen kernel headers version (CT_KERNEL_VERSION), you can choose
   141       "y" here.
   142 
   143 config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   144     bool
   145     prompt "Specific kernel version"
   146     help
   147       Specify the earliest Linux kernel version you want glibc to
   148       include support for.  This does not have to match the kernel
   149       headers version used for your toolchain.  This controls what is
   150       passed to the "--enable-kernel=" option to the glibc configure
   151       script.
   152 
   153       If you want to be able to statically link programs with your
   154       toolchain's C library, make sure this kernel version is lower than
   155       all kernels you wish to support to avoid "FATAL: kernel too old"
   156       errors.  The higher the version you specify, the less legacy code
   157       will be built into libc.
   158 
   159       Most people can leave this at the default value of "2.6.9".
   160 
   161 if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   162 
   163 config LIBC_GLIBC_MIN_KERNEL_VERSION
   164     string
   165     prompt "Minimum kernel version to support"
   166     default "2.6.9"
   167     help
   168       Enter here the lowest kernel version glibc/eglibc will be able to
   169       run against.
   170       
   171       The minimum kernel version supported will be dependent upon the
   172       target you build for. For example:
   173         alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
   174         sh[34]-*-linux-gnu      Requires Linux 2.6.11
   175         powerpc*                Requires Linux 2.4.19
   176         arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   177       
   178       Note that no sanity check is performed by crosstool-NG to ensure
   179       that the value you enter here is appropriate for your target.
   180 
   181 endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   182 
   183 endchoice
   184 
   185 config LIBC_GLIBC_MIN_KERNEL
   186     string
   187     default ""                            if LIBC_GLIBC_KERNEL_VERSION_NONE
   188     default KERNEL_VERSION                if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   189     default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   190 
   191 endif # KERNEL_linux
   192 
   193 endif # LIBC_glibc || LIBC_eglibc