summaryrefslogtreecommitdiff
path: root/scripts/build/libc/newlib.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build/libc/newlib.sh')
-rw-r--r--scripts/build/libc/newlib.sh17
1 files changed, 16 insertions, 1 deletions
diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh
index 7e11fcd..b073a75 100644
--- a/scripts/build/libc/newlib.sh
+++ b/scripts/build/libc/newlib.sh
@@ -59,6 +59,8 @@ do_libc_headers() {
}
do_libc_start_files() {
+ local -a newlib_opts
+
CT_DoStep INFO "Installing C library"
mkdir -p "${CT_BUILD_DIR}/build-libc"
@@ -66,6 +68,18 @@ do_libc_start_files() {
CT_DoLog EXTRA "Configuring C library"
+ if [ "${CT_LIBC_NEWLIB_IO_FLOAT}" = "y" ]; then
+ newlib_opts+=( "--enable-newlib-io-float" )
+ if [ "${CT_LIBC_NEWLIB_IO_LDBL}" = "y" ]; then
+ newlib_opts+=( "--enable-newlib-io-long-double" )
+ else
+ newlib_opts+=( "--disable-newlib-io-long-double" )
+ fi
+ else
+ newlib_opts+=( "--disable-newlib-io-float" )
+ newlib_opts+=( "--disable-newlib-io-long-double" )
+ fi
+
# Note: newlib handles the build/host/target a little bit differently
# than one would expect:
# build : not used
@@ -79,7 +93,8 @@ do_libc_start_files() {
"${CT_SRC_DIR}/newlib-$(libc_newlib_version)/configure" \
--host=${CT_BUILD} \
--target=${CT_TARGET} \
- --prefix=${CT_PREFIX_DIR}
+ --prefix=${CT_PREFIX_DIR} \
+ "${newlib_opts[@]}"
CT_DoLog EXTRA "Building C library"
CT_DoExecLog ALL make ${PARALLELMFLAGS}