fix crash when copy'ing latent plugins
[ardour.git] / libs / canvas / wscript
index 11049f7e8056200b87c9d898b7789c310cfba53b..b40f72412dbee5cbcc6779215ce62cc32314594e 100644 (file)
@@ -29,74 +29,110 @@ path_prefix = 'libs/canvas/'
 
 canvas_sources = [
         'arc.cc',
-       'arrow.cc',
-       'canvas.cc',
+        'arrow.cc',
+        'canvas.cc',
         'circle.cc',
+        'colors.cc',
+        'colorspace.cc',
+        'container.cc',
         'curve.cc',
-       'debug.cc',
-       'item.cc',
-       'fill.cc',
+        'debug.cc',
+        'item.cc',
+        'fill.cc',
         'flag.cc',
-       'group.cc',
+        'framed_curve.cc',
         'image.cc',
-       'line.cc',
+        'line.cc',
         'line_set.cc',
-       'lookup_table.cc',
-       'outline.cc',
-       'pixbuf.cc',
-       'poly_item.cc',
-       'poly_line.cc',
-       'polygon.cc',
-       'rectangle.cc',
-       'root_group.cc',
+        'lookup_table.cc',
+        'outline.cc',
+        'pixbuf.cc',
+        'poly_item.cc',
+        'poly_line.cc',
+        'polygon.cc',
+        'rectangle.cc',
+        'root_group.cc',
+        'ruler.cc',
+        'scroll_group.cc',
+        'stateful_image.cc',
         'text.cc',
-       'types.cc',
-       'utils.cc',
-       'wave_view.cc'
+        'tracking_text.cc',
+        'types.cc',
+        'utils.cc',
+        'wave_view.cc',
+        'widget.cc',
+        'xfade_curve.cc',
 ]
 
 def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
-       conf.load ('compiler_cxx')
-       autowaf.configure(conf)
-       autowaf.check_pkg(conf, 'cairomm-1.0', uselib_store='CAIROMM', atleast_version='1.8.4')
+    conf.load ('compiler_cxx')
+    autowaf.configure(conf)
+    autowaf.check_pkg(conf, 'cairomm-1.0', uselib_store='CAIROMM', atleast_version='1.8.4')
 
 def build(bld):
     # Library
     if bld.is_defined ('INTERNAL_SHARED_LIBS'):
-       obj = bld.shlib(features = 'cxx cxxshlib', source=canvas_sources)
+        obj = bld.shlib(features = 'cxx cxxshlib', source=canvas_sources)
+        obj.defines      = [ 'LIBCANVAS_DLL_EXPORTS=1' ]
     else:
-       obj = bld.stlib(features = 'cxx cxxstlib', source=canvas_sources)
+        obj = bld.stlib(features = 'cxx cxxstlib', source=canvas_sources)
         obj.cxxflags     = [ '-fPIC' ]
         obj.cflags       = [ '-fPIC' ]
+        obj.defines      = [ ]
 
     obj.export_includes = ['.']
     obj.includes     = ['.']
-    obj.uselib       = 'SIGCPP CAIROMM GTKMM BOOST'
-    obj.use          = [ 'libpbd', 'libevoral', 'libardour', 'libgtkmm2ext' ]
+    obj.uselib       = 'SIGCPP CAIROMM GTKMM BOOST XML'
+    obj.use          = [ 'libpbd', 'libevoral', 'libardour', 'libgtkmm2ext', 'libevoral' ]
     obj.name         = 'libcanvas'
     obj.target       = 'canvas'
     obj.vnum         = CANVAS_LIB_VERSION
