ALSABackend: elaborate on start-up error cases
[ardour.git] / libs / backends / wscript
index 36ef5c1ecd9c3d036c6af406f73e17a1ab65562e..7f3dcaef289e5e5f77b6385d65b1a4bf681d357b 100644 (file)
@@ -1,17 +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', 'dummy' ]
-
-if sys.platform == 'darwin':
-    backends += ['wavesaudio' ]
-
 def options(opt):
     autowaf.set_options(opt)
 
@@ -23,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)