[geany/geany] a32060: waf: Fixes for libgeany
Thomas Martitz
git-noreply at xxxxx
Fri Apr 10 14:16:19 UTC 2015
Branch: refs/heads/master
Author: Thomas Martitz <kugel at rockbox.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Fri, 10 Apr 2015 14:16:19 UTC
Commit: a320609d5f3e25104f072c196484ef8072bb4ea1
https://github.com/geany/geany/commit/a320609d5f3e25104f072c196484ef8072bb4ea1
Log Message:
-----------
waf: Fixes for libgeany
- libgeany install dir was wrong on win32
- comdlg32 is required
- more headers need to be installed
- -fPIC is required on some platforms
- LINKFLAGS_cprogram now have to be applied to libgeany.dll
Modified Paths:
--------------
wscript
Modified: wscript
52 lines changed, 44 insertions(+), 8 deletions(-)
===================================================================
@@ -63,7 +63,6 @@ GEANY_LIB_VERSION = '0.0.0'
top = '.'
out = '_build_'
-
mio_sources = set(['tagmanager/mio/mio.c'])
ctags_sources = set([
@@ -269,7 +268,7 @@ but you then may not have a local copy of the HTML manual.'''
'-mwindows',
'-static-libgcc',
'-static-libstdc++'])
- conf.env.append_value('LIB_WIN32', ['wsock32', 'uuid', 'ole32'])
+ conf.env.append_value('LIB_WIN32', ['wsock32', 'uuid', 'ole32', 'comdlg32'])
# explicitly define Windows version for older Mingw environments
conf.define('WINVER', '0x0501', quote=False) # for SHGetFolderPathAndSubDirW
conf.define('_WIN32_IE', '0x0500', quote=False) # for SHGFP_TYPE
@@ -285,6 +284,12 @@ but you then may not have a local copy of the HTML manual.'''
_define_from_opt(conf, 'DOCDIR', conf.options.docdir, docdir)
_define_from_opt(conf, 'LIBDIR', conf.options.libdir, libdir)
_define_from_opt(conf, 'MANDIR', conf.options.mandir, mandir)
+ # The check could be improved, -fPIC iso only really necessary on 64bit linux
+ # It is needed because waf doesn't realize the static files go into
+ # a shared library
+ conf.env.append_value('CFLAGS_cstlib', '-fPIC')
+ conf.env.append_value('CFLAGS_cxxstlib', '-fPIC')
+ conf.env.append_value('CXXFLAGS_cxxstlib', '-fPIC')
conf.define('ENABLE_NLS', 1)
conf.define('GEANY_LOCALEDIR', '' if is_win32 else conf.env['LOCALEDIR'], quote=True)
@@ -482,7 +487,11 @@ def build(bld):
rule = gen_signallist)
base_uselibs = ['GTK', 'GLIB', 'GMODULE', 'GIO', 'GTHREAD', 'WIN32', 'MAC_INTEGRATION', 'SUNOS_SOCKET', 'M']
+
# libgeany
+ instpath = '${PREFIX}/bin' if is_win32 else '${LIBDIR}'
+ linkflags = bld.env['LINKFLAGS_cprogram']
+
bld(
features = ['c', 'cxx', 'cshlib'],
name = 'geany',
@@ -492,7 +501,9 @@ def build(bld):
defines = ['G_LOG_DOMAIN="Geany"', 'GEANY_PRIVATE'],
uselib = base_uselibs,
use = ['scintilla', 'ctags', 'tagmanager', 'mio'],
- vnum = GEANY_LIB_VERSION)
+ linkflags = linkflags,
+ vnum = GEANY_LIB_VERSION,
+ install_path = instpath)
# geany executable
bld(
@@ -598,11 +609,36 @@ def build(bld):
###
# Headers
bld.install_files('${PREFIX}/include/geany', '''
- src/app.h src/document.h src/editor.h src/encodings.h src/filetypes.h src/geany.h
- src/highlighting.h src/keybindings.h src/msgwindow.h src/plugindata.h
- src/prefs.h src/project.h src/search.h src/stash.h src/support.h
- src/templates.h src/toolbar.h src/ui_utils.h src/utils.h src/build.h src/gtkcompat.h
- plugins/geanyplugin.h plugins/geanyfunctions.h''')
+ src/app.h
+ src/build.h
+ src/dialogs.h
+ src/document.h
+ src/editor.h
+ src/encodings.h
+ src/filetypes.h
+ src/geany.h
+ src/highlighting.h
+ src/keybindings.h
+ src/main.h
+ src/msgwindow.h
+ src/navqueue.h
+ src/plugindata.h
+ src/pluginutils.h
+ src/prefs.h
+ src/project.h
+ src/sciwrappers.h
+ src/search.h
+ src/stash.h
+ src/support.h
+ src/symbols.h
+ src/templates.h
+ src/toolbar.h
+ src/ui_utils.h
+ src/utils.h
+ src/gtkcompat.h
+ plugins/geanyplugin.h
+ plugins/geanyfunctions.h
+ ''')
bld.install_files('${PREFIX}/include/geany/scintilla', '''
scintilla/include/SciLexer.h scintilla/include/Scintilla.h
scintilla/include/Scintilla.iface scintilla/include/ScintillaWidget.h ''')
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Commits
mailing list