Update waf to its latest SVN version (nearly 1.5.0).
Adjust wscript to latest Waf API changes. git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3046 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
parent
4ec8d37075
commit
e13eb4148b
@ -13,6 +13,9 @@
|
|||||||
* geany.glade, src/interface.c:
|
* geany.glade, src/interface.c:
|
||||||
Enable interactive search for the keybindings tree view in the
|
Enable interactive search for the keybindings tree view in the
|
||||||
prefs dialog.
|
prefs dialog.
|
||||||
|
* wscript, waf:
|
||||||
|
Update waf to its latest SVN version (nearly 1.5.0).
|
||||||
|
Adjust wscript to latest Waf API changes.
|
||||||
|
|
||||||
|
|
||||||
2008-10-03 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
|
2008-10-03 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
|
||||||
|
75
wscript
75
wscript
@ -34,12 +34,13 @@ Missing features: --enable-binreloc, make targets: dist, pdf (in doc/)
|
|||||||
Known issues: Dependency handling is buggy, e.g. if src/document.h is
|
Known issues: Dependency handling is buggy, e.g. if src/document.h is
|
||||||
changed, depending source files are not rebuilt (maybe Waf bug).
|
changed, depending source files are not rebuilt (maybe Waf bug).
|
||||||
|
|
||||||
Requires WAF SVN r3976 (or later) and Python 2.4 (or later).
|
Requires WAF 1.5 (SVN r4661 or later) and Python 2.4 (or later).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
import Build, Configure, Options, Runner, Task, Utils
|
import Build, Configure, Options, Runner, Task, Utils
|
||||||
import sys, os, subprocess, shutil
|
import sys, os, subprocess, shutil
|
||||||
|
from distutils import version
|
||||||
|
|
||||||
|
|
||||||
APPNAME = 'geany'
|
APPNAME = 'geany'
|
||||||
@ -124,29 +125,6 @@ def configure(conf):
|
|||||||
pass
|
pass
|
||||||
return '-1'
|
return '-1'
|
||||||
|
|
||||||
def conf_get_pkg_ver(pkgname):
|
|
||||||
ret = os.popen('PKG_CONFIG_PATH=$PKG_CONFIG_PATH pkg-config --modversion %s' % pkgname).read().strip()
|
|
||||||
if ret:
|
|
||||||
return ret
|
|
||||||
else:
|
|
||||||
return '(unknown)'
|
|
||||||
|
|
||||||
def conf_check_header(header_name, mand = 0):
|
|
||||||
headerconf = conf.create_header_configurator()
|
|
||||||
headerconf.name = header_name
|
|
||||||
headerconf.mandatory = mand
|
|
||||||
headerconf.message = header_name + ' is necessary.'
|
|
||||||
headerconf.run()
|
|
||||||
|
|
||||||
# TODO this only checks in header files, not in libraries (fix this in Waf)
|
|
||||||
def conf_check_function(func_name, header_files = '', mand = 1):
|
|
||||||
functest = conf.create_function_enumerator()
|
|
||||||
functest.headers = header_files
|
|
||||||
functest.mandatory = mand
|
|
||||||
functest.function = func_name
|
|
||||||
functest.define = 'HAVE_' + func_name.upper()
|
|
||||||
functest.run()
|
|
||||||
|
|
||||||
def conf_define_from_opt(define_name, opt_name, default_value, quote=1):
|
def conf_define_from_opt(define_name, opt_name, default_value, quote=1):
|
||||||
if opt_name:
|
if opt_name:
|
||||||
if isinstance(opt_name, bool):
|
if isinstance(opt_name, bool):
|
||||||
@ -157,12 +135,12 @@ def configure(conf):
|
|||||||
|
|
||||||
conf.check_tool('compiler_cc')
|
conf.check_tool('compiler_cc')
|
||||||
|
|
||||||
conf_check_header('fcntl.h', 0)
|
conf.check(header_name='fcntl.h')
|
||||||
conf_check_header('fnmatch.h', 0)
|
conf.check(header_name='fnmatch.h')
|
||||||
conf_check_header('glob.h', 0)
|
conf.check(header_name='glob.h')
|
||||||
conf_check_header('sys/time.h', 0)
|
conf.check(header_name='sys/time.h')
|
||||||
conf_check_header('sys/types.h', 0)
|
conf.check(header_name='sys/types.h')
|
||||||
conf_check_header('sys/stat.h', 0)
|
conf.check(header_name='sys/stat.h')
|
||||||
conf.define('HAVE_STDLIB_H', 1) # are there systems without stdlib.h?
|
conf.define('HAVE_STDLIB_H', 1) # are there systems without stdlib.h?
|
||||||
conf.define('STDC_HEADERS', 1) # an optimistic guess ;-)
|
conf.define('STDC_HEADERS', 1) # an optimistic guess ;-)
|
||||||
|
|
||||||
@ -170,34 +148,37 @@ def configure(conf):
|
|||||||
conf.define('HAVE_REGCOMP', 1, 0)
|
conf.define('HAVE_REGCOMP', 1, 0)
|
||||||
conf.define('USE_INCLUDED_REGEX', 1, 0)
|
conf.define('USE_INCLUDED_REGEX', 1, 0)
|
||||||
else:
|
else:
|
||||||
conf_check_header('regex.h', 0)
|
conf.check(header_name='regex.h')
|
||||||
if conf.env['HAVE_REGEX_H'] == 1:
|
if conf.env['HAVE_REGEX_H'] == 1:
|
||||||
conf_check_function('regcomp', ['regex.h'], 0)
|
conf.check(function_name='regcomp', header_name='regex.h')
|
||||||
# fallback to included regex lib
|
# fallback to included regex lib
|
||||||
if conf.env['HAVE_REGCOMP'] != 1 or conf.env['HAVE_REGEX_H'] != 1:
|
if conf.env['HAVE_REGCOMP'] != 1 or conf.env['HAVE_REGEX_H'] != 1:
|
||||||
conf.define('HAVE_REGCOMP', 1, 0)
|
conf.define('HAVE_REGCOMP', 1, 0)
|
||||||
conf.define('USE_INCLUDED_REGEX', 1, 0)
|
conf.define('USE_INCLUDED_REGEX', 1, 0)
|
||||||
Utils.pprint('YELLOW', 'Using included GNU regex library.')
|
Utils.pprint('YELLOW', 'Using included GNU regex library.')
|
||||||
|
|
||||||
conf_check_function('fgetpos', ['stdio.h'], 0)
|
conf.check(function_name='fgetpos', header_name='stdio.h')
|
||||||
conf_check_function('ftruncate', ['unistd.h'], 0)
|
conf.check(function_name='ftruncate', header_name='unistd.h')
|
||||||
conf_check_function('gethostname', ['unistd.h'], 0)
|
conf.check(function_name='gethostname', header_name='unistd.h')
|
||||||
conf_check_function('mkstemp', ['stdlib.h'], 0)
|
conf.check(function_name='mkstemp', header_name='stdlib.h')
|
||||||
conf_check_function('strerror', ['string.h'], 0)
|
conf.check(function_name='strerror', header_name='string.h')
|
||||||
conf_check_function('strstr', ['string.h'], 1)
|
conf.check(function_name='strstr', header_name='string.h', mandatory=True)
|
||||||
|
|
||||||
# check for cxx after the header and function checks have been done to ensure they are
|
# check for cxx after the header and function checks have been done to ensure they are
|
||||||
# checked with cc not cxx
|
# checked with cc not cxx
|
||||||
conf.check_tool('compiler_cxx intltool misc')
|
conf.check_tool('compiler_cxx intltool misc')
|
||||||
|
|
||||||
# first check for GTK 2.10 for GTK printing message
|
conf.check_cfg(package='gtk+-2.0', atleast_version='2.6.0', uselib_store='GTK')
|
||||||
conf.check_pkg('gtk+-2.0', destvar='GTK', vnum='2.10.0')
|
conf.check_cfg(package='gtk+-2.0', args='--cflags --libs', uselib_store='GTK')
|
||||||
if conf.env['HAVE_GTK'] == 1:
|
|
||||||
have_gtk_210 = True
|
# GTK version check
|
||||||
|
have_gtk_210 = False
|
||||||
|
gtk_version = conf.check_cfg(modversion='gtk+-2.0', uselib_store='GTK')
|
||||||
|
if gtk_version:
|
||||||
|
if version.LooseVersion(gtk_version) >= version.LooseVersion('2.10.0'):
|
||||||
|
have_gtk_210 = True
|
||||||
else:
|
else:
|
||||||
# we don't have GTK >= 2.10, so check for at least 2.6 and fail if not found
|
gtk_version = 'Unknown'
|
||||||
conf.check_pkg('gtk+-2.0', destvar='GTK', vnum='2.6.0', mandatory=True)
|
|
||||||
have_gtk_210 = False
|
|
||||||
|
|
||||||
conf_define_from_opt('LIBDIR', Options.options.libdir, conf.env['PREFIX'] + '/lib')
|
conf_define_from_opt('LIBDIR', Options.options.libdir, conf.env['PREFIX'] + '/lib')
|
||||||
conf_define_from_opt('DOCDIR', Options.options.docdir, conf.env['DATADIR'] + '/doc/geany')
|
conf_define_from_opt('DOCDIR', Options.options.docdir, conf.env['DATADIR'] + '/doc/geany')
|
||||||
@ -224,7 +205,7 @@ def configure(conf):
|
|||||||
|
|
||||||
Utils.pprint('BLUE', 'Summary:')
|
Utils.pprint('BLUE', 'Summary:')
|
||||||
print_message('Install Geany ' + VERSION + ' in', conf.env['PREFIX'])
|
print_message('Install Geany ' + VERSION + ' in', conf.env['PREFIX'])
|
||||||
print_message('Using GTK version', conf_get_pkg_ver('gtk+-2.0'))
|
print_message('Using GTK version', gtk_version)
|
||||||
print_message('Build with GTK printing support', have_gtk_210 and 'yes' or 'no')
|
print_message('Build with GTK printing support', have_gtk_210 and 'yes' or 'no')
|
||||||
print_message('Build with plugin support', Options.options.no_plugins and 'no' or 'yes')
|
print_message('Build with plugin support', Options.options.no_plugins and 'no' or 'yes')
|
||||||
print_message('Use virtual terminal support', Options.options.no_vte and 'no' or 'yes')
|
print_message('Use virtual terminal support', Options.options.no_vte and 'no' or 'yes')
|
||||||
@ -233,7 +214,7 @@ def configure(conf):
|
|||||||
conf.env.append_value('CCFLAGS', '-g -DGEANY_DEBUG')
|
conf.env.append_value('CCFLAGS', '-g -DGEANY_DEBUG')
|
||||||
|
|
||||||
conf.env.append_value('CCFLAGS', '-DHAVE_CONFIG_H')
|
conf.env.append_value('CCFLAGS', '-DHAVE_CONFIG_H')
|
||||||
conf.env.append_value('CXXFLAGS', '-DNDEBUG -Os -DGTK -DGTK2 -DSCI_LEXER -DG_THREADS_IMPL_NONE \
|
conf.env.append_value('CXXFLAGS', '-DNDEBUG -DGTK -DGTK2 -DSCI_LEXER -DG_THREADS_IMPL_NONE \
|
||||||
-Wno-missing-braces -Wno-char-subscripts') # Scintilla flags
|
-Wno-missing-braces -Wno-char-subscripts') # Scintilla flags
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user