X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=99743afc7c3fa772215da8bd515601761e7e83d4;hb=2edc3d1b74c14bf4c704f564f80d75a5ef3d5dca;hp=a0b439e48c6f86a451f5696019dc0908c8ad20e0;hpb=59631acc5f41153a294c97ab820a4b41a886e24c;p=ardour.git diff --git a/wscript b/wscript index a0b439e48c..99743afc7c 100644 --- a/wscript +++ b/wscript @@ -52,12 +52,9 @@ out = 'build' children = [ # optionally external libraries - 'libs/vamp-sdk', 'libs/qm-dsp', 'libs/vamp-plugins', - 'libs/taglib', 'libs/libltc', - 'libs/rubberband', # core ardour libraries 'libs/pbd', 'libs/midi++2', @@ -654,13 +651,17 @@ def configure(conf): okmsg = 'ok', errmsg = 'too old\nPlease install boost version 1.39 or higher.') - autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2') - autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.2') - autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.32.0') - autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18') - autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2') - autowaf.check_pkg(conf, 'libcurl', uselib_store='CURL', atleast_version='7.0.0') - autowaf.check_pkg(conf, 'liblo', uselib_store='LO', atleast_version='0.26') + autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2', mandatory=True) + autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.2', mandatory=True) + autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.32.0', mandatory=True) + autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18, mandatory=True') + autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2', mandatory=True) + autowaf.check_pkg(conf, 'libcurl', uselib_store='CURL', atleast_version='7.0.0', mandatory=True) + autowaf.check_pkg(conf, 'liblo', uselib_store='LO', atleast_version='0.26', mandatory=True) + autowaf.check_pkg(conf, 'taglib', uselib_store='TAGLIB', atleast_version='1.6', mandatory=True) + autowaf.check_pkg(conf, 'vamp-sdk', uselib_store='VAMPSDK', atleast_version='2.4', mandatory=True) + autowaf.check_pkg(conf, 'vamp-hostsdk', uselib_store='VAMPHOSTSDK', atleast_version='2.4', mandatory=True) + autowaf.check_pkg(conf, 'rubberband', uselib_store='RUBBERBAND', mandatory=True) if Options.options.dist_target == 'mingw': Options.options.fpu_optimization = False @@ -694,8 +695,19 @@ def configure(conf): conf.env.append_value('CFLAGS', '-DWAF_BUILD') conf.env.append_value('CXXFLAGS', '-DWAF_BUILD') - # Set up waf environment and C defines opts = Options.options + + # Adopt Microsoft-like convention that makes all non-explicitly exported + # symbols invisible (rather than doing this all over the wscripts in the src tree) + # + # This won't apply to MSVC but that hasn't been added as a target yet + # + # We can't do this till all tests are complete, since some fail if this is et. + if opts.internal_shared_libs: + conf.env.append_value ('CXXFLAGS', '-fvisibility=hidden') + conf.env.append_value ('CFLAGS', '-fvisibility=hidden') + + # Set up waf environment and C defines if opts.phone_home: conf.define('PHONE_HOME', 1) conf.env['PHONE_HOME'] = True @@ -793,7 +805,6 @@ const char* const ardour_config_info = "\\n\\ write_config_text('OGG', conf.is_defined('HAVE_OGG')) write_config_text('Phone home', conf.is_defined('PHONE_HOME')) write_config_text('Program name', opts.program_name) - write_config_text('Rubberband', conf.is_defined('HAVE_RUBBERBAND')) write_config_text('Samplerate', conf.is_defined('HAVE_SAMPLERATE')) # write_config_text('Soundtouch', conf.is_defined('HAVE_SOUNDTOUCH')) write_config_text('Translation', opts.nls) @@ -819,10 +830,7 @@ def build(bld): # add directories that contain only headers, to workaround an issue with waf if not bld.is_defined('USE_EXTERNAL_LIBS'): - bld.path.find_dir ('libs/vamp-sdk/vamp-sdk') bld.path.find_dir ('libs/libltc/ltc') - bld.path.find_dir ('libs/rubberband/rubberband') - bld.path.find_dir ('libs/taglib/taglib') bld.path.find_dir ('libs/evoral/evoral') bld.path.find_dir ('libs/surfaces/control_protocol/control_protocol') bld.path.find_dir ('libs/timecode/timecode')