yann@1: # C library options yann@1: yann@850: config LIBC yann@850: string yann@850: default "none" if BARE_METAL yann@850: default "glibc" if LIBC_GLIBC yann@850: default "eglibc" if LIBC_EGLIBC yann@850: default "uClibc" if LIBC_UCLIBC yann@850: yann@850: if ! BARE_METAL yann@850: yann@1: menu "C-library" yann@1: yann@1: choice yann@1: bool yann@1: prompt "C-library to use:" yann@1: default LIBC_GLIBC yann@1: yann@1: config LIBC_GLIBC yann@1: bool yann@1: prompt "glibc" yann@95: select LIBC_SUPPORT_NPTL yann@95: select LIBC_SUPPORT_LINUXTHREADS yann@1: yann@802: if LIBC_GLIBC yann@802: source config/libc/glibc.in yann@802: endif yann@802: yann@787: config LIBC_EGLIBC yann@787: bool yann@787: prompt "eglibc (EXPERIMENTAL)" yann@787: select LIBC_SUPPORT_NPTL yann@787: select LIBC_SUPPORT_LINUXTHREADS yann@787: depends on EXPERIMENTAL yann@815: help yann@815: EGLIBC (Embedded GLIBC) is a variant of the standard GNU GLIBC yann@815: that is designed to work well on embedded systems. EGLIBC strives yann@815: to be source and binary compatible with GLIBC. Its goals include yann@815: a reduced footprint, configurable components, and improved yann@815: cross-compilation support. EGLIBC also includes some embedded ports yann@815: (such as e500/spe) that are normally separate add-ons of GLIBC. yann@787: yann@802: if LIBC_EGLIBC yann@802: source config/libc/eglibc.in yann@802: endif yann@802: yann@1: config LIBC_UCLIBC yann@1: bool yann@1: prompt "uClibc" yann@95: select LIBC_SUPPORT_LINUXTHREADS yann@1: yann@802: if LIBC_UCLIBC yann@802: source config/libc/uClibc.in yann@802: endif yann@802: yann@1: endchoice yann@1: yann@1: config LIBC_VERSION yann@1: string yann@1: yann@95: config LIBC_SUPPORT_NPTL yann@95: bool yann@95: default n yann@95: yann@95: config LIBC_SUPPORT_LINUXTHREADS yann@95: bool yann@95: default n yann@95: yann@802: choice yann@802: bool yann@802: prompt "Threading implementation to use:" yann@802: default THREADS_NPTL if LIBC_SUPPORT_NPTL yann@802: default THREADS_LINUXTHREADS if LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL yann@802: default THREADS_NONE if ! LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL yann@1: yann@802: config THREADS_NPTL yann@802: bool yann@802: prompt "nptl" yann@802: depends on LIBC_SUPPORT_NPTL yann@787: yann@802: config THREADS_LINUXTHREADS yann@802: bool yann@802: prompt "linuxthreads" yann@802: depends on LIBC_SUPPORT_LINUXTHREADS yann@802: yann@802: config THREADS_NONE yann@802: bool yann@802: prompt "none" yann@802: yann@802: endchoice yann@802: yann@802: config THREADS yann@802: string yann@802: default "nptl" if THREADS_NPTL yann@802: default "linuxthreads" if THREADS_LINUXTHREADS yann@802: default "none" if THREADS_NONE yann@1: yann@710: config LIBC_VERSION yann@710: help yann@710: Enter the date of the snapshot you want to use in the form: YYYYMMDD yann@710: where YYYY is the 4-digit year, MM the 2-digit month and DD the 2-digit yann@710: day in the month. yann@710: yann@710: Please note: yann@710: - glibc has snapshots done every monday, and only the last ten are kept. yann@710: - uClibc has daily snapshots, and only the last 30-or-so are kept. yann@710: yann@710: So if you want to be able to re-build your toolchain later, you will yann@793: have to save your C library tarball by yourself. yann@710: yann@1: endmenu yann@850: yann@850: endif # ! BARE_METAL