config/libc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Dec 22 18:21:51 2008 +0000 (2008-12-22)
changeset 1105 3ba2a43353df
parent 852 c17bb66e2aa5
child 1178 41a84f7d3b4f
permissions -rw-r--r--
Rationalise ./configure
- borrow a lot of ideas from Michael ABBOTT ( http://sourceware.org/ml/crossgcc/2008-12/msg00030.html )
- should be conforming to POSIX 1003.1-2008, non compliance due to bashsims is to be considered a bug
- as a result, it now works with dash
- make a little easier to read in some places
- enforce 4-space indentation
- get rid of futile 'return $?'
- quote all variables assignments
- save and restore IFS prior to and after using alternate values
- simplify the TOOLS_TO_CHECK listing

What's left:
- provide a mean to actually _compare_ version numbers
- change the TOOLS_TO_CHECK pattern style to be able to use '|' in regexp

/trunk/configure | 243 127 116 0 ++++++++++++++++++++++++++++++++------------------------------
1 file changed, 127 insertions(+), 116 deletions(-)
yann@1
     1
# C library options
yann@1
     2
yann@850
     3
config LIBC
yann@850
     4
    string
yann@922
     5
    default "none" if BARE_METAL
yann@850
     6
yann@850
     7
if ! BARE_METAL
yann@850
     8
yann@1
     9
menu "C-library"
yann@1
    10
yann@852
    11
config LIBC_VERSION
yann@852
    12
    string
yann@852
    13
    help
yann@852
    14
      Enter the date of the snapshot you want to use in the form: YYYYMMDD
yann@852
    15
      where YYYY is the 4-digit year, MM the 2-digit month and DD the 2-digit
yann@852
    16
      day in the month.
yann@852
    17
      
yann@852
    18
      Please note:
yann@852
    19
      - glibc has snapshots done every monday, and only the last ten are kept.
yann@852
    20
      - uClibc has daily snapshots, and only the last 30-or-so are kept.
yann@852
    21
      
yann@852
    22
      So if you want to be able to re-build your toolchain later, you will
yann@852
    23
      have to save your C library tarball by yourself.
yann@852
    24
yann@922
    25
source config.gen/libc.in
yann@1
    26
yann@852
    27
comment "Common C library options"
yann@1
    28
yann@95
    29
config LIBC_SUPPORT_NPTL
yann@95
    30
    bool
yann@95
    31
    default n
yann@95
    32
yann@95
    33
config LIBC_SUPPORT_LINUXTHREADS
yann@95
    34
    bool
yann@95
    35
    default n
yann@95
    36
yann@852
    37
config THREADS
yann@852
    38
    string
yann@852
    39
    default "nptl"          if THREADS_NPTL
yann@852
    40
    default "linuxthreads"  if THREADS_LINUXTHREADS
yann@852
    41
    default "none"          if THREADS_NONE
yann@852
    42
yann@802
    43
choice
yann@802
    44
    bool
yann@802
    45
    prompt "Threading implementation to use:"
yann@802
    46
    default THREADS_NPTL           if LIBC_SUPPORT_NPTL
yann@802
    47
    default THREADS_LINUXTHREADS   if LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
yann@802
    48
    default THREADS_NONE           if ! LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
yann@1
    49
yann@802
    50
config THREADS_NPTL
yann@802
    51
    bool
yann@802
    52
    prompt "nptl"
yann@802
    53
    depends on LIBC_SUPPORT_NPTL
yann@787
    54
yann@802
    55
config THREADS_LINUXTHREADS
yann@802
    56
    bool
yann@802
    57
    prompt "linuxthreads"
yann@802
    58
    depends on LIBC_SUPPORT_LINUXTHREADS
yann@802
    59
yann@802
    60
config THREADS_NONE
yann@802
    61
    bool
yann@802
    62
    prompt "none"
yann@802
    63
yann@802
    64
endchoice
yann@802
    65
yann@852
    66
# Hack: mconf does not allow to include a file multiple times,
yann@852
    67
# so include glibc and eglibc common options from here, rather
yann@852
    68
# than from each config files.
yann@922
    69
if LIBC_glibc || LIBC_eglibc
yann@922
    70
source config/libc/glibc-eglibc.in-common
yann@852
    71
endif
yann@710
    72
yann@1
    73
endmenu
yann@850
    74
yann@850
    75
endif # ! BARE_METAL