config/libc.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 815 6236ce3be104
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(-)
     1 # C library options
     2 
     3 config LIBC
     4     string
     5     default "none"   if BARE_METAL
     6     default "glibc"  if LIBC_GLIBC
     7     default "eglibc" if LIBC_EGLIBC
     8     default "uClibc" if LIBC_UCLIBC
     9 
    10 if ! BARE_METAL
    11 
    12 menu "C-library"
    13 
    14 choice
    15     bool
    16     prompt "C-library to use:"
    17     default LIBC_GLIBC
    18 
    19 config LIBC_GLIBC
    20     bool
    21     prompt "glibc"
    22     select LIBC_SUPPORT_NPTL
    23     select LIBC_SUPPORT_LINUXTHREADS
    24 
    25 if LIBC_GLIBC
    26 source config/libc/glibc.in
    27 endif
    28 
    29 config LIBC_EGLIBC
    30     bool
    31     prompt "eglibc (EXPERIMENTAL)"
    32     select LIBC_SUPPORT_NPTL
    33     select LIBC_SUPPORT_LINUXTHREADS
    34     depends on EXPERIMENTAL
    35     help
    36       EGLIBC (Embedded GLIBC) is a variant of the standard GNU GLIBC
    37       that is designed to work well on embedded systems.  EGLIBC strives
    38       to be source and binary compatible with GLIBC.  Its goals include
    39       a reduced footprint, configurable components, and improved
    40       cross-compilation support.  EGLIBC also includes some embedded ports
    41       (such as e500/spe) that are normally separate add-ons of GLIBC.
    42 
    43 if LIBC_EGLIBC
    44 source config/libc/eglibc.in
    45 endif
    46 
    47 config LIBC_UCLIBC
    48     bool
    49     prompt "uClibc"
    50     select LIBC_SUPPORT_LINUXTHREADS
    51 
    52 if LIBC_UCLIBC
    53 source config/libc/uClibc.in
    54 endif
    55 
    56 endchoice
    57 
    58 config LIBC_VERSION
    59     string
    60 
    61 config LIBC_SUPPORT_NPTL
    62     bool
    63     default n
    64 
    65 config LIBC_SUPPORT_LINUXTHREADS
    66     bool
    67     default n
    68 
    69 choice
    70     bool
    71     prompt "Threading implementation to use:"
    72     default THREADS_NPTL           if LIBC_SUPPORT_NPTL
    73     default THREADS_LINUXTHREADS   if LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
    74     default THREADS_NONE           if ! LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
    75 
    76 config THREADS_NPTL
    77     bool
    78     prompt "nptl"
    79     depends on LIBC_SUPPORT_NPTL
    80 
    81 config THREADS_LINUXTHREADS
    82     bool
    83     prompt "linuxthreads"
    84     depends on LIBC_SUPPORT_LINUXTHREADS
    85 
    86 config THREADS_NONE
    87     bool
    88     prompt "none"
    89 
    90 endchoice
    91 
    92 config THREADS
    93     string
    94     default "nptl"          if THREADS_NPTL
    95     default "linuxthreads"  if THREADS_LINUXTHREADS
    96     default "none"          if THREADS_NONE
    97 
    98 config LIBC_VERSION
    99     help
   100       Enter the date of the snapshot you want to use in the form: YYYYMMDD
   101       where YYYY is the 4-digit year, MM the 2-digit month and DD the 2-digit
   102       day in the month.
   103       
   104       Please note:
   105       - glibc has snapshots done every monday, and only the last ten are kept.
   106       - uClibc has daily snapshots, and only the last 30-or-so are kept.
   107       
   108       So if you want to be able to re-build your toolchain later, you will
   109       have to save your C library tarball by yourself.
   110 
   111 endmenu
   112 
   113 endif # ! BARE_METAL