[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