config/libc/glibc-eglibc.in-common
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Dec 31 00:16:19 2010 +0100 (2010-12-31)
changeset 2251 1bd55a223113
parent 2180 d3af3efce68c
child 2289 165eff2a1e10
permissions -rw-r--r--
samples: update i686-nptl-linux-gnu

Enable Java and Fortran frontends.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     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_DISABLE_VERSIONING
    62     bool
    63     prompt "Disable symbols versioning"
    64     default n
    65     help
    66       Do not include versioning information in the library objects.
    67 
    68 config LIBC_OLDEST_ABI
    69     string
    70     prompt "Oldest supported ABI"
    71     default ""
    72     help
    73       Set the oldest ABI supported by the C library.
    74       
    75       Setting this option, for example, to 2.2 will provide ABI support
    76       back to (e)glibc-2.2.
    77 
    78       If this option is not set, (e)glibc will choose for you.
    79 
    80 config LIBC_GLIBC_USE_PORTS
    81     bool
    82     prompt "Use the ports addon"
    83     default n
    84     help
    85       The ports addon contains some architecture ports that are not available
    86       in the official distribution.
    87 
    88       For example, this is the case for ARM with glibc-2.4 and above.
    89 
    90       Say n only if you're sure that your architecture is in the official
    91       distribution for your chosen version.
    92 
    93 config LIBC_ADDONS_LIST
    94     string
    95     prompt "Extra addons"
    96     default ""
    97     help
    98       Extra addons to include. Space separated list.
    99 
   100       You need to specify neither linuxthreads nor nptl, as they are added
   101       automagically for you depending on the threading model you choosed
   102       earlier.
   103 
   104       Eg.: crypt        (for very old libces)
   105 
   106 if LIBC_GLIBC_USE_PORTS || ( LIBC_ADDONS_LIST != "" )
   107 comment "WARNING !!!                                            "
   108 comment "|  For glibc >= 2.8, it can happen that the tarballs    "
   109 comment "|  for the addons are not available for download.       "
   110 comment "|  If that happens, bad luck... Try a previous version  "
   111 comment "|  or try again later... :-(                            "
   112 endif
   113 
   114 if KERNEL_linux
   115 
   116 choice
   117     bool
   118     prompt "Minimum supported kernel version"
   119     default LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   120 
   121 config LIBC_GLIBC_KERNEL_VERSION_NONE
   122     bool
   123     prompt "Let ./configure decide"
   124     help
   125       Let ./configure decide what minimum kernel version glibc/eglibc
   126       will be able to run against.
   127       
   128       This will inclde legacy compatibility code for older kernels in
   129       the C library, thus ensuring that it will run on a large number
   130       of old kernels.
   131       
   132       The minimum kernel version supported will be dependent upon the
   133       target you build for. For example:
   134         alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
   135         sh[34]-*-linux-gnu      Requires Linux 2.6.11
   136         powerpc*                Requires Linux 2.4.19
   137         arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   138 
   139 config LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   140     bool
   141     prompt "Same as kernel headers (default)"
   142     help
   143       Normaly, you'll want glibc/eglibc to run against the same kernel
   144       version as the one used for the headers.
   145       
   146       This is the default.
   147       
   148       If enabled, crosstool-ng will use the chosen version of kernel
   149       headers for the glibc minimum kernel version supported, which is
   150       what gets passed to "--enable-kernel=" when configuring glibc.
   151       
   152       Enabling this will ensure that no legacy compatibility code for
   153       older kernels is built into your C libraries, but it will
   154       be unable to run on kernel versions older than whichever kernel
   155       headers version you've built the toolchain for.
   156       
   157       If you know for sure that your toolchain will never need to build
   158       applications that will run under a kernel version older than your
   159       chosen kernel headers version (CT_KERNEL_VERSION), you can choose
   160       "y" here.
   161 
   162 config LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   163     bool
   164     prompt "Specific kernel version"
   165     help
   166       Specify the earliest Linux kernel version you want glibc to
   167       include support for.  This does not have to match the kernel
   168       headers version used for your toolchain.  This controls what is
   169       passed to the "--enable-kernel=" option to the glibc configure
   170       script.
   171 
   172       If you want to be able to statically link programs with your
   173       toolchain's C library, make sure this kernel version is lower than
   174       all kernels you wish to support to avoid "FATAL: kernel too old"
   175       errors.  The higher the version you specify, the less legacy code
   176       will be built into libc.
   177 
   178       Most people can leave this at the default value of "2.6.9".
   179 
   180 if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   181 
   182 config LIBC_GLIBC_MIN_KERNEL_VERSION
   183     string
   184     prompt "Minimum kernel version to support"
   185     default "2.6.9"
   186     help
   187       Enter here the lowest kernel version glibc/eglibc will be able to
   188       run against.
   189       
   190       The minimum kernel version supported will be dependent upon the
   191       target you build for. For example:
   192         alpha*-*-linux-gnu      Requires Linux 2.6.9 for NPTL
   193         sh[34]-*-linux-gnu      Requires Linux 2.6.11
   194         powerpc*                Requires Linux 2.4.19
   195         arm*-*-linux-*gnueabi   Requires Linux 2.6.16
   196       
   197       Note that no sanity check is performed by crosstool-NG to ensure
   198       that the value you enter here is appropriate for your target.
   199 
   200 endif # LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   201 
   202 endchoice
   203 
   204 config LIBC_GLIBC_MIN_KERNEL
   205     string
   206     default ""                            if LIBC_GLIBC_KERNEL_VERSION_NONE
   207     default KERNEL_VERSION                if LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS
   208     default LIBC_GLIBC_MIN_KERNEL_VERSION if LIBC_GLIBC_KERNEL_VERSION_CHOSEN
   209 
   210 endif # KERNEL_linux
   211 
   212 endif # LIBC_glibc || LIBC_eglibc