X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fpbd%2Fwscript;h=da0f9c0dd104f8068dae62c57217eca88a90e778;hb=a22dd8c20a656a36d93e3e31ee3c04ca7e9b7278;hp=c2be9849a9ebe1439bcef4559cb920c9c77a5bdd;hpb=723ab60b39aed9a9190e047fc5803c1f4e1adac3;p=ardour.git diff --git a/libs/pbd/wscript b/libs/pbd/wscript index c2be9849a9..da0f9c0dd1 100644 --- a/libs/pbd/wscript +++ b/libs/pbd/wscript @@ -1,8 +1,8 @@ #!/usr/bin/env python from waflib.extras import autowaf as autowaf +from waflib import TaskGen import os import sys -import TaskGen # Version of this package (even if built as a child) MAJOR = '4' @@ -19,6 +19,7 @@ LIBPBD_LIB_VERSION = '4.1.0' # Variables for 'waf dist' APPNAME = 'libpbd' VERSION = LIBPBD_VERSION +I18N_PACKAGE = 'libpbd4' # Mandatory variables top = '.' @@ -30,20 +31,19 @@ def options(opt): autowaf.set_options(opt) def configure(conf): + conf.load('compiler_cxx') autowaf.build_version_files(path_prefix+'pbd/version.h', path_prefix+'version.cc', 'libpbd', MAJOR, MINOR, MICRO) autowaf.configure(conf) - conf.check_tool('compiler_cxx') autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML') autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0') if sys.platform != 'darwin': autowaf.check_pkg(conf, 'uuid', uselib_store='UUID') - conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT') - conf.check(header_name='execinfo.h', define_name='HAVE_EXECINFO') - conf.check(header_name='unistd.h', define_name='HAVE_UNISTD') - if conf.check_cc(function_name='posix_memalign', header_name='stdlib.h', cflags='-D_XOPEN_SOURCE=600') == False: - conf.define ('NO_POSIX_MEMALIGN',1) + conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT',mandatory=False) + conf.check(header_name='execinfo.h', define_name='HAVE_EXECINFO',mandatory=False) + conf.check(header_name='unistd.h', define_name='HAVE_UNISTD',mandatory=False) + conf.check_cc(function_name='posix_memalign', header_name='stdlib.h', cflags='-D_XOPEN_SOURCE=600', define_name='HAVE_POSIX_MEMALIGN', mandatory=False) conf.write_config_header('libpbd-config.h', remove=False) @@ -53,6 +53,10 @@ def configure(conf): # autowaf.check_header(conf, 'cxx', 'boost/uuid/uuid.hpp') def build(bld): + + # Make signals_generated.h using signals.py + bld(rule = 'python ${SRC} ${TGT}', source = 'pbd/signals.py', target = 'pbd/signals_generated.h') + # Library obj = bld(features = 'cxx cxxshlib') obj.source = ''' @@ -75,7 +79,6 @@ def build(bld): epa.cc error.cc filesystem.cc - filesystem_paths.cc file_manager.cc file_utils.cc fpu.cc @@ -108,26 +111,26 @@ def build(bld): xml++.cc ''' - if bld.env['DEBUG_RT_ALLOC']: + if bld.is_defined('DEBUG_RT_ALLOC'): obj.source += 'debug_rt_alloc.c' obj.export_includes = ['.'] obj.includes = ['.'] obj.name = 'libpbd' obj.target = 'pbd' - obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE' + obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE GIOMM' if sys.platform == 'darwin': TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc'] obj.source += 'cocoa_open_uri.mm' obj.uselib += ' OSX' obj.vnum = LIBPBD_LIB_VERSION obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - obj.cxxflags = ['-DPACKAGE="libpbd"'] + obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"'] if bld.env['build_target'] == 'x86_64': - obj.cxxflags += [ '-DUSE_X86_64_ASM' ] + obj.defines += [ 'USE_X86_64_ASM' ] - if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']: + if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'): # Unit tests testobj = bld(features = 'cxx cxxprogram') testobj.source = ''' @@ -135,11 +138,16 @@ def build(bld): test/xpath.cc test/scalar_properties.cc test/signals_test.cc + test/convert_test.cc + test/filesystem_test.cc '''.split() testobj.target = 'run-tests' testobj.includes = obj.includes + ['test', '../pbd'] testobj.uselib = 'CPPUNIT XML SNDFILE' testobj.use = 'libpbd' + testobj.name = 'libpbd-tests' + if sys.platform != 'darwin': + testobj.linkflags = ['-lrt'] def shutdown():