libc/musl: Add options for optimization

This commit adds configuration knobs for optimizing musl-libc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Bryan Hundven 2014-09-04 23:34:00 -07:00 committed by Yann E. MORIN
parent 0c64759572
commit cb27b22974
2 changed files with 43 additions and 1 deletions

38
config/libc/musl.in.2 Normal file
View File

@ -0,0 +1,38 @@
# musl second-part option
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

View File

@ -37,6 +37,7 @@ do_libc_check_config() {
do_libc_configure() {
CT_DoLog EXTRA "Configuring C library"
local -a extra_cflags
local -a extra_config
# From buildroot:
# gcc constant folding bug with weak aliases workaround
@ -45,6 +46,8 @@ do_libc_configure() {
extra_cflags+=("-fno-toplevel-reorder")
fi
extra_config+=( "--enable-optimize=${CT_LIBC_MUSL_OPTIMIZE}" )
# NOTE: musl handles the build/host/target a little bit differently
# then one would expect:
# build : not used
@ -57,7 +60,8 @@ do_libc_configure() {
--host="${CT_TARGET}" \
--target="${CT_TARGET}" \
--prefix="/usr" \
--disable-gcc-wrapper
--disable-gcc-wrapper \
"${extra_config[@]}"
}
do_libc_start_files() {