File disable-ffast-math.patch of Package soundtouch
-ffast-math changes the floating point rounding mode globally, which
is undesirable for shared libraries.
see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55522
for details.
Index: b/CMakeLists.txt
===================================================================
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,12 +9,7 @@ set(COMPILE_OPTIONS)
if(MSVC)
set(COMPILE_DEFINITIONS /O2 /fp:fast)
else()
- list(APPEND COMPILE_OPTIONS -Wall -Wextra -Wzero-as-null-pointer-constant -Wno-unknown-pragmas)
- if(EMSCRIPTEN)
- list(APPEND COMPILE_OPTIONS -O3)
- else()
- list(APPEND COMPILE_OPTIONS -Ofast)
- endif()
+ list(APPEND COMPILE_OPTIONS -Wall -Wextra -Wzero-as-null-pointer-constant -Wno-unknown-pragmas -O2)
endif()
#####################
Index: b/configure.ac
===================================================================
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ AC_LANG(C++)
# Compiler flags. Apply -Ofast (implies -O3 -ffast-math) to allow gcc autovectorization
# generate effective SIMD code.
-CXXFLAGS="${CXXFLAGS} -Ofast -Wall -Wextra -Wzero-as-null-pointer-constant -Wno-unknown-pragmas"
+CXXFLAGS="${CXXFLAGS} -O2 -Wall -Wextra -Wzero-as-null-pointer-constant -Wno-unknown-pragmas"
# Set AR_FLAGS to avoid build warning "ar: `u' modifier ignored since `D' is the default (see `U')"
AR_FLAGS='cr'