Revision: 3048 http://geany.svn.sourceforge.net/geany/?rev=3048&view=rev Author: eht16 Date: 2008-10-06 18:37:22 +0000 (Mon, 06 Oct 2008)
Log Message: ----------- Use Tabs for indentation.
Modified Paths: -------------- trunk/wscript
Modified: trunk/wscript =================================================================== --- trunk/wscript 2008-10-06 18:37:10 UTC (rev 3047) +++ trunk/wscript 2008-10-06 18:37:22 UTC (rev 3048) @@ -32,7 +32,7 @@
Missing features: --enable-binreloc, make targets: dist, pdf (in doc/) 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 1.5 (SVN r4661 or later) and Python 2.4 (or later). """ @@ -51,426 +51,426 @@
tagmanager_sources = [ - 'tagmanager/args.c', 'tagmanager/asm.c', 'tagmanager/basic.c', 'tagmanager/c.c', - 'tagmanager/conf.c', 'tagmanager/css.c', 'tagmanager/ctags.c', 'tagmanager/diff.c', - 'tagmanager/docbook.c', 'tagmanager/entry.c', 'tagmanager/fortran.c', 'tagmanager/get.c', - 'tagmanager/haskell.c', 'tagmanager/haxe.c', 'tagmanager/html.c', 'tagmanager/js.c', - 'tagmanager/keyword.c', 'tagmanager/latex.c', 'tagmanager/lregex.c', 'tagmanager/lua.c', - 'tagmanager/make.c', 'tagmanager/options.c', 'tagmanager/parse.c', 'tagmanager/pascal.c', - 'tagmanager/perl.c', 'tagmanager/php.c', 'tagmanager/python.c', 'tagmanager/read.c', - 'tagmanager/rest.c', 'tagmanager/ruby.c', 'tagmanager/sh.c', 'tagmanager/sort.c', - 'tagmanager/sql.c', 'tagmanager/strlist.c', 'tagmanager/tcl.c', 'tagmanager/tm_file_entry.c', - 'tagmanager/tm_project.c', 'tagmanager/tm_source_file.c', 'tagmanager/tm_symbol.c', - 'tagmanager/tm_tag.c', 'tagmanager/tm_tagmanager.c', 'tagmanager/tm_work_object.c', - 'tagmanager/tm_workspace.c', 'tagmanager/vhdl.c', 'tagmanager/vstring.c' ] + 'tagmanager/args.c', 'tagmanager/asm.c', 'tagmanager/basic.c', 'tagmanager/c.c', + 'tagmanager/conf.c', 'tagmanager/css.c', 'tagmanager/ctags.c', 'tagmanager/diff.c', + 'tagmanager/docbook.c', 'tagmanager/entry.c', 'tagmanager/fortran.c', 'tagmanager/get.c', + 'tagmanager/haskell.c', 'tagmanager/haxe.c', 'tagmanager/html.c', 'tagmanager/js.c', + 'tagmanager/keyword.c', 'tagmanager/latex.c', 'tagmanager/lregex.c', 'tagmanager/lua.c', + 'tagmanager/make.c', 'tagmanager/options.c', 'tagmanager/parse.c', 'tagmanager/pascal.c', + 'tagmanager/perl.c', 'tagmanager/php.c', 'tagmanager/python.c', 'tagmanager/read.c', + 'tagmanager/rest.c', 'tagmanager/ruby.c', 'tagmanager/sh.c', 'tagmanager/sort.c', + 'tagmanager/sql.c', 'tagmanager/strlist.c', 'tagmanager/tcl.c', 'tagmanager/tm_file_entry.c', + 'tagmanager/tm_project.c', 'tagmanager/tm_source_file.c', 'tagmanager/tm_symbol.c', + 'tagmanager/tm_tag.c', 'tagmanager/tm_tagmanager.c', 'tagmanager/tm_work_object.c', + 'tagmanager/tm_workspace.c', 'tagmanager/vhdl.c', 'tagmanager/vstring.c' ]
scintilla_sources = [ - 'scintilla/AutoComplete.cxx', 'scintilla/CallTip.cxx', 'scintilla/CellBuffer.cxx', - 'scintilla/CharClassify.cxx', 'scintilla/ContractionState.cxx', 'scintilla/Decoration.cxx', - 'scintilla/DocumentAccessor.cxx', 'scintilla/Document.cxx', 'scintilla/Editor.cxx', - 'scintilla/ExternalLexer.cxx', 'scintilla/Indicator.cxx', 'scintilla/KeyMap.cxx', - 'scintilla/KeyWords.cxx', 'scintilla/LexAsm.cxx', 'scintilla/LexBash.cxx', - 'scintilla/LexBasic.cxx', 'scintilla/LexCaml.cxx', 'scintilla/LexCPP.cxx', - 'scintilla/LexCrontab.cxx', 'scintilla/LexCSS.cxx', 'scintilla/LexD.cxx', - 'scintilla/LexFortran.cxx', 'scintilla/LexHaskell.cxx', 'scintilla/LexHTML.cxx', - 'scintilla/LexLua.cxx', 'scintilla/LexOMS.cxx', 'scintilla/LexOthers.cxx', - 'scintilla/LexPascal.cxx', 'scintilla/LexPerl.cxx', 'scintilla/LexPython.cxx', - 'scintilla/LexR.cxx', - 'scintilla/LexRuby.cxx', 'scintilla/LexSQL.cxx', 'scintilla/LexTCL.cxx', - 'scintilla/LexVHDL.cxx', 'scintilla/LineMarker.cxx', 'scintilla/PlatGTK.cxx', - 'scintilla/PositionCache.cxx', 'scintilla/PropSet.cxx', 'scintilla/RESearch.cxx', - 'scintilla/RunStyles.cxx', 'scintilla/ScintillaBase.cxx', 'scintilla/ScintillaGTK.cxx', - 'scintilla/scintilla-marshal.c', 'scintilla/StyleContext.cxx', 'scintilla/Style.cxx', - 'scintilla/UniConversion.cxx', 'scintilla/ViewStyle.cxx', 'scintilla/WindowAccessor.cxx', - 'scintilla/XPM.cxx' ] + 'scintilla/AutoComplete.cxx', 'scintilla/CallTip.cxx', 'scintilla/CellBuffer.cxx', + 'scintilla/CharClassify.cxx', 'scintilla/ContractionState.cxx', 'scintilla/Decoration.cxx', + 'scintilla/DocumentAccessor.cxx', 'scintilla/Document.cxx', 'scintilla/Editor.cxx', + 'scintilla/ExternalLexer.cxx', 'scintilla/Indicator.cxx', 'scintilla/KeyMap.cxx', + 'scintilla/KeyWords.cxx', 'scintilla/LexAsm.cxx', 'scintilla/LexBash.cxx', + 'scintilla/LexBasic.cxx', 'scintilla/LexCaml.cxx', 'scintilla/LexCPP.cxx', + 'scintilla/LexCrontab.cxx', 'scintilla/LexCSS.cxx', 'scintilla/LexD.cxx', + 'scintilla/LexFortran.cxx', 'scintilla/LexHaskell.cxx', 'scintilla/LexHTML.cxx', + 'scintilla/LexLua.cxx', 'scintilla/LexOMS.cxx', 'scintilla/LexOthers.cxx', + 'scintilla/LexPascal.cxx', 'scintilla/LexPerl.cxx', 'scintilla/LexPython.cxx', + 'scintilla/LexR.cxx', + 'scintilla/LexRuby.cxx', 'scintilla/LexSQL.cxx', 'scintilla/LexTCL.cxx', + 'scintilla/LexVHDL.cxx', 'scintilla/LineMarker.cxx', 'scintilla/PlatGTK.cxx', + 'scintilla/PositionCache.cxx', 'scintilla/PropSet.cxx', 'scintilla/RESearch.cxx', + 'scintilla/RunStyles.cxx', 'scintilla/ScintillaBase.cxx', 'scintilla/ScintillaGTK.cxx', + 'scintilla/scintilla-marshal.c', 'scintilla/StyleContext.cxx', 'scintilla/Style.cxx', + 'scintilla/UniConversion.cxx', 'scintilla/ViewStyle.cxx', 'scintilla/WindowAccessor.cxx', + 'scintilla/XPM.cxx' ]
geany_sources = [ - 'src/about.c', 'src/build.c', 'src/callbacks.c', 'src/dialogs.c', 'src/document.c', - 'src/editor.c', 'src/encodings.c', 'src/filetypes.c', 'src/geanyobject.c', - 'src/geanywraplabel.c', 'src/highlighting.c', 'src/interface.c', 'src/keybindings.c', - 'src/keyfile.c', 'src/log.c', 'src/main.c', 'src/msgwindow.c', 'src/navqueue.c', 'src/notebook.c', - 'src/plugins.c', 'src/prefix.c', 'src/prefs.c', 'src/printing.c', 'src/project.c', - 'src/sciwrappers.c', 'src/search.c', 'src/socket.c', 'src/support.c', 'src/symbols.c', - 'src/templates.c', 'src/tools.c', 'src/treeviews.c', 'src/ui_utils.c', 'src/utils.c' ] + 'src/about.c', 'src/build.c', 'src/callbacks.c', 'src/dialogs.c', 'src/document.c', + 'src/editor.c', 'src/encodings.c', 'src/filetypes.c', 'src/geanyobject.c', + 'src/geanywraplabel.c', 'src/highlighting.c', 'src/interface.c', 'src/keybindings.c', + 'src/keyfile.c', 'src/log.c', 'src/main.c', 'src/msgwindow.c', 'src/navqueue.c', 'src/notebook.c', + 'src/plugins.c', 'src/prefix.c', 'src/prefs.c', 'src/printing.c', 'src/project.c', + 'src/sciwrappers.c', 'src/search.c', 'src/socket.c', 'src/support.c', 'src/symbols.c', + 'src/templates.c', 'src/tools.c', 'src/treeviews.c', 'src/ui_utils.c', 'src/utils.c' ]
def configure(conf): - def conf_get_svn_rev(): - # try GIT - if os.path.exists('.git'): - cmds = [ 'git svn find-rev HEAD 2>/dev/null', - 'git svn find-rev origin/trunk 2>/dev/null', - 'git svn find-rev trunk 2>/dev/null', - 'git svn find-rev master 2>/dev/null' ] - for c in cmds: - try: - stdout = Utils.cmd_output(c) - if stdout: - return stdout.strip() - except: - pass - # try SVN - elif os.path.exists('.svn'): - try: - stdout = Utils.cmd_output('svn info --non-interactive', {'LANG' : 'C'}) - lines = stdout.splitlines(True) - for line in lines: - if line.startswith('Last Changed Rev'): - key, value = line.split(': ', 1) - return value.strip() - except: - pass - else: - pass - return '-1' + def conf_get_svn_rev(): + # try GIT + if os.path.exists('.git'): + cmds = [ 'git svn find-rev HEAD 2>/dev/null', + 'git svn find-rev origin/trunk 2>/dev/null', + 'git svn find-rev trunk 2>/dev/null', + 'git svn find-rev master 2>/dev/null' ] + for c in cmds: + try: + stdout = Utils.cmd_output(c) + if stdout: + return stdout.strip() + except: + pass + # try SVN + elif os.path.exists('.svn'): + try: + stdout = Utils.cmd_output('svn info --non-interactive', {'LANG' : 'C'}) + lines = stdout.splitlines(True) + for line in lines: + if line.startswith('Last Changed Rev'): + key, value = line.split(': ', 1) + return value.strip() + except: + pass + else: + pass + return '-1'
- def conf_define_from_opt(define_name, opt_name, default_value, quote=1): - if opt_name: - if isinstance(opt_name, bool): - opt_name = 1 - conf.define(define_name, opt_name, quote) - elif default_value: - conf.define(define_name, default_value, quote) + def conf_define_from_opt(define_name, opt_name, default_value, quote=1): + if opt_name: + if isinstance(opt_name, bool): + opt_name = 1 + conf.define(define_name, opt_name, quote) + elif default_value: + conf.define(define_name, default_value, quote)
- conf.check_tool('compiler_cc') + conf.check_tool('compiler_cc')
- conf.check(header_name='fcntl.h') - conf.check(header_name='fnmatch.h') - conf.check(header_name='glob.h') - conf.check(header_name='sys/time.h') - conf.check(header_name='sys/types.h') - conf.check(header_name='sys/stat.h') - conf.define('HAVE_STDLIB_H', 1) # are there systems without stdlib.h? - conf.define('STDC_HEADERS', 1) # an optimistic guess ;-) + conf.check(header_name='fcntl.h') + conf.check(header_name='fnmatch.h') + conf.check(header_name='glob.h') + conf.check(header_name='sys/time.h') + conf.check(header_name='sys/types.h') + conf.check(header_name='sys/stat.h') + conf.define('HAVE_STDLIB_H', 1) # are there systems without stdlib.h? + conf.define('STDC_HEADERS', 1) # an optimistic guess ;-)
- if Options.options.gnu_regex: - conf.define('HAVE_REGCOMP', 1, 0) - conf.define('USE_INCLUDED_REGEX', 1, 0) - else: - conf.check(header_name='regex.h') - if conf.env['HAVE_REGEX_H'] == 1: - conf.check(function_name='regcomp', header_name='regex.h') - # fallback to included regex lib - if conf.env['HAVE_REGCOMP'] != 1 or conf.env['HAVE_REGEX_H'] != 1: - conf.define('HAVE_REGCOMP', 1, 0) - conf.define('USE_INCLUDED_REGEX', 1, 0) - Utils.pprint('YELLOW', 'Using included GNU regex library.') + if Options.options.gnu_regex: + conf.define('HAVE_REGCOMP', 1, 0) + conf.define('USE_INCLUDED_REGEX', 1, 0) + else: + conf.check(header_name='regex.h') + if conf.env['HAVE_REGEX_H'] == 1: + conf.check(function_name='regcomp', header_name='regex.h') + # fallback to included regex lib + if conf.env['HAVE_REGCOMP'] != 1 or conf.env['HAVE_REGEX_H'] != 1: + conf.define('HAVE_REGCOMP', 1, 0) + conf.define('USE_INCLUDED_REGEX', 1, 0) + Utils.pprint('YELLOW', 'Using included GNU regex library.')
- conf.check(function_name='fgetpos', header_name='stdio.h') - conf.check(function_name='ftruncate', header_name='unistd.h') - conf.check(function_name='gethostname', header_name='unistd.h') - conf.check(function_name='mkstemp', header_name='stdlib.h') - conf.check(function_name='strstr', header_name='string.h', mandatory=True) + conf.check(function_name='fgetpos', header_name='stdio.h') + conf.check(function_name='ftruncate', header_name='unistd.h') + conf.check(function_name='gethostname', header_name='unistd.h') + conf.check(function_name='mkstemp', header_name='stdlib.h') + 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 - # checked with cc not cxx - conf.check_tool('compiler_cxx intltool misc') + # check for cxx after the header and function checks have been done to ensure they are + # checked with cc not cxx + conf.check_tool('compiler_cxx intltool misc')
- conf.check_cfg(package='gtk+-2.0', atleast_version='2.6.0', uselib_store='GTK') - conf.check_cfg(package='gtk+-2.0', args='--cflags --libs', uselib_store='GTK') + conf.check_cfg(package='gtk+-2.0', atleast_version='2.6.0', uselib_store='GTK') + conf.check_cfg(package='gtk+-2.0', args='--cflags --libs', uselib_store='GTK')
- # 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: - gtk_version = 'Unknown' + # 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: + gtk_version = 'Unknown'
- 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('MANDIR', Options.options.mandir, conf.env['DATADIR'] + '/man') + 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('MANDIR', Options.options.mandir, conf.env['DATADIR'] + '/man')
- svn_rev = conf_get_svn_rev() - conf.define('ENABLE_NLS', 1) - conf.define('GEANY_LOCALEDIR', 'LOCALEDIR', 0) - conf.define('GEANY_DATADIR', 'DATADIR', 0) - conf.define('GEANY_DOCDIR', 'DOCDIR', 0) - conf.define('GEANY_LIBDIR', 'LIBDIR', 0) - conf.define('GEANY_PREFIX', conf.env['PREFIX'], 1) - conf.define('PACKAGE', APPNAME, 1) - conf.define('VERSION', VERSION, 1) - conf.define('REVISION', svn_rev, 1) + svn_rev = conf_get_svn_rev() + conf.define('ENABLE_NLS', 1) + conf.define('GEANY_LOCALEDIR', 'LOCALEDIR', 0) + conf.define('GEANY_DATADIR', 'DATADIR', 0) + conf.define('GEANY_DOCDIR', 'DOCDIR', 0) + conf.define('GEANY_LIBDIR', 'LIBDIR', 0) + conf.define('GEANY_PREFIX', conf.env['PREFIX'], 1) + conf.define('PACKAGE', APPNAME, 1) + conf.define('VERSION', VERSION, 1) + conf.define('REVISION', svn_rev, 1)
- conf.define('GETTEXT_PACKAGE', APPNAME, 1) + conf.define('GETTEXT_PACKAGE', APPNAME, 1)
- conf_define_from_opt('HAVE_PLUGINS', not Options.options.no_plugins, None, 0) - conf_define_from_opt('HAVE_SOCKET', not Options.options.no_socket, None, 0) - conf_define_from_opt('HAVE_VTE', not Options.options.no_vte, None, 0) + conf_define_from_opt('HAVE_PLUGINS', not Options.options.no_plugins, None, 0) + conf_define_from_opt('HAVE_SOCKET', not Options.options.no_socket, None, 0) + conf_define_from_opt('HAVE_VTE', not Options.options.no_vte, None, 0)
- conf.write_config_header('config.h') + conf.write_config_header('config.h')
- Utils.pprint('BLUE', 'Summary:') - print_message('Install Geany ' + VERSION + ' in', conf.env['PREFIX']) - 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 plugin support', Options.options.no_plugins and 'no' or 'yes') - print_message('Use virtual terminal support', Options.options.no_vte and 'no' or 'yes') - if svn_rev != '-1': - print_message('Compiling Subversion revision', svn_rev) - conf.env.append_value('CCFLAGS', '-g -DGEANY_DEBUG') + Utils.pprint('BLUE', 'Summary:') + print_message('Install Geany ' + VERSION + ' in', conf.env['PREFIX']) + 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 plugin support', Options.options.no_plugins and 'no' or 'yes') + print_message('Use virtual terminal support', Options.options.no_vte and 'no' or 'yes') + if svn_rev != '-1': + print_message('Compiling Subversion revision', svn_rev) + conf.env.append_value('CCFLAGS', '-g -DGEANY_DEBUG')
- conf.env.append_value('CCFLAGS', '-DHAVE_CONFIG_H') - conf.env.append_value('CXXFLAGS', '-DNDEBUG -DGTK -DGTK2 -DSCI_LEXER -DG_THREADS_IMPL_NONE \ - -Wno-missing-braces -Wno-char-subscripts') # Scintilla flags + conf.env.append_value('CCFLAGS', '-DHAVE_CONFIG_H') + conf.env.append_value('CXXFLAGS', '-DNDEBUG -DGTK -DGTK2 -DSCI_LEXER -DG_THREADS_IMPL_NONE \ + -Wno-missing-braces -Wno-char-subscripts') # Scintilla flags
def set_options(opt): - opt.tool_options('compiler_cc') - opt.tool_options('compiler_cxx') - opt.tool_options('intltool') + opt.tool_options('compiler_cc') + opt.tool_options('compiler_cxx') + opt.tool_options('intltool')
- if 'configure' in sys.argv: - # Features - opt.add_option('--disable-plugins', action='store_true', default=False, - help='compile without plugin support [default: No]', dest='no_plugins') - opt.add_option('--disable-socket', action='store_true', default=False, - help='compile without support to detect a running instance [[default: No]', dest='no_socket') - opt.add_option('--disable-vte', action='store_true', default=False, - help='compile without support for an embedded virtual terminal [[default: No]', dest='no_vte') - opt.add_option('--enable-gnu-regex', action='store_true', default=False, - help='compile with included GNU regex library [default: No]', dest='gnu_regex') - # Paths - opt.add_option('--mandir', type='string', default='', - help='man documentation', dest='mandir') - opt.add_option('--docdir', type='string', default='', - help='documentation root', dest='docdir') - opt.add_option('--libdir', type='string', default='', - help='object code libraries', dest='libdir') - # Actions - opt.add_option('--htmldoc', action='store_true', default=False, - help='generate HTML documentation', dest='htmldoc') - opt.add_option('--apidoc', action='store_true', default=False, - help='generate API reference documentation', dest='apidoc') - opt.add_option('--update-po', action='store_true', default=False, - help='update the message catalogs for translation', dest='update_po') + if 'configure' in sys.argv: + # Features + opt.add_option('--disable-plugins', action='store_true', default=False, + help='compile without plugin support [default: No]', dest='no_plugins') + opt.add_option('--disable-socket', action='store_true', default=False, + help='compile without support to detect a running instance [[default: No]', dest='no_socket') + opt.add_option('--disable-vte', action='store_true', default=False, + help='compile without support for an embedded virtual terminal [[default: No]', dest='no_vte') + opt.add_option('--enable-gnu-regex', action='store_true', default=False, + help='compile with included GNU regex library [default: No]', dest='gnu_regex') + # Paths + opt.add_option('--mandir', type='string', default='', + help='man documentation', dest='mandir') + opt.add_option('--docdir', type='string', default='', + help='documentation root', dest='docdir') + opt.add_option('--libdir', type='string', default='', + help='object code libraries', dest='libdir') + # Actions + opt.add_option('--htmldoc', action='store_true', default=False, + help='generate HTML documentation', dest='htmldoc') + opt.add_option('--apidoc', action='store_true', default=False, + help='generate API reference documentation', dest='apidoc') + opt.add_option('--update-po', action='store_true', default=False, + help='update the message catalogs for translation', dest='update_po')
def build(bld): - def build_plugin(plugin_name, install = True): - obj = bld.new_task_gen('cc', 'shlib') - obj.source = 'plugins/' + plugin_name + '.c' - obj.includes = '. plugins/ src/ scintilla/include tagmanager/include' - obj.env['shlib_PATTERN'] = '%s.so' - obj.target = plugin_name - obj.uselib = 'GTK' - if install: - obj.install_path = '${LIBDIR}/geany/' - else: - obj.install_path = 0 - #~ obj.want_libtool = 1 + def build_plugin(plugin_name, install = True): + obj = bld.new_task_gen('cc', 'shlib') + obj.source = 'plugins/' + plugin_name + '.c' + obj.includes = '. plugins/ src/ scintilla/include tagmanager/include' + obj.env['shlib_PATTERN'] = '%s.so' + obj.target = plugin_name + obj.uselib = 'GTK' + if install: + obj.install_path = '${LIBDIR}/geany/' + else: + obj.install_path = 0 + #~ obj.want_libtool = 1
- # Tagmanager - if bld.env['USE_INCLUDED_REGEX'] == 1: - tagmanager_sources.append('tagmanager/regex.c') - obj = bld.new_task_gen('cc', 'staticlib') - obj.name = 'tagmanager' - obj.target = 'tagmanager' - obj.source = tagmanager_sources - obj.includes = '. tagmanager/ tagmanager/include/' - obj.uselib = 'GTK' - obj.install_path = 0 # do not install this library + # Tagmanager + if bld.env['USE_INCLUDED_REGEX'] == 1: + tagmanager_sources.append('tagmanager/regex.c') + obj = bld.new_task_gen('cc', 'staticlib') + obj.name = 'tagmanager' + obj.target = 'tagmanager' + obj.source = tagmanager_sources + obj.includes = '. tagmanager/ tagmanager/include/' + obj.uselib = 'GTK' + obj.install_path = 0 # do not install this library
- # Scintilla - obj = bld.new_task_gen('cxx', 'staticlib') - obj.features.append('cc') - obj.name = 'scintilla' - obj.target = 'scintilla' - obj.source = scintilla_sources - obj.includes = 'scintilla/ scintilla/include/' - obj.uselib = 'GTK' - obj.install_path = 0 # do not install this library + # Scintilla + obj = bld.new_task_gen('cxx', 'staticlib') + obj.features.append('cc') + obj.name = 'scintilla' + obj.target = 'scintilla' + obj.source = scintilla_sources + obj.includes = 'scintilla/ scintilla/include/' + obj.uselib = 'GTK' + obj.install_path = 0 # do not install this library
- # Geany - if bld.env['HAVE_VTE'] == 1: - geany_sources.append('src/vte.c') - if sys.platform == "win32": - geany_sources.append('src/win32.c') - obj = bld.new_task_gen('cxx', 'program') - obj.features.append('cc') - obj.name = 'geany' - obj.target = 'geany' - obj.source = geany_sources - obj.includes = '. src/ scintilla/include/ tagmanager/include/' - obj.uselib = 'GTK' - obj.uselib_local = 'scintilla tagmanager' + # Geany + if bld.env['HAVE_VTE'] == 1: + geany_sources.append('src/vte.c') + if sys.platform == "win32": + geany_sources.append('src/win32.c') + obj = bld.new_task_gen('cxx', 'program') + obj.features.append('cc') + obj.name = 'geany' + obj.target = 'geany' + obj.source = geany_sources + obj.includes = '. src/ scintilla/include/ tagmanager/include/' + obj.uselib = 'GTK' + obj.uselib_local = 'scintilla tagmanager'
- # Plugins - if bld.env['HAVE_PLUGINS'] == 1: - build_plugin('classbuilder') - build_plugin('demoplugin', False) - build_plugin('export') - build_plugin('filebrowser') - build_plugin('htmlchars') - build_plugin('saveactions') - build_plugin('splitwindow') - build_plugin('vcdiff') + # Plugins + if bld.env['HAVE_PLUGINS'] == 1: + build_plugin('classbuilder') + build_plugin('demoplugin', False) + build_plugin('export') + build_plugin('filebrowser') + build_plugin('htmlchars') + build_plugin('saveactions') + build_plugin('splitwindow') + build_plugin('vcdiff')
- # Translations - obj = bld.new_task_gen('intltool_po') - obj.podir = 'po' - obj.appname = 'geany' + # Translations + obj = bld.new_task_gen('intltool_po') + obj.podir = 'po' + obj.appname = 'geany'
- # geany.desktop - obj = bld.new_task_gen('intltool_in') - obj.source = 'geany.desktop.in' - obj.flags = '-d' - obj.install_path = '${DATADIR}/applications' + # geany.desktop + obj = bld.new_task_gen('intltool_in') + obj.source = 'geany.desktop.in' + obj.flags = '-d' + obj.install_path = '${DATADIR}/applications'
- # geany.pc - obj = bld.new_task_gen('subst') - obj.source = 'geany.pc.in' - obj.target = 'geany.pc' - obj.dict = { 'VERSION' : VERSION, - 'prefix': bld.env['PREFIX'], - 'exec_prefix': '${prefix}', - 'libdir': '${exec_prefix}/lib', - 'includedir': '${prefix}/include', - 'datarootdir': '${prefix}/share', - 'datadir': '${datarootdir}', - 'localedir': '${datarootdir}/locale' } - # seems currently broken in Waf - #~ obj.install_path = '${LIBDIR}/pkgconfig' - obj.install_path = 0 - bld.install_files('${LIBDIR}/pkgconfig', 'geany.pc') + # geany.pc + obj = bld.new_task_gen('subst') + obj.source = 'geany.pc.in' + obj.target = 'geany.pc' + obj.dict = { 'VERSION' : VERSION, + 'prefix': bld.env['PREFIX'], + 'exec_prefix': '${prefix}', + 'libdir': '${exec_prefix}/lib', + 'includedir': '${prefix}/include', + 'datarootdir': '${prefix}/share', + 'datadir': '${datarootdir}', + 'localedir': '${datarootdir}/locale' } + # seems currently broken in Waf + #~ obj.install_path = '${LIBDIR}/pkgconfig' + obj.install_path = 0 + bld.install_files('${LIBDIR}/pkgconfig', 'geany.pc')
- # geany.1 - obj = bld.new_task_gen('subst') - obj.source = 'doc/geany.1.in' - obj.target = 'geany.1' - obj.dict = { 'VERSION' : VERSION, - 'GEANY_DATA_DIR': bld.env['DATADIR'] + '/geany' } - # seems currently broken in Waf - #~ obj.install_path = '${MANDIR}/man1' - obj.install_path = 0 - bld.install_files('${MANDIR}/man1', 'doc/geany.1') + # geany.1 + obj = bld.new_task_gen('subst') + obj.source = 'doc/geany.1.in' + obj.target = 'geany.1' + obj.dict = { 'VERSION' : VERSION, + 'GEANY_DATA_DIR': bld.env['DATADIR'] + '/geany' } + # seems currently broken in Waf + #~ obj.install_path = '${MANDIR}/man1' + obj.install_path = 0 + bld.install_files('${MANDIR}/man1', 'doc/geany.1')
- # geany.spec - obj = bld.new_task_gen('subst') - obj.source = 'geany.spec.in' - obj.target = 'geany.spec' - obj.install_path = 0 - obj.dict = { 'VERSION' : VERSION } + # geany.spec + obj = bld.new_task_gen('subst') + obj.source = 'geany.spec.in' + obj.target = 'geany.spec' + obj.install_path = 0 + obj.dict = { 'VERSION' : VERSION }
- # Doxyfile - obj = bld.new_task_gen('subst') - obj.source = 'doc/Doxyfile.in' - obj.target = 'Doxyfile' - obj.install_path = 0 - obj.dict = { 'VERSION' : VERSION } + # Doxyfile + obj = bld.new_task_gen('subst') + obj.source = 'doc/Doxyfile.in' + obj.target = 'Doxyfile' + obj.install_path = 0 + obj.dict = { 'VERSION' : VERSION }
- ### - # Install files - ### - # Headers - bld.install_files('${PREFIX}/include/geany', ''' - 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/msgwindow.h src/plugindata.h src/plugins.h - src/prefs.h src/project.h src/sciwrappers.h src/search.h src/support.h src/templates.h - src/ui_utils.h src/utils.h - plugins/pluginmacros.h ''') - bld.install_files('${PREFIX}/include/geany/scintilla', ''' - scintilla/include/SciLexer.h scintilla/include/Scintilla.h scintilla/include/Scintilla.iface - scintilla/include/ScintillaWidget.h ''') - bld.install_files('${PREFIX}/include/geany/tagmanager', ''' - tagmanager/include/tm_file_entry.h tagmanager/include/tm_project.h tagmanager/include/tm_source_file.h - tagmanager/include/tm_symbol.h tagmanager/include/tm_tag.h tagmanager/include/tm_tagmanager.h - tagmanager/include/tm_work_object.h tagmanager/include/tm_workspace.h ''') - # Docs - bld.install_files('${DOCDIR}', 'AUTHORS ChangeLog COPYING README NEWS THANKS TODO') - bld.install_files('${DOCDIR}/html/images', 'doc/images/*.png') - bld.install_as('${DOCDIR}/manual.txt', 'doc/geany.txt') - bld.install_as('${DOCDIR}/html/index.html', 'doc/geany.html') - bld.install_as('${DOCDIR}/ScintillaLicense.txt', 'scintilla/License.txt') - # Data - bld.install_files('${DATADIR}/geany', 'data/filetype*') - bld.install_files('${DATADIR}/geany', 'data/*.tags') - bld.install_files('${DATADIR}/geany', 'data/snippets.conf') - bld.install_as('${DATADIR}/geany/GPL-2', 'COPYING') - # Icons - bld.install_files('${DATADIR}/pixmaps', 'pixmaps/geany.png') - bld.install_files('${DATADIR}/icons/hicolor/16x16/apps', 'icons/16x16/*.png') + ### + # Install files + ### + # Headers + bld.install_files('${PREFIX}/include/geany', ''' + 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/msgwindow.h src/plugindata.h src/plugins.h + src/prefs.h src/project.h src/sciwrappers.h src/search.h src/support.h src/templates.h + src/ui_utils.h src/utils.h + plugins/pluginmacros.h ''') + bld.install_files('${PREFIX}/include/geany/scintilla', ''' + scintilla/include/SciLexer.h scintilla/include/Scintilla.h scintilla/include/Scintilla.iface + scintilla/include/ScintillaWidget.h ''') + bld.install_files('${PREFIX}/include/geany/tagmanager', ''' + tagmanager/include/tm_file_entry.h tagmanager/include/tm_project.h tagmanager/include/tm_source_file.h + tagmanager/include/tm_symbol.h tagmanager/include/tm_tag.h tagmanager/include/tm_tagmanager.h + tagmanager/include/tm_work_object.h tagmanager/include/tm_workspace.h ''') + # Docs + bld.install_files('${DOCDIR}', 'AUTHORS ChangeLog COPYING README NEWS THANKS TODO') + bld.install_files('${DOCDIR}/html/images', 'doc/images/*.png') + bld.install_as('${DOCDIR}/manual.txt', 'doc/geany.txt') + bld.install_as('${DOCDIR}/html/index.html', 'doc/geany.html') + bld.install_as('${DOCDIR}/ScintillaLicense.txt', 'scintilla/License.txt') + # Data + bld.install_files('${DATADIR}/geany', 'data/filetype*') + bld.install_files('${DATADIR}/geany', 'data/*.tags') + bld.install_files('${DATADIR}/geany', 'data/snippets.conf') + bld.install_as('${DATADIR}/geany/GPL-2', 'COPYING') + # Icons + bld.install_files('${DATADIR}/pixmaps', 'pixmaps/geany.png') + bld.install_files('${DATADIR}/icons/hicolor/16x16/apps', 'icons/16x16/*.png')
def shutdown(): - # the following code was taken from midori's WAF script, thanks - if Options.commands['install'] or Options.commands['uninstall']: - dir = Build.bld.get_install_path('${DATADIR}/icons/hicolor') - icon_cache_updated = False - if not Options.options.destdir: - try: - subprocess.call(['gtk-update-icon-cache', '-q', '-f', '-t', dir]) - Utils.pprint('GREEN', 'GTK icon cache updated.') - icon_cache_updated = True - except: - Utils.pprint('YELLOW', 'Failed to update icon cache for ' + dir + '.') - if not icon_cache_updated and not Options.options.destdir: - print 'Icon cache not updated. After install, run this:' - print 'gtk-update-icon-cache -q -f -t %s' % dir + # the following code was taken from midori's WAF script, thanks + if Options.commands['install'] or Options.commands['uninstall']: + dir = Build.bld.get_install_path('${DATADIR}/icons/hicolor') + icon_cache_updated = False + if not Options.options.destdir: + try: + subprocess.call(['gtk-update-icon-cache', '-q', '-f', '-t', dir]) + Utils.pprint('GREEN', 'GTK icon cache updated.') + icon_cache_updated = True + except: + Utils.pprint('YELLOW', 'Failed to update icon cache for ' + dir + '.') + if not icon_cache_updated and not Options.options.destdir: + print 'Icon cache not updated. After install, run this:' + print 'gtk-update-icon-cache -q -f -t %s' % dir
- if Options.options.apidoc: - doxyfile = os.path.join(Build.bld.srcnode.abspath( \ - Build.bld.env), 'doc', 'Doxyfile') - os.chdir('doc') - launch('doxygen ' + doxyfile, 'Generating API reference documentation') + if Options.options.apidoc: + doxyfile = os.path.join(Build.bld.srcnode.abspath( \ + Build.bld.env), 'doc', 'Doxyfile') + os.chdir('doc') + launch('doxygen ' + doxyfile, 'Generating API reference documentation')
- if Options.options.htmldoc: - os.chdir('doc') - # first try rst2html.py as it is the upstream default - ret = launch('rst2html.py -stg --stylesheet=geany.css geany.txt geany.html', - 'Generating HTML documentation') - if not ret == 0: - launch('rst2html -stg --stylesheet=geany.css geany.txt geany.html', - 'Generating HTML documentation (using fallback "rst2html")') + if Options.options.htmldoc: + os.chdir('doc') + # first try rst2html.py as it is the upstream default + ret = launch('rst2html.py -stg --stylesheet=geany.css geany.txt geany.html', + 'Generating HTML documentation') + if not ret == 0: + launch('rst2html -stg --stylesheet=geany.css geany.txt geany.html', + 'Generating HTML documentation (using fallback "rst2html")')
- if Options.options.update_po: - # the following code was taken from midori's WAF script, thanks - os.chdir('./po') - try: - try: - size_old = os.stat('geany.pot').st_size - except: - size_old = 0 - subprocess.call(['intltool-update', '--pot']) - size_new = os.stat('geany.pot').st_size - if size_new != size_old: - Utils.pprint('CYAN', 'Updated POT file.') - launch('intltool-update -r', 'Updating translations', 'CYAN') - else: - Utils.pprint('CYAN', 'POT file is up to date.') - except: - Utils.pprint('RED', 'Failed to generate pot file.') - os.chdir('..') + if Options.options.update_po: + # the following code was taken from midori's WAF script, thanks + os.chdir('./po') + try: + try: + size_old = os.stat('geany.pot').st_size + except: + size_old = 0 + subprocess.call(['intltool-update', '--pot']) + size_new = os.stat('geany.pot').st_size + if size_new != size_old: + Utils.pprint('CYAN', 'Updated POT file.') + launch('intltool-update -r', 'Updating translations', 'CYAN') + else: + Utils.pprint('CYAN', 'POT file is up to date.') + except: + Utils.pprint('RED', 'Failed to generate pot file.') + os.chdir('..')
# Simple function to execute a command and print its exit status def launch(command, status, success_color='GREEN'): - ret = 0 - Utils.pprint(success_color, status) - try: - ret = subprocess.call(command.split()) - except OSError, e: - ret = 1 - print str(e), ":", command - except: - ret = 1 + ret = 0 + Utils.pprint(success_color, status) + try: + ret = subprocess.call(command.split()) + except OSError, e: + ret = 1 + print str(e), ":", command + except: + ret = 1
- if ret != 0: - Utils.pprint('RED', status + ' failed') + if ret != 0: + Utils.pprint('RED', status + ' failed')
- return ret + return ret
line_len = 0
def print_message(msg, result, color = 'GREEN'): - global line_len - if line_len == 0: - line_len = Configure.ConfigurationContext().line_just + global line_len + if line_len == 0: + line_len = Configure.ConfigurationContext().line_just
- line_len = max(line_len, len(msg)) - print "%s :" % msg.ljust(line_len), - Utils.pprint(color, result) - Runner.print_log(msg, '\n\n') + line_len = max(line_len, len(msg)) + print "%s :" % msg.ljust(line_len), + Utils.pprint(color, result) + Runner.print_log(msg, '\n\n')
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.