config/libc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Dec 12 22:18:52 2010 +0100 (2010-12-12)
changeset 2215 bd86485d966a
parent 2182 032ae3253a65
child 2484 d1a8c2ae7946
permissions -rw-r--r--
libc: hide no-thread for those C libraries that do not support it

Building non-threaded glibc has been unsupported for a long time, now:
http://sourceware.org/ml/libc-alpha/2005-08/msg00091.html

As eglibc is a spin-off of glibc: ditto.

So do not offer that possibility in the menuconfig.
Thanks to Thomas Petazzoni for spotting, and helping to solve, the issue!

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # C library options
     2 
     3 menu "C-library"
     4 
     5 config LIBC
     6     string
     7 
     8 config LIBC_VERSION
     9     string
    10     help
    11       Enter the date of the snapshot you want to use in the form: YYYYMMDD
    12       where YYYY is the 4-digit year, MM the 2-digit month and DD the 2-digit
    13       day in the month.
    14       
    15       Please note:
    16       - glibc has snapshots done every monday, and only the last ten are kept.
    17       - uClibc has daily snapshots, and only the last 30-or-so are kept.
    18       
    19       So if you want to be able to re-build your toolchain later, you will
    20       have to save your C library tarball by yourself.
    21 
    22 source "config.gen/libc.in"
    23 
    24 config LIBC_SUPPORT_THREADS_ANY
    25     bool
    26     default n
    27 
    28 config LIBC_SUPPORT_NPTL
    29     bool
    30     default n
    31     select LIBC_SUPPORT_THREADS_ANY
    32 
    33 config LIBC_SUPPORT_LINUXTHREADS
    34     bool
    35     default n
    36     select LIBC_SUPPORT_THREADS_ANY
    37 
    38 config LIBC_SUPPORT_WIN32THREADS
    39     bool
    40     default n
    41     select LIBC_SUPPORT_THREADS_ANY
    42 
    43 config LIBC_SUPPORT_THREADS_NONE
    44     bool
    45     default n
    46 
    47 config THREADS
    48     string
    49     default "nptl"          if THREADS_NPTL
    50     default "linuxthreads"  if THREADS_LINUXTHREADS
    51     default "win32"         if THREADS_WIN32THREADS
    52     default "none"          if THREADS_NONE || LIBC_none
    53 #                              No C library, no threads!
    54 
    55 if ! LIBC_none
    56 
    57 comment "Common C library options"
    58 
    59 choice
    60     bool
    61     prompt "Threading implementation to use:"
    62     default THREADS_NPTL           if LIBC_SUPPORT_NPTL
    63     default THREADS_LINUXTHREADS   if LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
    64     default THREADS_WIN32          if LIBC_SUPPORT_WIN32THREADS
    65     default THREADS_NONE           if ! LIBC_SUPPORT_THREADS_ANY
    66 
    67 config THREADS_NPTL
    68     bool
    69     prompt "nptl"
    70     depends on LIBC_SUPPORT_NPTL
    71 
    72 config THREADS_LINUXTHREADS
    73     bool
    74     prompt "linuxthreads"
    75     depends on LIBC_SUPPORT_LINUXTHREADS
    76 
    77 config THREADS_WIN32THREADS
    78     bool
    79     prompt "win32"
    80     depends on LIBC_SUPPORT_WIN32THREADS
    81 
    82 config THREADS_NONE
    83     bool
    84     prompt "none"
    85     depends on LIBC_SUPPORT_THREADS_NONE
    86 
    87 endchoice
    88 
    89 config LIBC_XLDD
    90     bool
    91     prompt "Install a cross ldd-like helper"
    92     depends on SHARED_LIBS
    93     depends on ! BARE_METAL
    94     default y
    95     help
    96       Say 'Y' here if you want to have a ldd-like helper that
    97       you can run on your build system, and that will (try to)
    98       resolve shared libraries dependencies as if run on the
    99       target.
   100       
   101       Note that the cross-ldd helper is not a full replacement
   102       for the native ldd. Please see the help, by running it
   103       with '--help' for more explanations.
   104 
   105 source "config.gen/libc.in.2"
   106 
   107 endif # ! LIBC_none
   108 
   109 endmenu