X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=440ba088c0475b319e22d1f47692ebb197bcba22;hb=e247103a7ec747d3e4a56b8cc51515e8600c2d78;hp=7fcbcff4c7ecaafe8e2cacf4b00cf1bbf950ca57;hpb=25a6296f865620d5013cd634e693f7179e7edc84;p=ardour.git diff --git a/wscript b/wscript index 7fcbcff4c7..440ba088c0 100644 --- a/wscript +++ b/wscript @@ -168,11 +168,6 @@ def set_compiler_flags (conf,opt): if opt.gprofile: debug_flags = [ '-pg' ] - if opt.backtrace: - if opt.dist_target == 'auto': - if platform != 'darwin' and not is_clang: - debug_flags = [ '-rdynamic' ] - # Autodetect if opt.dist_target == 'auto': if platform == 'darwin': @@ -409,6 +404,10 @@ def set_compiler_flags (conf,opt): conf.env.append_value('CFLAGS', optimization_flags) conf.env.append_value('CXXFLAGS', optimization_flags) + if opt.backtrace: + if platform != 'darwin' and not is_clang: + linker_flags += [ '-rdynamic' ] + conf.env.append_value('CFLAGS', compiler_flags) conf.env.append_value('CFLAGS', c_flags) conf.env.append_value('CXXFLAGS', compiler_flags) @@ -440,6 +439,7 @@ def options(opt): opt.add_option('--fpu-optimization', action='store_true', default=True, dest='fpu_optimization', help='Build runtime checked assembler code (default)') opt.add_option('--no-fpu-optimization', action='store_false', dest='fpu_optimization') + opt.add_option('--exports-hidden', action='store_true', default=False, dest='exports_hidden') opt.add_option('--freedesktop', action='store_true', default=False, dest='freedesktop', help='Install MIME type, icons and .desktop file as per freedesktop.org standards') opt.add_option('--freebie', action='store_true', default=False, dest='freebie', @@ -677,7 +677,7 @@ def configure(conf): conf.env.append_value('CFLAGS', '-DCOMPILER_MINGW') conf.env.append_value('CXXFLAGS', '-DPLATFORM_WINDOWS') conf.env.append_value('CXXFLAGS', '-DCOMPILER_MINGW') - conf.env.append_value('LIB', 'pthreadGC2') + conf.env.append_value('LIB', 'pthread') # needed for at least libsmf conf.check_cc(function_name='htonl', header_name='winsock2.h', lib='ws2_32') conf.env.append_value('LIB', 'ws2_32') @@ -705,15 +705,19 @@ def configure(conf): opts = Options.options - # Adopt Microsoft-like convention that makes all non-explicitly exported + # (optionally) 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') + if opts.exports_hidden: + conf.define ('EXPORT_VISIBILITY_HIDDEN', True) + if opts.internal_shared_libs: + conf.env.append_value ('CXXFLAGS', '-fvisibility=hidden') + conf.env.append_value ('CFLAGS', '-fvisibility=hidden') + else: + conf.define ('EXPORT_VISIBILITY_HIDDEN', False) # Set up waf environment and C defines if opts.phone_home: @@ -794,6 +798,7 @@ const char* const ardour_config_info = "\\n\\ write_config_text('Strict compiler flags', conf.env['STRICT']) write_config_text('Internal Shared Libraries', conf.is_defined('INTERNAL_SHARED_LIBS')) write_config_text('Use External Libraries', conf.is_defined('USE_EXTERNAL_LIBS')) + write_config_text('Library exports hidden', conf.is_defined('EXPORT_VISIBILITY_HIDDEN')) write_config_text('Architecture flags', opts.arch) write_config_text('Aubio', conf.is_defined('HAVE_AUBIO'))