merge with master, primarily for adrian's maximise-mixer change
[ardour.git] / libs / vamp-plugins / wscript
index ae4a6ae1a8a616b1be7e686f17e947045dbac4b2..4808d33612d98ec48bf6e0788b41355fe8d5e1fd 100644 (file)
@@ -1,5 +1,6 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
+import os
 
 # Version of this package (even if built as a child)
 LIBARDOURVAMPPLUGINS_VERSION = '0.0.0'
@@ -15,40 +16,46 @@ APPNAME = 'libardourvampplugins'
 VERSION = LIBARDOURVAMPPLUGINS_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
-       autowaf.set_options(opt)
+def options(opt):
+    autowaf.set_options(opt)
 
 def configure(conf):
-       autowaf.configure(conf)
-       autowaf.check_tool(conf, 'compiler_cxx')
-       autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True)
-       autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', mandatory=False)
+    conf.load('compiler_cxx')
+    autowaf.configure(conf)
+    autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True)
+    autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO',
+                      atleast_version='0.3.2')
+    autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO4',
+                      atleast_version='0.4.0', mandatory=False)
+    conf.write_config_header('libvampplugins-config.h', remove=False)
 
 def build(bld):
-       # Library
-       obj = bld.new_task_gen('cxx', 'shlib')
-       obj.source = '''
-               plugins.cpp
-               AmplitudeFollower.cpp
-               PercussionOnsetDetector.cpp
-               SpectralCentroid.cpp
-               ZeroCrossing.cpp
-       '''
-       obj.export_incdirs = ['.']
-       obj.includes     = ['.']
-       obj.name         = 'libardourvampplugins'
-       obj.target       = 'ardourvampplugins'
-       obj.uselib       = 'FFTW3F'
-       obj.uselib_local = 'libvampplugin'
-       if bld.env['HAVE_AUBIO']:
-               obj.source += ' Onset.cpp '
-               obj.uselib += ' AUBIO '
-       obj.vnum         = LIBARDOURVAMPPLUGINS_LIB_VERSION
-       obj.install_path = ''
-       
-def shutdown():
-       autowaf.shutdown()
+    # Library
+    obj = bld(features = 'cxx cxxshlib')
+    obj.source = '''
+            plugins.cpp
+            AmplitudeFollower.cpp
+            OnsetDetect.cpp
+            PercussionOnsetDetector.cpp
+            SpectralCentroid.cpp
+            ZeroCrossing.cpp
+    '''
+    obj.export_includes = ['.']
+    obj.includes     = ['.']
+    obj.name         = 'libardourvampplugins'
+    obj.target       = 'ardourvampplugins'
+    obj.uselib       = 'FFTW3F VAMPSDK'
+    obj.use          = 'libvampplugin libqmdsp'
+    obj.defines      = [ 'ARDOUR_VAMP_PLUGINS_DLL_EPORTS' ]
+    autowaf.ensure_visible_symbols (obj, True)
+    if bld.is_defined('HAVE_AUBIO'):
+        obj.source += ' Onset.cpp '
+        obj.uselib += ' AUBIO '
+    obj.vnum         = LIBARDOURVAMPPLUGINS_LIB_VERSION
+    obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'vamp')
 
+def shutdown():
+    autowaf.shutdown()