ALSA backend (based on Dummy backend and zita-alsa-pcmi)
[ardour.git] / libs / backends / wscript
index 36ef5c1ecd9c3d036c6af406f73e17a1ab65562e..d405751f78ff2e10f594ea8ee76a2186efbaac00 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,32 @@ 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 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.is_defined('HAVE_DUMMY'):
+        backends += [ 'dummy' ]
+
+    if re.search ("linux", sys.platform) != None:
+        if bld.is_defined('HAVE_ALSA'):
+            backends += [ 'alsa' ]
+
     for i in backends:
         bld.recurse(i)