merge with master, primarily for adrian's maximise-mixer change
[ardour.git] / libs / vamp-plugins / wscript
index 99de2705797f100ce76ae5f44adaa4e32f16114e..4808d33612d98ec48bf6e0788b41355fe8d5e1fd 100644 (file)
@@ -1,5 +1,5 @@
 #!/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)
@@ -16,42 +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)
-        conf.check_tool('compiler_cxx')
-        autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True)
-        autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', mandatory=False)
-        conf.write_config_header('libvampplugins-config.h')
+    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
-               OnsetDetect.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 libqmdsp'
-        if bld.env['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')
+    # 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()
-
+    autowaf.shutdown()