Apply patch from timbyr to fix building with --test.
authorDavid Robillard <d@drobilla.net>
Sun, 13 Nov 2011 03:54:29 +0000 (03:54 +0000)
committerDavid Robillard <d@drobilla.net>
Sun, 13 Nov 2011 03:54:29 +0000 (03:54 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@10561 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/wscript
libs/ardour/wscript
libs/audiographer/wscript
libs/evoral/test/SMFTest.cpp
libs/evoral/wscript
libs/pbd/wscript
wscript

index cedf442e9599ac94cdc08a6bc144930ce20c5215..3ca85c0e4d9f27f38ef9f3153c3ab67dd57d106d 100644 (file)
@@ -267,6 +267,7 @@ def configure(conf):
     autowaf.check_pkg(conf, 'libgnomecanvasmm-2.6',
                       uselib_store='GNOMECANVASMM', atleast_version='2.16')
     autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2')
+    autowaf.check_pkg(conf, 'x11', uselib_store='X11', atleast_version='1.4', mandatory=False)
 
     conf.write_config_header('gtk2ardour-config.h', remove=False)
 
@@ -392,12 +393,12 @@ def build(bld):
     if bld.is_defined('VST_SUPPORT'):
         obj.source += [ 'vst_pluginui.cc' ]
         obj.defines += [ 'VST_SUPPORT' ]
-        bld.env.append ('LINKFLAGS', '-lX11')
+        obj.uselib += ' X11 '
 
     if bld.is_defined('LXVST_SUPPORT'):
         obj.source += [ 'lxvst_pluginui.cc' ]
         obj.defines += [ 'LXVST_SUPPORT' ]
-        obj.linkflags += [ '-lX11' ]
+        obj.uselib += ' X11 '
 
     if bld.is_defined('PHONE_HOME'):
         obj.defines += [ 'PHONE_HOME' ]
index 4582d79b4f775cb5eb895ea3309365c21c5d8a99..56b6cfccc9edc6224ac3a9fd153606ef7b99be46 100644 (file)
@@ -269,6 +269,8 @@ def configure(conf):
                       atleast_version='1.2.1')
     autowaf.check_pkg(conf, 'libcurl', uselib_store='CURL',
                       atleast_version='7.0.0')
+    autowaf.check_pkg(conf, 'x11', uselib_store='X11',
+                      atleast_version='1.4', mandatory=False)
 
     # we don't try to detect this, since its part of our source tree
 
@@ -389,7 +391,7 @@ def build(bld):
     if bld.is_defined('LXVST_SUPPORT'):
         obj.source += [ 'lxvst_plugin.cc', 'session_lxvst.cc', 'vstfx.cc', 'vstfxwin.cc', 'vstfxinfofile.cc' ]
         obj.defines += [ 'LXVST_SUPPORT' ]
-
+        obj.uselib += ['X11']
 
     if bld.is_defined('HAVE_COREAUDIO'):
         obj.source += [ 'coreaudiosource.cc', 'caimportable.cc' ]
@@ -412,7 +414,7 @@ def build(bld):
                                         lang, 'LC_MESSAGES', 'libardour3.mo'),
                            mo)
 
-    if bld.is_defined('BUILD_TESTS') and bld.is_defined('HAVE_CPPUNIT'):
+    if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
         # Unit tests
         testobj              = bld(features = 'cxx cxxprogram')
         testobj.source       = '''
index 14ddcd3d3c5e8c8949ee72d12a890291d611f503..66f4e80b724171c39e564617b259cb2497eebe77 100644 (file)
@@ -78,7 +78,7 @@ def build(bld):
     audiographer.install_path   = os.path.join(bld.env['LIBDIR'], 'ardour3')
 
 
-    if bld.is_defined('BUILD_TESTS') and bld.is_defined('HAVE_CPPUNIT'):
+    if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
         # Unit tests
         obj              = bld(features = 'cxx cxxprogram')
         obj.source       = '''
index b57f89e8719032e613ececbb95f4936dad578c4f..d4b2a28affe0419424c44dd7d3e5b45c88645978 100644 (file)
@@ -40,7 +40,7 @@ SMFTest::takeFiveTest ()
                if (ret > 0) { // didn't skip (meta) event
                        //cerr << "read smf event type " << hex << int(buf[0]) << endl;
                        // make ev.time absolute time in frames
-                       ev.time() = time * frames_per_beat / (double)smf.ppqn();
+                       ev.set_time(time * frames_per_beat / (double)smf.ppqn());
                        ev.set_event_type(type_map->midi_event_type(buf[0]));
                        seq->append(ev, next_event_id ());
                }
