diff options
Diffstat (limited to 'scripts/build/libc/glibc-eglibc.sh-common')
-rw-r--r-- | scripts/build/libc/glibc-eglibc.sh-common | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/scripts/build/libc/glibc-eglibc.sh-common b/scripts/build/libc/glibc-eglibc.sh-common index 0748bb95..2533f14f 100644 --- a/scripts/build/libc/glibc-eglibc.sh-common +++ b/scripts/build/libc/glibc-eglibc.sh-common @@ -77,6 +77,7 @@ do_libc_backend() { local -a extra_config local -a extra_make_args local glibc_cflags + local float_extra while [ $# -ne 0 ]; do eval "${1// /\\ }" @@ -135,10 +136,19 @@ do_libc_backend() { *) extra_config+=("--disable-shared");; esac - case "${CT_ARCH_FLOAT}" in + float_extra="$( echo "${extra_flags}" \ + |${sed} -r -e '/^(.*[[:space:]])?-m(hard|soft)-float([[:space:]].*)?$/!d;' \ + -e 's//\2/;' \ + )" + case "${float_extra}" in hard) extra_config+=("--with-fp");; soft) extra_config+=("--without-fp");; - softfp) extra_config+=("--with-fp");; + "") + case "${CT_ARCH_FLOAT}" in + hard|softfp) extra_config+=("--with-fp");; + soft) extra_config+=("--without-fp");; + esac + ;; esac if [ "${CT_LIBC_DISABLE_VERSIONING}" = "y" ]; then |