diff --git a/config/libc/uClibc.in.2 b/config/libc/uClibc.in.2 index e2769e76..c1a84f9f 100644 --- a/config/libc/uClibc.in.2 +++ b/config/libc/uClibc.in.2 @@ -65,3 +65,18 @@ config LIBC_UCLIBC_WCHAR Say y if you want uClibc to support WCHAR. Maybe this is needed, if you're building a C++-Compiler + +config LIBC_UCLIBC_FENV + bool + prompt "Add support for fenv.h" + default y if ARCH_x86 + help + fenv.h provides functions to control the floating point environment, + such as rounding mode, exceptions... + + For some architectures, fenv.h is incomplete, so is not installed + by default. x86 is known to have a rather complete fenv.h, so it is + installed by default only for x86. + + If you need fenv.h on other architectures, say 'y' here, but you may + encounter some issues. diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh index 87fd3f62..f0522abd 100644 --- a/scripts/build/libc/uClibc.sh +++ b/scripts/build/libc/uClibc.sh @@ -315,13 +315,6 @@ mungeuClibcConfig() { ;; esac ;; - x86) - if [ "${CT_ARCH_BITNESS}" = "32" ]; then - cat <<-ENDSED - s/.*(UCLIBC_HAS_FENV).*/\\1=y/ - ENDSED - fi - ;; esac # Accomodate for old and new uClibc versions, where the @@ -374,6 +367,11 @@ mungeuClibcConfig() { ENDSED ;; esac + if [ "${CT_LIBC_UCLIBC_FENV}" = "y" ]; then + cat <<-ENDSED + s/.*(UCLIBC_HAS_FENV).*/\\1=y/ + ENDSED + fi # We always want ctor/dtor cat <<-ENDSED