-    obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
-    obj.defines      = [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
-    
-    if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
-               
+    obj.install_path = bld.env['LIBDIR']
+    obj.defines      += [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
+
+    # canvas unit-tests are outdated
+    if False and bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
+            unit_testobj              = bld(features = 'cxx cxxprogram')
+            unit_testobj.source       = '''
+                    test/group.cc
+                    test/arrow.cc
+                    test/optimizing_lookup_table.cc
+                    test/polygon.cc
+                    test/types.cc
+                    test/render.cc
+                    test/xml.cc
+                    test/wave_view.cc
+                    test/item.cc
+                    test/testrunner.cpp
+                '''.split()
+
+            unit_testobj.includes     = obj.includes + ['test', '../pbd']
+            unit_testobj.uselib       = 'CPPUNIT SIGCPP CAIROMM GTKMM'
+            unit_testobj.uselib_local = 'libcanvas libevoral libardour libgtkmm2ext'
+            unit_testobj.name         = 'libcanvas-unit-tests'
+            unit_testobj.target       = 'run-tests'
+            unit_testobj.install_path = ''
+            unit_testobj.cxxflags     = ['-DPACKAGE="libcanvastest"']
+            unit_testobj.cxxflags     += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"']
+            unit_testobj.cxxflags     += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFDIR']) + '"']
+            unit_testobj.cxxflags     += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"']
+
             manual_tests              = '''
-                       test/hello_world.cc
-                       test/gtk_many.cc
-                       test/gtk_scene.cc
-                       test/gtk_movement.cc
-                       test/gtk_viewport.cc
-                       test/gtk_drag.cc
-               '''.split()
+                        test/hello_world.cc
+                        test/gtk_many.cc
+                        test/gtk_scene.cc
+                        test/gtk_movement.cc
+                        test/gtk_viewport.cc
+                        test/gtk_drag.cc
+                '''.split()
 
             for t in manual_tests:
                     target = t[:-3]
                     name = t[t.find('/')+1:-3]
-                    manual_testobj = bld.new_task_gen('cxx', 'program')
+                    manual_testobj = bld(features = 'cxx cxxprogram')
                     manual_testobj.source = t
                     manual_testobj.includes = obj.includes + ['test', '../pbd']
                     manual_testobj.uselib       = 'CPPUNIT SIGCPP CAIROMM GTKMM'
@@ -104,43 +140,18 @@ def build(bld):
                     manual_testobj.name         = 'libcanvas-manual-test-%s' % name
                     manual_testobj.target       = target
                     manual_testobj.install_path = ''
-                    
-                    unit_testobj              = bld.new_task_gen('cxx', 'program')
-                    unit_testobj.source       = '''
-                       test/group.cc
-                       test/arrow.cc
-                       test/optimizing_lookup_table.cc
-                       test/polygon.cc
-                       test/types.cc
-                       test/render.cc
-                       test/xml.cc
-                       test/wave_view.cc
-                       test/item.cc
-                       test/testrunner.cpp
-               '''.split()
-
-                    unit_testobj.includes     = obj.includes + ['test', '../pbd']
-                    unit_testobj.uselib       = 'CPPUNIT SIGCPP CAIROMM GTKMM'
-                    unit_testobj.uselib_local = 'libcanvas libevoral libardour libgtkmm2ext'
-                    unit_testobj.name         = 'libcanvas-unit-tests'
-                    unit_testobj.target       = 'run-tests'
-                    unit_testobj.install_path = ''
-                    unit_testobj.cxxflags     = ['-DPACKAGE="libcanvastest"']
-                    unit_testobj.cxxflags     += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"']
-                    unit_testobj.cxxflags     += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"']
-                    unit_testobj.cxxflags     += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"']
-                    
+
             benchmarks = '''
-                       benchmark/items_at_point.cc
-                       benchmark/render_parts.cc
-                       benchmark/render_from_log.cc
-                       benchmark/render_whole.cc
-               '''.split()
+                        benchmark/items_at_point.cc
+                        benchmark/render_parts.cc
+                        benchmark/render_from_log.cc
+                        benchmark/render_whole.cc
+                '''.split()
 
             for t in benchmarks:
                     target = t[:-3]
                     name = t[t.find('/')+1:-3]
-                    manual_testobj = bld.new_task_gen('cxx', 'program')
+                    manual_testobj = bld(features = 'cxx cxxprogram')
                     manual_testobj.source = [ t, 'benchmark/benchmark.cc' ]
                     manual_testobj.includes = obj.includes + ['test', '../pbd']
                     manual_testobj.uselib       = 'CPPUNIT SIGCPP CAIROMM GTKMM'
@@ -150,5 +161,5 @@ def build(bld):
                     manual_testobj.install_path = ''
 
 def shutdown():
-       autowaf.shutdown()
+    autowaf.shutdown()