# musl second-part option

## depends on ! WINDOWS && ! BARE_METAL
## depends on EXPERIMENTAL
## select LIBC_SUPPORT_THREADS_NATIVE
## select CC_CORE_NEEDED

## help Musl is a new standard library to power a new generation of Linux-based
## help devices. musl is lightweight, fast, simple, free, and strives to be
## help correct in the sense of standards-conformance and safety.

# TBD why? it claims "native", why report "musl"?
config THREADS
    default "musl"

config LIBC_MUSL_DEBUG
    bool
    prompt "Build with debugging information"
    help
      This option enables debugging information, this will increase the size of
      the resulting library.

config LIBC_MUSL_WARNINGS
    bool
    prompt "Build with recommended warnings flags"
    help
      Build musl-libc with extra warnings, useful for musl-libc development.

choice
    prompt "How to optimize musl-libc"
    default LIBC_MUSL_OPTIMIZE_AUTO

config LIBC_MUSL_OPTIMIZE_NONE
    bool
    prompt "Do not optimize musl-libc"
    help
      This option sets `--enable-optimize=no' to disable optimization.

config LIBC_MUSL_OPTIMIZE_AUTO
    bool
    prompt "Use musl-libc's automatic optimization"
    help
      This option sets `--enable-optimize=auto' to automatically set optimization.

config LIBC_MUSL_OPTIMIZE_SPEED
    bool
    prompt "Optimize musl-libc for speed"
    help
      This option sets `--enable-optimize=yes' to set optimization to -O3 for speed.

config LIBC_MUSL_OPTIMIZE_SIZE
    bool
    prompt "Optimize musl-libc for size"
    help
      This option sets `--enable-optimize=size' to set optimization to -Os for size.

endchoice

config LIBC_MUSL_OPTIMIZE
    string
    default "no"   if LIBC_MUSL_OPTIMIZE_NONE
    default "auto" if LIBC_MUSL_OPTIMIZE_AUTO
    default "yes"  if LIBC_MUSL_OPTIMIZE_SPEED
    default "size" if LIBC_MUSL_OPTIMIZE_SIZE

config LIBC_MUSL_EXTRA_CFLAGS
    string
    prompt "extra target CFLAGS"
    default ""
    help
      Extra target CFLAGS to use when building.
