config/libc/glibc-eglibc.in-common
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat May 02 22:07:25 2009 +0000 (2009-05-02)
changeset 1314 34d1b285c5db
parent 1232 80c5723e06fc
child 1315 655ee0516997
permissions -rw-r--r--
Force getting glibc>=2.8 via checkout if any addon is selected.

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