summaryrefslogtreecommitdiff
path: root/wscript
diff options
context:
space:
mode:
authorNils Philippsen <nils@tiptoe.de>2013-10-28 09:32:37 +0100
committerNils Philippsen <nils@tiptoe.de>2013-10-28 09:32:37 +0100
commit85a277c6a38e888136e7924459a5ea95f8518525 (patch)
treee26549b011cad414ba59bedd9564e4c86b6e8af2 /wscript
parent1c2de76991fea2859cbca00e472a66704d2ef292 (diff)
allow overriding optimization flags completely
If an optimization level ("-O<something>") is present in the argument for --arch, do not prepend default optimization flags.
Diffstat (limited to 'wscript')
-rw-r--r--wscript23
1 files changed, 16 insertions, 7 deletions
diff --git a/wscript b/wscript
index 3d016326d5..de83023783 100644
--- a/wscript
+++ b/wscript
@@ -303,13 +303,22 @@ def set_compiler_flags (conf,opt):
# prepend boiler plate optimization flags that work on all architectures
#
- optimization_flags[:0] = [
- "-O3",
- "-fomit-frame-pointer",
- "-ffast-math",
- "-fstrength-reduce",
- "-pipe"
- ]
+ optimization_flags[:0] = ["-pipe"]
+
+ # don't prepend optimization flags if "-O<something>" is present
+ prepend_opt_flags = True
+ for flag in optimization_flags:
+ if flag.startswith("-O"):
+ prepend_opt_flags = False
+ break
+
+ if prepend_opt_flags:
+ optimization_flags[:0] = [
+ "-O3",
+ "-fomit-frame-pointer",
+ "-ffast-math",
+ "-fstrength-reduce"
+ ]
if opt.debug:
conf.env.append_value('CFLAGS', debug_flags)