index 314fe2a2f0f8adbe873b721f93ee5ea49cb7f2a9..e8bf097db2b7f129462eddc1fb73f6fb9a160525 100644 (file)
@@ -26,6 +26,8 @@ def options(opt):
     autowaf.set_options(opt)
     opt.add_option('--test', action='store_true', default=False, dest='build_tests',
                     help="Build unit tests")
+    opt.add_option('--test-coverage', action='store_true', default=False, dest='test_coverage',
+                    help="Use gcov to test for code coverage")
 
 def configure(conf):
     conf.load('compiler_cxx')
@@ -42,6 +44,7 @@ def configure(conf):
     autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
 
     conf.env['BUILD_TESTS'] = Options.options.build_tests
+    conf.env['TEST_COVERAGE'] = Options.options.test_coverage
 
     #autowaf.display_msg(conf, "Unit tests", str(conf.env['BUILD_TESTS']))
     #print
@@ -97,7 +100,7 @@ def build(bld):
     obj.install_path   = os.path.join(bld.env['LIBDIR'], 'ardour3')
     obj.defines = ['PACKAGE="libevoral"' ]
 
-    if bld.is_defined('BUILD_TESTS') and bld.is_defined('HAVE_CPPUNIT'):
+    if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
         # Static library (for unit test code coverage)
         obj = bld(features = 'cxx cstlib')
         obj.source       = lib_source
@@ -110,8 +113,10 @@ def build(bld):
         obj.use            = 'libsmf libpbd'
         obj.vnum           = EVORAL_LIB_VERSION
         obj.install_path   = ''
-        obj.cflags         = [ '-fprofile-arcs',  '-ftest-coverage' ]
-        obj.cxxflags       = [ '-fprofile-arcs',  '-ftest-coverage' ]
+        if bld.env['TEST_COVERAGE']:
+            obj.linkflags      = '-lgcov'
+            obj.cflags         = [ '-fprofile-arcs',  '-ftest-coverage' ]
+            obj.cxxflags       = [ '-fprofile-arcs',  '-ftest-coverage' ]
         obj.defines        = ['PACKAGE="libevoral"' ]
 
         # Unit tests
@@ -124,12 +129,13 @@ def build(bld):
         obj.includes     = ['.', './src']
         obj.use          = 'libevoral_static'
         obj.uselib       = 'CPPUNIT SNDFILE'
-        obj.libs         = 'gcov'
         obj.target       = 'run-tests'
         obj.name         = 'libevoral-tests'
         obj.install_path = ''
-        obj.cflags       = [ '-fprofile-arcs',  '-ftest-coverage' ]
-        obj.cxxflags     = [ '-fprofile-arcs',  '-ftest-coverage' ]
+        if bld.env['TEST_COVERAGE']:
+            obj.linkflags      = '-lgcov'
+            obj.cflags         = [ '-fprofile-arcs',  '-ftest-coverage' ]
+            obj.cxxflags       = [ '-fprofile-arcs',  '-ftest-coverage' ]
 
 def shutdown():
     autowaf.shutdown()
index 5cd205030385131aa841ec9f35260237b357f7d7..e0ccb885b10609f3b76e915a7b00a64ea0568b55 100644 (file)
@@ -127,7 +127,7 @@ def build(bld):
     if bld.env['build_target'] == 'x86_64':
         obj.cxxflags += [ '-DUSE_X86_64_ASM' ]
 
-    if bld.is_defined ('BUILD_TESTS') and bld.is_defined('HAVE_CPPUNIT'):
+    if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
         # Unit tests
         testobj              = bld(features = 'cxx cxxprogram')
         testobj.source       = '''
diff --git a/wscript b/wscript
index 2a5d4b2790f29cab9e8e23984da0e8ed062a7806..dab040b0f59200bfe80ec759ba7cfd0cd7943643 100644 (file)
--- a/wscript
+++ b/wscript
@@ -613,7 +613,7 @@ const char* const ardour_config_info = "\\n\\
 #    write_config_text('Soundtouch',            conf.is_defined('HAVE_SOUNDTOUCH'))
     write_config_text('Translation',           opts.nls)
     write_config_text('Tranzport',             opts.tranzport)
-    write_config_text('Unit tests',            conf.is_defined('BUILD_TESTS'))
+    write_config_text('Unit tests',            conf.env['BUILD_TESTS'])
     write_config_text('Universal binary',      opts.universal)
     write_config_text('VST support',           opts.vst)
     write_config_text('Wiimote support',       opts.wiimote)