# uClibc second-part option

if THREADS_LT && !LIBC_UCLIBC_NG_1_0_15_or_later

choice
    bool
    prompt "Linuxthread implementation: "
    default LIBC_UCLIBC_LNXTHRD_OLD

config LIBC_UCLIBC_LNXTHRD_OLD
    bool
    prompt "old/stable"
    help
      From the uClibc config option help:
        There are two versions of linuxthreads.  The older (stable) version
        has been in uClibc for quite a long time but hasn't seen too many
        updates other than bugfixes.

config LIBC_UCLIBC_LNXTHRD_NEW
    bool
    prompt "new"
    help
      From the uClibc config option help:
        The new version has not been tested much, and lacks ports for arches
        which glibc does not support (like frv, etc...), but is based on
        the latest code from glibc, so it may be the only choice for the
        newer ports (like alpha/amd64/64bit arches and hppa).

endchoice

endif # THREADS_LT

# uClibc-ng 1.0.15 did away with 2 implementations of linuxthreads
config LIBC_UCLIBC_LNXTHRD
    string
    default ""      if THREADS_NONE
    default ""      if THREADS_NATIVE
    default ""      if LIBC_UCLIBC_NG_1_0_15_or_later
    default "old"   if LIBC_UCLIBC_LNXTHRD_OLD
    default "new"   if LIBC_UCLIBC_LNXTHRD_NEW

config LIBC_UCLIBC_LOCALES
    bool
    select LIBC_UCLIBC_WCHAR
    prompt "Add support for locales"
    help
      Say y if you want uClibc to support localisation.

      Note that seems to be broken on recent uClibc releases.

config LIBC_UCLIBC_LOCALES_PREGEN_DATA
    bool
    prompt "Use pregen locales"
    depends on LIBC_UCLIBC_LOCALES
    depends on ! LIBC_UCLIBC_NG
    default y
    help
      If you see issues with using pre-generated locales data,
      you can try switching this off.

      If so, please report the issue, so we can default this
      to off if too many people complain.

config LIBC_UCLIBC_IPV6
    bool
    prompt "Add support for IPv6"
    help
      Say y if you want uClibc to support IPv6.

config LIBC_UCLIBC_WCHAR
    bool
    prompt "Add support for WCHAR"
    help
      Say y if you want uClibc to support WCHAR.

      Maybe this is needed, if you're building a C++-Compiler

config LIBC_UCLIBC_FENV
    bool
    prompt "Add support for fenv.h"
    default y if ARCH_x86
    help
      fenv.h provides functions to control the floating point environment,
      such as rounding mode, exceptions...

      For some architectures, fenv.h is incomplete, so is not installed
      by default. x86 is known to have a rather complete fenv.h, so it is
      installed by default only for x86.

      If you need fenv.h on other architectures, say 'y' here, but you may
      encounter some issues.

config LIBC_UCLIBC_RPC
    bool
    prompt "Add support for RPC"
    help
      Enable support for remote procedure calls (RPC) in uClibc.

if ARCH_arm
config LIBC_UCLIBC_USE_GNU_SUFFIX
    bool
    default y
    prompt "Use -uclibcgnueabi suffix"
    help
      Depending on where the resulting toolchain will be used, you may need
      to tweak the "system" part of the target tuple. Buildroot prefers
      to have arm-*-linux-uclibcgnueabi; OpenEmbedded prefers
      arm-*-linux-uclibceabi. Other tools seem to either accept both, or
      don't care about the suffix.
endif
