summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Hundven <bryanhundven@gmail.com>2014-09-05 06:34:00 (GMT)
committerYann E. MORIN <yann.morin.1998@free.fr>2014-09-11 21:12:11 (GMT)
commitcb27b229749b338828ccff80e2895c4c957250ba (patch)
tree2b3f1cb7e133f1fff7d268d5971d7c04240e832b
parent0c6475957271be3ef18848652a417b809caa7da8 (diff)
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>
-rw-r--r--config/libc/musl.in.238
-rw-r--r--scripts/build/libc/musl.sh6
2 files changed, 43 insertions, 1 deletions
diff --git a/config/libc/musl.in.2 b/config/libc/musl.in.2
new file mode 100644
index 0000000..32e9013
--- /dev/null
+++ b/config/libc/musl.in.2
@@ -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
diff --git a/scripts/build/libc/musl.sh b/scripts/build/libc/musl.sh
index 7172cf2..6964a2d 100644
--- a/scripts/build/libc/musl.sh
+++ b/scripts/build/libc/musl.sh
@@ -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() {