Add a missing #define to our MSVC project (portaudio_backend)
[ardour.git] / wscript
diff --git a/wscript b/wscript
index 4b52f2b0ce93ddb9ec3b714d62e39d9021c636df..9222b98d1729c3843487cfcf4da454143952eec5 100644 (file)
--- a/wscript
+++ b/wscript
@@ -357,6 +357,8 @@ int main() { return 0; }''',
             conf.env['build_host'] = 'yosemite'
         elif re.search ("^15[.]", version) != None:
             conf.env['build_host'] = 'el_capitan'
+        elif re.search ("^16[.]", version) != None:
+            conf.env['build_host'] = 'sierra'
         else:
             conf.env['build_host'] = 'irrelevant'
 
@@ -380,8 +382,10 @@ int main() { return 0; }''',
                 conf.env['build_target'] = 'mavericks'
             elif re.search ("^14[.]", version) != None:
                 conf.env['build_target'] = 'yosemite'
-            else:
+            elif re.search ("^15[.]", version) != None:
                 conf.env['build_target'] = 'el_capitan'
+            else:
+                conf.env['build_target'] = 'sierra'
         else:
             match = re.search(
                     "(?P<cpu>i[0-6]86|x86_64|powerpc|ppc|ppc64|arm|s390x?)",
@@ -402,11 +406,11 @@ int main() { return 0; }''',
         #
         compiler_flags.append ('-U__STRICT_ANSI__')
 
-    if opt.use_libcpp or conf.env['build_host'] in [ 'el_capitan' ]:
+    if opt.use_libcpp or conf.env['build_host'] in [ 'el_capitan', 'sierra' ]:
        cxx_flags.append('--stdlib=libc++')
        linker_flags.append('--stdlib=libc++')
 
-    if conf.options.cxx11 or conf.env['build_host'] in [ 'mavericks', 'yosemite', 'el_capitan' ]:
+    if conf.options.cxx11 or conf.env['build_host'] in [ 'mavericks', 'yosemite', 'el_capitan', 'sierra' ]:
         conf.check_cxx(cxxflags=["-std=c++11"])
         cxx_flags.append('-std=c++11')
         if platform == "darwin":
@@ -414,7 +418,7 @@ int main() { return 0; }''',
             # from requiring a full path to requiring just the header name.
             cxx_flags.append('-DCARBON_FLAT_HEADERS')
 
-            if not opt.use_libcpp and not conf.env['build_host'] in [ 'el_capitan' ]:
+            if not opt.use_libcpp and not conf.env['build_host'] in [ 'el_capitan', 'sierra' ]:
                 cxx_flags.append('--stdlib=libstdc++')
                 linker_flags.append('--stdlib=libstdc++')
             # Prevents visibility issues in standard headers
@@ -423,7 +427,7 @@ int main() { return 0; }''',
             cxx_flags.append('-DBOOST_NO_AUTO_PTR')
 
 
-    if (is_clang and platform == "darwin") or conf.env['build_host'] in ['mavericks', 'yosemite', 'el_capitan']:
+    if (is_clang and platform == "darwin") or conf.env['build_host'] in [ 'mavericks', 'yosemite', 'el_capitan', 'sierra' ]:
         # Silence warnings about the non-existing osx clang compiler flags
         # -compatibility_version and -current_version.  These are Waf
         # generated and not needed with clang
@@ -539,6 +543,11 @@ int main() { return 0; }''',
                 ("-DMAC_OS_X_VERSION_MAX_ALLOWED=1090",
                  "-mmacosx-version-min=10.8"))
 
+    elif conf.env['build_target'] in [ 'sierra' ]:
+        compiler_flags.extend(
+                ("-DMAC_OS_X_VERSION_MAX_ALLOWED=1090",
+                 "-mmacosx-version-min=10.9"))
+
     #
     # save off CPU element in an env
     #
@@ -707,8 +716,12 @@ 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',
+                    help='Compile libcanvas test GUI')
     opt.add_option('--lv2', action='store_true', default=True, dest='lv2',
                     help='Compile with support for LV2 (if Lilv+Suil is available)')
     opt.add_option('--no-lv2', action='store_false', dest='lv2',
@@ -797,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'] = []
@@ -932,6 +945,10 @@ def configure(conf):
             print ('No Carbon support available for this build\n')
 
 
+    if Options.options.canvasui:
+        conf.env['CANVASTESTUI'] = True
+        conf.define ('CANVASTESTUI', 1)
+
     if Options.options.luadoc:
         conf.env['LUABINDINGDOC'] = True
         conf.define ('LUABINDINGDOC', 1)
@@ -1138,8 +1155,10 @@ int main () { return 0; }
     if opts.no_threaded_waveviews:
         conf.define('NO_THREADED_WAVEVIEWS', 1)
         conf.env['NO_THREADED_WAVEVIEWS'] = True
-        
+
     backends = opts.with_backends.split(',')
+    if opts.build_tests and 'dummy' not in backends:
+        backends += ['dummy']
 
     if not backends:
         print("Must configure and build at least one backend")
@@ -1168,7 +1187,9 @@ int main () { return 0; }
 
     if sys.platform == 'darwin':
         sub_config_and_use(conf, 'libs/appleutility')
-    elif Options.options.dist_target != 'mingw' and re.search ("openbsd", sys.platform) == None:
+    elif re.search ("openbsd", sys.platform) != None:
+        pass
+    elif Options.options.dist_target != 'mingw':
         sub_config_and_use(conf, 'tools/sanity_check')
         sub_config_and_use(conf, 'tools/gccabicheck')
 
@@ -1207,6 +1228,7 @@ const char* const ardour_config_info = "\\n\\
     write_config_text('AudioUnits',            conf.is_defined('AUDIOUNIT_SUPPORT'))
     write_config_text('Free/Demo copy',        conf.is_defined('FREEBIE'))
     write_config_text('Build target',          conf.env['build_target'])
+    write_config_text('Canvas Test UI',        conf.is_defined('CANVASTESTUI'))
     write_config_text('CoreAudio',             conf.is_defined('HAVE_COREAUDIO'))
     write_config_text('CoreAudio 10.5 compat', conf.is_defined('COREAUDIO105'))
     write_config_text('Debug RT allocations',  conf.is_defined('DEBUG_RT_ALLOC'))
@@ -1293,7 +1315,9 @@ def build(bld):
 
     if sys.platform == 'darwin':
         bld.recurse('libs/appleutility')
-    elif bld.env['build_target'] != 'mingw' and re.search ("openbsd", sys.platform) == None:
+    elif re.search ("openbsd", sys.platform) != None:
+        pass
+    elif bld.env['build_target'] != 'mingw':
         bld.recurse('tools/sanity_check')
         bld.recurse('tools/gccabicheck')
 
@@ -1325,3 +1349,7 @@ def tarball(bld):
 
 def test(bld):
     subprocess.call("gtk2_ardour/artest")
+
+def help2man(bld):
+    cmd = "help2man -s 1 -N -o ardour.1 -n Ardour --version-string='Ardour %s' gtk2_ardour/ardev" % PROGRAM_VERSION
+    subprocess.call(cmd, shell=True)