From: Paul Davis Date: Sun, 12 Jan 2014 16:34:37 +0000 (-0500) Subject: move -fvisibility=hidden to the top of the source tree, and remove its internal use... X-Git-Tag: 1.0.0~954 X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=commitdiff_plain;h=5062a00c7d2580d1245f7ad14760a91939c34bdc move -fvisibility=hidden to the top of the source tree, and remove its internal use; use libtimecode as a shared lib again --- diff --git a/libs/ardour/wscript b/libs/ardour/wscript index 29efde2693..91326f6372 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -326,8 +326,6 @@ def build(bld): obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=libardour_sources) # macros for this shared library obj.defines = [ 'LIBARDOUR_DLL_EXPORTS=1' ] - obj.cflags = [ '-fvisibility=hidden' ] - obj.cxxflags = [ '-fvisibility=hidden' ] else: obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=libardour_sources) obj.cxxflags = [ '-fPIC' ] @@ -343,7 +341,7 @@ def build(bld): 'OSX','BOOST','CURL','DL'] obj.use = ['libpbd','libmidipp','libevoral', 'libvampplugin', 'libaudiographer', - 'libtimecode_includes', + 'libtimecode', ] if bld.is_defined('USE_EXTERNAL_LIBS'): obj.uselib.extend(['RUBBERBAND', 'TAGLIB', 'VAMPSDK', 'LIBLTC', diff --git a/libs/audiographer/wscript b/libs/audiographer/wscript index 183b272518..f2920a6c7f 100644 --- a/libs/audiographer/wscript +++ b/libs/audiographer/wscript @@ -68,8 +68,6 @@ def build(bld): audiographer = bld.shlib(features = 'c cxx cshlib cxxshlib', source=audiographer_sources) # macros for this shared library audiographer.defines = [ 'LIBAUDIOGRAPHER_DLL_EXPORTS=1' ] - audiographer.cflags = [ '-fvisibility=hidden' ] - audiographer.cxxflags = [ '-fvisibility=hidden' ] else: audiographer = bld.stlib(features = 'c cxx cstlib cxxstlib', source=libardour_sources) audiographer.cxxflags = [ '-fPIC' ] diff --git a/libs/canvas/wscript b/libs/canvas/wscript index 9503bfe3ec..59b2526254 100644 --- a/libs/canvas/wscript +++ b/libs/canvas/wscript @@ -72,8 +72,6 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'cxx cxxshlib', source=canvas_sources) obj.defines = [ 'LIBCANVAS_DLL_EXPORTS=1' ] - obj.cflags = [ '-fvisibility=hidden' ] - obj.cxxflags = [ '-fvisibility=hidden' ] else: obj = bld.stlib(features = 'cxx cxxstlib', source=canvas_sources) obj.cxxflags = [ '-fPIC' ] diff --git a/libs/gtkmm2ext/wscript b/libs/gtkmm2ext/wscript index bae2fbe439..48895a698c 100644 --- a/libs/gtkmm2ext/wscript +++ b/libs/gtkmm2ext/wscript @@ -88,8 +88,6 @@ def build(bld): obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources) # defines for this library obj.defines = [ 'LIBGTKMM2EXT_DLL_EXPORTS', 'ABSTRACT_UI_EXPORTS' ] - obj.cxxflags = [ '-fvisibility=hidden' ] - obj.cflags = [ '-fvisibility=hidden' ] else: obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=gtkmm2ext_sources) obj.cxxflags = [ '-fPIC' ] diff --git a/libs/midi++2/wscript b/libs/midi++2/wscript index a42d909e65..928b381326 100644 --- a/libs/midi++2/wscript +++ b/libs/midi++2/wscript @@ -62,8 +62,6 @@ def build(bld): if bld.is_defined ('INTERNAL_SHARED_LIBS'): obj = bld.shlib(features = 'cxx cxxshlib', source=libmidi_sources) obj.defines = [ 'LIBMIDIPP_DLL_EXPORTS=1' ] - obj.cxxflags = [ '-fvisibility=hidden' ] - obj.cflags = [ '-fvisibility=hidden' ] else: obj = bld.stlib(features = 'cxx cxxstlib', source=libmidi_sources) obj.cxxflags = [ '-fPIC' ] @@ -75,7 +73,7 @@ def build(bld): obj.name = 'libmidipp' obj.target = 'midipp' obj.uselib = 'GLIBMM SIGCPP XML OSX' - obj.use = 'libpbd libevoral libtimecode libtimecode_includes' + obj.use = 'libpbd libevoral libtimecode' obj.vnum = LIBMIDIPP_LIB_VERSION obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') diff --git a/libs/pbd/wscript b/libs/pbd/wscript index d721a78675..6b3e12b539 100644 --- a/libs/pbd/wscript +++ b/libs/pbd/wscript @@ -116,8 +116,6 @@ def build(bld): print('BUILD SHARED LIB') obj = bld.shlib(features = 'cxx cxxshlib', source=libpbd_sources) obj.defines = [ 'LIBPBD_DLL_EXPORTS=1' ] - obj.cxxflags = [ '-fvisibility=hidden' ] - obj.cflags = [ '-fvisibility=hidden' ] else: print('BUILD STATIC LIB') obj = bld.stlib(features = 'cxx cxxstlib', source=libpbd_sources) diff --git a/libs/surfaces/control_protocol/wscript b/libs/surfaces/control_protocol/wscript index c79a3a2dbc..f14cee042f 100644 --- a/libs/surfaces/control_protocol/wscript +++ b/libs/surfaces/control_protocol/wscript @@ -29,8 +29,6 @@ def build(bld): obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=controlcp_sources) # defines for this library obj.defines = [ 'LIBCONTROLCP_DLL_EXPORTS' ] - obj.cxxflags = [ '-fvisibility=hidden' ] - obj.cflags = [ '-fvisibility=hidden' ] else: obj = bld.stlib(features = 'c cxx cstlib cxxstlib', source=controlcp_sources) obj.cxxflags = [ '-fPIC' ] diff --git a/wscript b/wscript index a0b439e48c..f665ff9a2f 100644 --- a/wscript +++ b/wscript @@ -694,8 +694,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