summaryrefslogtreecommitdiffstats
path: root/platform
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2024-07-23 08:52:40 +0300
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2024-07-23 14:33:51 +0300
commit52a2836861a4e544ce58908c50e457b18656239e (patch)
treee272babae0fe3dedd85fc64213c0e277507f8d6c /platform
parent4e5ed0bbfb56f0a71eb61c868f965476652c23df (diff)
downloadredot-engine-52a2836861a4e544ce58908c50e457b18656239e.tar.gz
Disable FP contraction.
Diffstat (limited to 'platform')
-rw-r--r--platform/android/detect.py2
-rw-r--r--platform/linuxbsd/detect.py2
-rw-r--r--platform/macos/detect.py2
-rw-r--r--platform/windows/detect.py4
4 files changed, 10 insertions, 0 deletions
diff --git a/platform/android/detect.py b/platform/android/detect.py
index 0b182aca90..0a10754e24 100644
--- a/platform/android/detect.py
+++ b/platform/android/detect.py
@@ -190,6 +190,8 @@ def configure(env: "SConsEnvironment"):
env.Append(CCFLAGS=["-mfix-cortex-a53-835769"])
env.Append(CPPDEFINES=["__ARM_ARCH_8A__"])
+ env.Append(CCFLAGS=["-ffp-contract=off"])
+
# Link flags
env.Append(LINKFLAGS="-Wl,--gc-sections -Wl,--no-undefined -Wl,-z,now".split())
diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py
index 303a88ab26..d1de760f34 100644
--- a/platform/linuxbsd/detect.py
+++ b/platform/linuxbsd/detect.py
@@ -179,6 +179,8 @@ def configure(env: "SConsEnvironment"):
env.Append(CCFLAGS=["-fsanitize-recover=memory"])
env.Append(LINKFLAGS=["-fsanitize=memory"])
+ env.Append(CCFLAGS=["-ffp-contract=off"])
+
# LTO
if env["lto"] == "auto": # Full LTO for production.
diff --git a/platform/macos/detect.py b/platform/macos/detect.py
index 70cb00c6ff..1ce7c86c7b 100644
--- a/platform/macos/detect.py
+++ b/platform/macos/detect.py
@@ -96,6 +96,8 @@ def configure(env: "SConsEnvironment"):
env.Append(CCFLAGS=["-arch", "x86_64", "-mmacosx-version-min=10.13"])
env.Append(LINKFLAGS=["-arch", "x86_64", "-mmacosx-version-min=10.13"])
+ env.Append(CCFLAGS=["-ffp-contract=off"])
+
cc_version = get_compiler_version(env)
cc_version_major = cc_version["apple_major"]
cc_version_minor = cc_version["apple_minor"]
diff --git a/platform/windows/detect.py b/platform/windows/detect.py
index 3671bbef08..bfbf7d3ebc 100644
--- a/platform/windows/detect.py
+++ b/platform/windows/detect.py
@@ -467,6 +467,8 @@ def configure_msvc(env: "SConsEnvironment", vcvars_msvc_config):
if env["arch"] == "x86_32":
env["x86_libtheora_opt_vc"] = True
+ env.Append(CCFLAGS=["/fp:strict"])
+
env.AppendUnique(CCFLAGS=["/Gd", "/GR", "/nologo"])
env.AppendUnique(CCFLAGS=["/utf-8"]) # Force to use Unicode encoding.
env.AppendUnique(CXXFLAGS=["/TP"]) # assume all sources are C++
@@ -675,6 +677,8 @@ def configure_mingw(env: "SConsEnvironment"):
if env["arch"] in ["x86_32", "x86_64"]:
env["x86_libtheora_opt_gcc"] = True
+ env.Append(CCFLAGS=["-ffp-contract=off"])
+
mingw_bin_prefix = get_mingw_bin_prefix(env["mingw_prefix"], env["arch"])
if env["use_llvm"]: