Branch: refs/heads/master Author: Colomban Wendling ban@herbesfolles.org Committer: Colomban Wendling ban@herbesfolles.org Date: Fri, 10 Apr 2015 14:16:19 UTC Commit: 07dacb66d23b58b34eee51aac28a8ad2fcf5693c https://github.com/geany/geany/commit/07dacb66d23b58b34eee51aac28a8ad2fcf569...
Log Message: ----------- waf: Improve passing of export and visibility flags
Modified Paths: -------------- wscript
Modified: wscript 31 lines changed, 16 insertions(+), 15 deletions(-) =================================================================== @@ -309,16 +309,18 @@ but you then may not have a local copy of the HTML manual.'''
# GEANY_EXPORT_SYMBOL and GEANY_API_SYMBOL if is_win32: - geany_symbol_flags = ['-DGEANY_EXPORT_SYMBOL=__declspec(dllexport)'] + geanyexport_cflags = [] + geanyexport_defines = ['GEANY_EXPORT_SYMBOL=__declspec(dllexport)'] elif visibility_hidden_supported: - geany_symbol_flags = ['-fvisibility=hidden', - '-DGEANY_EXPORT_SYMBOL=__attribute__((visibility("default")))'] - conf.env['CFLAGS_plugin'] = '-fvisibility=default' + geanyexport_cflags = ['-fvisibility=hidden'] + geanyexport_defines = ['GEANY_EXPORT_SYMBOL=__attribute__((visibility("default")))'] else: # unknown, define to nothing - geany_symbol_flags = ['-DGEANY_EXPORT_SYMBOL='] - geany_symbol_flags.append('-DGEANY_API_SYMBOL=GEANY_EXPORT_SYMBOL') - conf.env.append_value('CFLAGS', geany_symbol_flags) - conf.env.append_value('CXXFLAGS', geany_symbol_flags) + geanyexport_cflags = [] + geanyexport_defines = ['GEANY_EXPORT_SYMBOL='] + geanyexport_defines.append('GEANY_API_SYMBOL=GEANY_EXPORT_SYMBOL') + conf.env['DEFINES_geanyexport'] = geanyexport_defines + conf.env['CFLAGS_geanyexport'] = geanyexport_cflags + conf.env['CXXFLAGS_geanyexport'] = geanyexport_cflags
# some more compiler flags conf.env.append_value('CFLAGS', ['-DHAVE_CONFIG_H']) @@ -401,7 +403,6 @@ def build(bld): includes = ['.', 'src/', 'scintilla/include', 'tagmanager/src'], defines = 'G_LOG_DOMAIN="%s"' % plugin_name, target = plugin_name, - cflags = bld.env['CFLAGS_plugin'], uselib = ['GTK', 'GLIB', 'GMODULE'] + uselib_add, use = ['geany'], install_path = instpath) @@ -414,7 +415,7 @@ def build(bld): target = 'ctags', includes = ['.', 'tagmanager', 'tagmanager/ctags'], defines = 'G_LOG_DOMAIN="CTags"', - uselib = ['cshlib', 'GLIB']) + uselib = ['cshlib', 'GLIB', 'geanyexport'])
# Tagmanager bld.objects( @@ -424,7 +425,7 @@ def build(bld): target = 'tagmanager', includes = ['.', 'tagmanager', 'tagmanager/ctags'], defines = ['GEANY_PRIVATE', 'G_LOG_DOMAIN="Tagmanager"'], - uselib = ['cshlib', 'GTK', 'GLIB']) + uselib = ['cshlib', 'GTK', 'GLIB', 'geanyexport'])
# MIO bld.objects( @@ -434,7 +435,7 @@ def build(bld): target = 'mio', includes = ['.', 'tagmanager/mio/'], defines = 'G_LOG_DOMAIN="MIO"', - uselib = ['cshlib', 'GTK', 'GLIB']) + uselib = ['cshlib', 'GTK', 'GLIB', 'geanyexport'])
# Scintilla files = bld.srcnode.ant_glob('scintilla/**/*.cxx', src=True, dir=False) @@ -445,7 +446,7 @@ def build(bld): target = 'scintilla', source = scintilla_sources, includes = ['.', 'scintilla/include', 'scintilla/src', 'scintilla/lexlib'], - uselib = ['cshlib', 'cxxshlib', 'GTK', 'GLIB', 'GMODULE', 'M']) + uselib = ['cshlib', 'cxxshlib', 'GTK', 'GLIB', 'GMODULE', 'M', 'geanyexport'])
# Geany if bld.env['HAVE_VTE'] == 1: @@ -488,7 +489,7 @@ def build(bld): source = geany_sources, includes = ['.', 'scintilla/include', 'tagmanager/src', 'src'], defines = ['G_LOG_DOMAIN="Geany"', 'GEANY_PRIVATE'], - uselib = base_uselibs, + uselib = base_uselibs + ['geanyexport'], use = ['scintilla', 'ctags', 'tagmanager', 'mio'], linkflags = bld.env['LINKFLAGS_cprogram'], vnum = GEANY_LIB_VERSION, @@ -502,7 +503,7 @@ def build(bld): source = ['src/main.c'], includes = ['.', 'scintilla/include', 'tagmanager/src'], defines = ['G_LOG_DOMAIN="Geany"', 'GEANY_PRIVATE'], - uselib = base_uselibs, + uselib = base_uselibs + ['geanyexport'], use = ['geany']) if not is_win32: # http://www.freehackers.org/~tnagy/testdoc/single.html#common_c
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).