libc/newlib: add option to compile support for float IOs

Adds support to enable/disable IOs of floating point values
(float, double, and long double).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This commit is contained in:
Yann E. MORIN" 2010-10-23 00:54:46 +02:00
parent 09bab58031
commit d7e88461e6
2 changed files with 33 additions and 1 deletions

17
config/libc/newlib.in.2 Normal file
View File

@ -0,0 +1,17 @@
# newlib second-part options
config LIBC_NEWLIB_IO_FLOAT
bool
prompt "Enable IOs on floats and doubles"
default n
help
Enable support for IOs on floating point
values (float and double).
config LIBC_NEWLIB_IO_LDBL
bool
prompt "Enable IOs on long doubles"
default n
depends on LIBC_NEWLIB_IO_FLOAT
help
Enable support for IOs on long doubles.

View File

@ -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}