config/libc/glibc-eglibc-common.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 14 16:21:07 2008 +0000 (2008-09-14)
changeset 850 ef8549b58b6f
parent 808 0949a87e1629
child 852 c17bb66e2aa5
permissions -rw-r--r--
Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

/trunk/scripts/build/kernel/none.sh | 77 6 71 0 +----
/trunk/scripts/build/cc/gcc.sh | 58 41 17 0 ++-
/trunk/scripts/build/libc/none.sh | 513 9 504 0 +-----------------------------
/trunk/scripts/crosstool.sh | 17 9 8 0 +
/trunk/scripts/functions | 6 4 2 0 +
/trunk/scripts/showSamples.sh | 6 3 3 0
/trunk/samples/arm-unknown-elf/crosstool.config | 225 225 0 0 +++++++++++++
/trunk/samples/arm-unknown-eabi/crosstool.config | 223 223 0 0 +++++++++++++
/trunk/config/kernel/linux_headers_install.in | 64 27 37 0 ++--
/trunk/config/kernel.in | 9 8 1 0 +
/trunk/config/toolchain.in | 1 1 0 0 +
/trunk/config/cc/gcc.in | 3 3 0 0 +
/trunk/config/debug/dmalloc.in | 1 1 0 0 +
/trunk/config/debug/gdb.in | 4 3 1 0 +
/trunk/config/debug/strace.in | 1 1 0 0 +
/trunk/config/debug/duma.in | 1 1 0 0 +
/trunk/config/cc.in | 8 8 0 0 +
/trunk/config/target.in | 13 13 0 0 +
/trunk/config/binutils.in | 1 1 0 0 +
/trunk/config/gmp_mpfr.in | 1 1 0 0 +
/trunk/config/libc.in | 17 11 6 0 +
/trunk/arch/arm/functions | 3 1 2 0 -
22 files changed, 600 insertions(+), 652 deletions(-)
yann@808
     1
# This file contains the common configuration options
yann@808
     2
# that apply to both glibc and eglibc.
yann@808
     3
#
yann@808
     4
# Please note:
yann@808
     5
# the symlink is a hack around the fact that mconf can not parse
yann@808
     6
# the same file more than once, and errors out if it is the case.
yann@808
     7
# If mconf is updated to accept multiple inclusion of the same
yann@808
     8
# file, then the symlink can go (and the includers be updated).
yann@808
     9
yann@808
    10
config LIBC_GLIBC_EXTRA_CONFIG
yann@808
    11
    string
yann@808
    12
    prompt "extra config"
yann@808
    13
    default ""
yann@808
    14
    help
yann@808
    15
      Extra flags to pass onto ./configure when configuring.
yann@808
    16
yann@808
    17
      Eg.: --enable-static-nss
yann@808
    18
yann@808
    19
config LIBC_GLIBC_EXTRA_CFLAGS
yann@808
    20
    string
yann@808
    21
    prompt "extra target CFLAGS"
yann@808
    22
    default ""
yann@808
    23
    help
yann@808
    24
      Extra target CFLAGS to use when building.
yann@808
    25
yann@808
    26
config LIBC_EXTRA_CC_ARGS
yann@808
    27
    string
yann@808
    28
    prompt "gcc extra flags"
yann@808
    29
    default ""
yann@808
    30
    help
yann@808
    31
      Extra flags to pass gcc when building.
yann@808
    32
yann@808
    33
      Seldom used, except for sparc64 which seems to need the flag -64
yann@808
    34
      to be passed onto gcc.
yann@808
    35
yann@808
    36
config LIBC_GLIBC_USE_PORTS
yann@808
    37
    bool
yann@808
    38
    prompt "Use the ports addon"
yann@808
    39
    default n
yann@808
    40
    help
yann@808
    41
      The ports addon contains some architecture ports that are not available
yann@808
    42
      in the official distribution.
yann@808
    43
yann@808
    44
      For example, this is the case for ARM with for 2.4 and above.
yann@808
    45
yann@808
    46
      Say n only if you're sure that your architecture is in the official
yann@808
    47
      distribution for your chosen version.
yann@808
    48
yann@808
    49
config LIBC_ADDONS
yann@808
    50
    bool
yann@808
    51
    prompt "Pass extra addons list"
yann@808
    52
    default n
yann@808
    53
    help
yann@808
    54
      If you say Y here, you'll be able to give the list of addons you want to
yann@808
    55
      include in your C library.
yann@808
    56
yann@808
    57
config LIBC_ADDONS_LIST
yann@808
    58
    string
yann@808
    59
    prompt "Extra addons"
yann@808
    60
    default ""
yann@808
    61
    depends on LIBC_ADDONS
yann@808
    62
    help
yann@808
    63
      Extra addons to include. Space separated list.
yann@808
    64
yann@808
    65
      You need to specify neither linuxthreads nor nptl, as they are added
yann@808
    66
      automagically for you depending on the threading model you choosed
yann@808
    67
      earlier.
yann@808
    68
yann@808
    69
      Eg.: crypt        (for very old libces)
yann@810
    70
yann@810
    71
config LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
yann@810
    72
    bool
yann@810
    73
    prompt "Use headers version for minimum kernel version supported"
yann@810
    74
    default y
yann@810
    75
    help
yann@810
    76
      If enabled, crosstool-ng will use the chosen version of kernel
yann@810
    77
      headers for the glibc minimum kernel version supported, which is
yann@810
    78
      what gets passed to "--enable-kernel=" when configuring glibc.
yann@810
    79
yann@810
    80
      Enabling this will ensure that no legacy compatibility code for
yann@810
    81
      older kernels is built into your C libraries, but it will
yann@810
    82
      be unable to run on kernel versions older than whichever kernel
yann@810
    83
      headers version you've built the toolchain for.
yann@810
    84
yann@810
    85
      If you know for sure that your toolchain will never need to build
yann@810
    86
      applications that will run under a kernel version older than your
yann@810
    87
      chosen kernel headers version (CT_KERNEL_VERSION), you can choose
yann@810
    88
      "y" here.
yann@810
    89
yann@810
    90
config LIBC_GLIBC_MIN_KERNEL_CHOSEN
yann@810
    91
    string
yann@810
    92
    prompt "Minimum kernel version supported"
yann@810
    93
    default "2.6.9"
yann@810
    94
    depends on ! LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
yann@810
    95
    help
yann@810
    96
      Specify the earliest Linux kernel version you want glibc to
yann@810
    97
      include support for.  This does not have to match the kernel
yann@810
    98
      headers version used for your toolchain.  This controls what is
yann@810
    99
      passed to the "--enable-kernel=" option to the glibc configure
yann@810
   100
      script.
yann@810
   101
yann@810
   102
      If you want to be able to statically link programs with your
yann@810
   103
      toolchain's C library, make sure this kernel version is lower than
yann@810
   104
      all kernels you wish to support to avoid "FATAL: kernel too old"
yann@810
   105
      errors.  The higher the version you specify, the less legacy code
yann@810
   106
      will be built into libc.
yann@810
   107
yann@810
   108
      Most people can leave this at the default value of "2.6.9".
yann@810
   109
yann@810
   110
config LIBC_GLIBC_MIN_KERNEL
yann@810
   111
    string
yann@810
   112
    default KERNEL_VERSION if LIBC_GLIBC_USE_HEADERS_MIN_KERNEL
yann@810
   113
    default LIBC_GLIBC_MIN_KERNEL_CHOSEN if ! LIBC_GLIBC_USE_HEADERS_MIN_KERNEL