config/libc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Sep 23 14:48:10 2008 +0000 (2008-09-23)
changeset 872 fd4bf138f08f
parent 850 ef8549b58b6f
child 922 3f0456891349
permissions -rw-r--r--
Bart De VOS pointed out that removing absolute paths from the libc linker scripts is plainly wrong.
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.

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