From c0c4418ce790df36738222b2f1ec2682124cec57 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Mon, 18 Apr 2022 21:04:24 +0200 Subject: [PATCH] Increase compiler optimization when using `target=release` on iOS/Android (cherry picked from commit 78b4ec2d4d0d6233ca0f4d8cfeb74640063e970f) --- platform/android/detect.py | 7 +++++-- platform/iphone/detect.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/platform/android/detect.py b/platform/android/detect.py index af8b4c4bb..509ba5d3f 100644 --- a/platform/android/detect.py +++ b/platform/android/detect.py @@ -193,8 +193,11 @@ def configure(env): if env["target"].startswith("release"): if env["optimize"] == "speed": # optimize for speed (default) - env.Append(LINKFLAGS=["-O2"]) - env.Append(CCFLAGS=["-O2", "-fomit-frame-pointer"]) + # `-O2` is more friendly to debuggers than `-O3`, leading to better crash backtraces + # when using `target=release_debug`. + opt = "-O3" if env["target"] == "release" else "-O2" + env.Append(LINKFLAGS=[opt]) + env.Append(CCFLAGS=[opt, "-fomit-frame-pointer"]) elif env["optimize"] == "size": # optimize for size env.Append(CCFLAGS=["-Os"]) env.Append(LINKFLAGS=["-Os"]) diff --git a/platform/iphone/detect.py b/platform/iphone/detect.py index e292d6a51..1dd6eab22 100644 --- a/platform/iphone/detect.py +++ b/platform/iphone/detect.py @@ -51,8 +51,11 @@ def configure(env): if env["target"].startswith("release"): env.Append(CPPDEFINES=["NDEBUG", ("NS_BLOCK_ASSERTIONS", 1)]) if env["optimize"] == "speed": # optimize for speed (default) - env.Append(CCFLAGS=["-O2", "-ftree-vectorize", "-fomit-frame-pointer"]) - env.Append(LINKFLAGS=["-O2"]) + # `-O2` is more friendly to debuggers than `-O3`, leading to better crash backtraces + # when using `target=release_debug`. + opt = "-O3" if env["target"] == "release" else "-O2" + env.Append(CCFLAGS=[opt, "-ftree-vectorize", "-fomit-frame-pointer"]) + env.Append(LINKFLAGS=[opt]) elif env["optimize"] == "size": # optimize for size env.Append(CCFLAGS=["-Os", "-ftree-vectorize"]) env.Append(LINKFLAGS=["-Os"])