ALSABackend: elaborate on start-up error cases
[ardour.git] / libs / backends / wscript
index b8779b7713ac4d39743beb6f491eabfed411efdd..7f3dcaef289e5e5f77b6385d65b1a4bf681d357b 100644 (file)
@@ -1,13 +1,14 @@
 #!/usr/bin/env python
 from waflib.extras import autowaf as autowaf
+from waflib import Options
 import os
+import sys
+import re
 
 # Mandatory variables
 top = '.'
 out = 'build'
 
-backends = [ 'jack' ]
-
 def options(opt):
     autowaf.set_options(opt)
 
@@ -19,9 +20,33 @@ def configure(conf):
     autowaf.set_recursive()
     autowaf.configure(conf)
 
+    backends = [ 'jack' ]
+
+    if sys.platform == 'darwin' or sys.platform == 'mingw' or sys.platform == 'msvc':
+        backends += [ 'wavesaudio' ]
+
+    if Options.options.build_dummy: 
+        backends += [ 'dummy' ]
+
+    if Options.options.build_alsabackend:
+        if re.search ("linux", sys.platform) != None:
+            backends += [ 'alsa' ]
+
     for i in backends:
         sub_config_and_use(conf, i)
 
 def build(bld):
+    backends = [ 'jack' ]
+
+    if sys.platform == 'darwin' or sys.platform == 'mingw' or sys.platform == 'msvc':
+        backends += [ 'wavesaudio' ]
+
+    if bld.env['BUILD_DUMMYBACKEND']:
+        backends += [ 'dummy' ]
+
+    if re.search ("linux", sys.platform) != None:
+        if bld.env['BUILD_ALSABACKEND'] and bld.is_defined('HAVE_ALSA'):
+            backends += [ 'alsa' ]
+
     for i in backends:
         bld.recurse(i)