Răsfoiți Sursa

Increase compiler optimization when using `target=release` on iOS/Android

(cherry picked from commit 78b4ec2d4d0d6233ca0f4d8cfeb74640063e970f)
Hugo Locurcio 3 ani în urmă
părinte
comite
0df7aa1e2c
2 a modificat fișierele cu 10 adăugiri și 4 ștergeri
  1. 5 2
      platform/android/detect.py
  2. 5 2
      platform/iphone/detect.py

+ 5 - 2
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"])

+ 5 - 2
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"])