specialize isfinite for MSVC compat
[ardour.git] / libs / vamp-plugins / wscript
index 4fde44ea3421c932ed45319a1170c201d6403973..856ffe2658ce730ccbd6cb9c760995fd07802681 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,41 +16,49 @@ APPNAME = 'libardourvampplugins'
 VERSION = LIBARDOURVAMPPLUGINS_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
+    conf.load('compiler_cxx')
     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')
+    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 = bld(features = 'cxx cxxshlib')
     obj.source = '''
             plugins.cpp
             AmplitudeFollower.cpp
+            EBUr128.cpp
+            ebu_r128_proc.cc
             OnsetDetect.cpp
             PercussionOnsetDetector.cpp
             SpectralCentroid.cpp
+            TruePeak.cpp
             ZeroCrossing.cpp
     '''
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.']
     obj.name         = 'libardourvampplugins'
     obj.target       = 'ardourvampplugins'
-    obj.uselib       = 'FFTW3F'
-    obj.uselib_local = 'libvampplugin libqmdsp'
-    if bld.env['HAVE_AUBIO']:
+    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')
+    obj.install_path = os.path.join(bld.env['LIBDIR'], 'vamp')
 
 def shutdown():
     autowaf.shutdown()