Allow to keep environment C/XXFLAGS with debug builds
authorRobin Gareus <robin@gareus.org>
Sun, 19 Feb 2017 15:01:25 +0000 (16:01 +0100)
committerRobin Gareus <robin@gareus.org>
Sun, 19 Feb 2017 15:01:25 +0000 (16:01 +0100)
this is needed for e.g. windows debug builds to pass mstackrealign

tools/x-win/compile.sh
wscript

index f21aec19b163d23212f898ba67d414bee63ed854..58350f9e62e729d65c7dbbf51baaf1e176eb38f0 100755 (executable)
@@ -67,6 +67,7 @@ export DLLTOOL=${XPREFIX}-dlltool
 CFLAGS="-mstackrealign" \
 CXXFLAGS="-mstackrealign" \
 LDFLAGS="-L${PREFIX}/lib" ./waf configure \
+       --keepflags \
        --dist-target=mingw \
        --also-include=${PREFIX}/include \
        $ARDOURCFG \
diff --git a/wscript b/wscript
index c2dcfd80f37091d99e10b60aa7cc9f43094847d0..9222b98d1729c3843487cfcf4da454143952eec5 100644 (file)
--- a/wscript
+++ b/wscript
@@ -716,6 +716,8 @@ def options(opt):
                    help='Build internal libs as static libraries')
     opt.add_option('--use-external-libs', action='store_true', default=False, dest='use_external_libs',
                    help='Use external/system versions of some bundled libraries')
+    opt.add_option('--keepflags', action='store_true', default=False, dest='keepflags',
+                    help='Do not ignore CFLAGS/CXXFLAGS environment vars')
     opt.add_option('--luadoc', action='store_true', default=False, dest='luadoc',
                     help='Compile Tool to dump LuaBindings (needs C++11)')
     opt.add_option('--canvasui', action='store_true', default=False, dest='canvasui',
@@ -808,7 +810,7 @@ def configure(conf):
         conf.env['MSVC_TARGETS'] = ['x64']
         conf.load('msvc')
 
-    if Options.options.debug:
+    if Options.options.debug and not Options.options.keepflags:
         # Nuke user CFLAGS/CXXFLAGS if debug is set (they likely contain -O3, NDEBUG, etc)
         conf.env['CFLAGS'] = []
         conf.env['CXXFLAGS'] = []