add virtual method is_instrument() to PluginInfo (already existed for AUPluginInfo...
[ardour.git] / libs / ardour / wscript
index f6d7a13d06d269eb6db3935ec908affef2b46d39..dccf53735f6eccd41d4162993a4baa4512c44b83 100644 (file)
@@ -21,8 +21,9 @@ LIBARDOUR_LIB_VERSION = '3.0.0'
 CURRENT_SESSION_FILE_VERSION = 3000
 
 # Variables for 'waf dist'
-APPNAME = 'libardour'
+APPNAME = 'libardour3'
 VERSION = LIBARDOUR_VERSION
+I18N_PACKAGE = 'libardour3'
 
 # Mandatory variables
 top = '.'
@@ -102,7 +103,6 @@ libardour_sources = [
         'filesystem_paths.cc',
         'filter.cc',
         'find_session.cc',
-        'gain.cc',
         'globals.cc',
         'graph.cc',
         'graphnode.cc',
@@ -216,7 +216,7 @@ libardour_sources = [
         'unknown_processor.cc',
         'user_bundle.cc',
         'utils.cc',
-        'version.cc'
+        'version.cc',
 ]
 
 def flac_supported():
@@ -258,9 +258,12 @@ def configure(conf):
     if Options.options.lv2:
         autowaf.check_pkg(conf, 'lilv-0', uselib_store='LILV',
                           atleast_version='0.0.0', mandatory=False)
+        autowaf.check_pkg(conf, 'lilv-0', uselib_store='NEW_LILV',
+                          atleast_version='0.9.0', mandatory=False)
         if conf.is_defined('HAVE_LILV'):
             autowaf.check_pkg(conf, 'suil-0', uselib_store='SUIL',
                               atleast_version='0.2.0', mandatory=False)
+
 #    autowaf.check_pkg(conf, 'soundtouch-1.0', uselib_store='SOUNDTOUCH',
 #                      mandatory=False)
     autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT',
@@ -332,7 +335,6 @@ int main(int argc, char **argv) {
         conf.define ('HAVE_OGG', 1)
 
     if Options.options.lv2 and conf.is_defined('HAVE_LILV'):
-        print "LV2 option was ", Options.options.lv2
         conf.define ('LV2_SUPPORT', 1)
 
     conf.write_config_header('libardour-config.h', remove=False)
@@ -361,7 +363,7 @@ def build(bld):
     obj.vnum         = LIBARDOUR_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
     obj.defines      = [
-        'PACKAGE="libardour3"',
+        'PACKAGE="' + I18N_PACKAGE + '"',
         'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
         'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
         'MODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"',
@@ -377,24 +379,29 @@ def build(bld):
     #obj.add_objects = 'default/libs/surfaces/control_protocol/smpte_1.o'
 
     if bld.is_defined('HAVE_LILV') :
-        obj.source += [ 'lv2_plugin_lilv.cc', 'lv2_event_buffer.cc',
+        obj.source += [ 'lv2_plugin.cc', 'lv2_event_buffer.cc',
                         'uri_map.cc', 'rdff.c' ]
         obj.uselib += ['LILV']
         if bld.is_defined('HAVE_SUIL'):
             obj.uselib += ['SUIL']
 
     if bld.is_defined('WINDOWS_VST_SUPPORT'):
-        obj.source += [ 'windows_vst_plugin.cc', 'session_vst.cc' ]
+        obj.source += [ 'windows_vst_plugin.cc']
         obj.includes += [ '../fst' ]
         obj.defines += [ 'WINDOWS_VST_SUPPORT' ]
 
     if bld.is_defined('LXVST_SUPPORT'):
-        obj.source += [ 'lxvst_plugin.cc', 'session_lxvst.cc', 'vstfx.cc', 'vstfxinfofile.cc' ]
+        obj.source += [ 'lxvst_plugin.cc', 'linux_vst_support.cc', 'linux_vst_info_file.cc' ]
         obj.defines += [ 'LXVST_SUPPORT' ]
 
+    if bld.is_defined('WINDOWS_VST_SUPPORT') or bld.is_defined('LXVST_SUPPORT'):
+        obj.source += [ 'session_vst.cc', 'vst_plugin.cc' ]
+
     if bld.is_defined('HAVE_COREAUDIO'):
         obj.source += [ 'coreaudiosource.cc', 'caimportable.cc' ]
         obj.use    += ['libappleutility']
+
+    if bld.is_defined('AUDIOUNIT_SUPPORT'):
         obj.source += [ 'audio_unit.cc' ]
 
     if Options.options.fpu_optimization:
@@ -410,7 +417,7 @@ def build(bld):
         for mo in mo_files:
             lang = os.path.basename(mo.srcpath()).replace('.mo', '')
             bld.install_as(os.path.join(bld.env['PREFIX'], 'share', 'locale',
-                                        lang, 'LC_MESSAGES', 'libardour3.mo'),
+                                        lang, 'LC_MESSAGES', I18N_PACKAGE + '.mo'),
                            mo)
 
     if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
@@ -418,13 +425,23 @@ def build(bld):
         testobj              = bld(features = 'cxx cxxprogram')
         testobj.source       = '''
                 test/dummy_lxvst.cc
-                test/bbt_test.cpp
-                test/interpolation_test.cpp
-                test/midi_clock_slave_test.cpp
-                test/resampled_source.cc
-                test/mantis_3356.cc
-                test/testrunner.cpp
+                test/test_needing_session.cc
+                test/test_needing_playlist_and_regions.cc
+                test/bbt_test.cc
+                test/tempo_test.cc
+                test/interpolation_test.cc
+                test/midi_clock_slave_test.cc
+                test/resampled_source_test.cc
+                test/framewalk_to_beats_test.cc
+                test/framepos_plus_beats_test.cc
+                test/framepos_minus_beats_test.cc
+                test/playlist_layering_test.cc
+                test/testrunner.cc
         '''.split()
+
+# Tests that don't work
+#                test/mantis_3356_test.cc
+
         testobj.includes     = obj.includes + ['test', '../pbd']
         testobj.uselib       = ['CPPUNIT','SIGCPP','JACK','GLIBMM','GTHREAD',
                                 'SAMPLERATE','XML','LRDF','COREAUDIO']
@@ -450,9 +467,53 @@ def build(bld):
             elif bld.env['build_target'] == 'x86_64':
                 testobj.source += [ 'sse_functions_64bit.s' ]
 
+        # Profiling
+        profilingobj = bld(features = 'cxx cxxprogram')
+        profilingobj.source = '''
+                test/dummy_lxvst.cc
+                test/profiling/runpc.cc
+        '''.split()
+
+        profilingobj.includes  = obj.includes
+        profilingobj.uselib    = ['CPPUNIT','SIGCPP','JACK','GLIBMM','GTHREAD',
+                             'SAMPLERATE','XML','LRDF','COREAUDIO']
+        profilingobj.use       = ['libpbd','libmidipp','libardour']
+        profilingobj.name      = 'libardour-profiling'
+        profilingobj.target    = 'run-profiling'
+        profilingobj.install_path = ''
+        profilingobj.defines      = [
+            'PACKAGE="libardour3profile"',
+            'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
+            'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
+            'MODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"',
+            'LOCALEDIR="' + os.path.join(
+                os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
+            'VAMP_DIR="' + os.path.join(
+                os.path.normpath(bld.env['LIBDIR']), 'ardour3', 'vamp') + '"'
+            ]
+        if bld.env['FPU_OPTIMIZATION']:
+            profilingobj.source += [ 'sse_functions_xmm.cc' ]
+            if (bld.env['build_target'] == 'i386'
+                or bld.env['build_target'] == 'i686'):
+                profilingobj.source += [ 'sse_functions.s' ]
+            elif bld.env['build_target'] == 'x86_64':
+                profilingobj.source += [ 'sse_functions_64bit.s' ]
+
 def shutdown():
     autowaf.shutdown()
 
 def i18n(bld):
-    autowaf.build_i18n(bld, top, 'libs/ardour', APPNAME, libardour_sources,
+    autowaf.build_i18n(bld, top, 'libs/ardour', I18N_PACKAGE, libardour_sources,
+                       'Paul Davis')
+
+def i18n_pot(bld):
+    autowaf.build_i18n(bld, top, 'libs/ardour', I18N_PACKAGE, libardour_sources,
+                       'Paul Davis')
+
+def i18n_po(bld):
+    autowaf.build_i18n_po(bld, top, 'libs/ardour', I18N_PACKAGE, libardour_sources,
+                       'Paul Davis')
+
+def i18n_mo(bld):
+    autowaf.build_i18n_mo(bld, top, 'libs/ardour', I18N_PACKAGE, libardour_sources,
                        'Paul Davis')