From 31f42bd5c1c5fb32df20cb68fef4d2f576e36798 Mon Sep 17 00:00:00 2001 From: kunitoki Date: Wed, 19 Oct 2011 00:22:47 +0200 Subject: [PATCH] - added --git-revision to mapnik-config - related to #903 --- utils/mapnik-config/build.py | 13 +++++++++---- utils/mapnik-config/mapnik-config.template.sh | 15 ++++++++++----- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/utils/mapnik-config/build.py b/utils/mapnik-config/build.py index 9dad9a22a..70b3a6c52 100644 --- a/utils/mapnik-config/build.py +++ b/utils/mapnik-config/build.py @@ -10,7 +10,7 @@ config_env = env.Clone() # TODO # major/minor versions -# git hash +# git rev-list --max-count=1 HEAD config_variables = '''#!/bin/sh @@ -26,6 +26,7 @@ CONFIG_DEP_LIBS='%(dep_libs)s' CONFIG_OTHER_INCLUDES='%(other_includes)s' CONFIG_FONTS='%(fonts)s' CONFIG_INPUT_PLUGINS='%(input_plugins)s' +CONFIG_GIT_REVISION='%(git_revision)s' CONFIG_SVN_REVISION='%(svn_revision)s' CONFIG_JSON="{ @@ -39,7 +40,8 @@ CONFIG_JSON="{ \\"other_includes\\": \\"${CONFIG_OTHER_INCLUDES}\\", \\"fonts\\": \\"${CONFIG_FONTS}\\", \\"input_plugins\\": \\"${CONFIG_INPUT_PLUGINS}\\", - \\"svn_revision\\": ${CONFIG_SVN_REVISION} + \\"git_revision\\": \\"${CONFIG_GIT_REVISION}\\", + \\"svn_revision\\": ${CONFIG_SVN_REVISION}, }" ''' @@ -63,7 +65,7 @@ other_includes += ' '.join(config_env['LIBMAPNIK_CXXFLAGS']) other_includes += ' ' if config_env['HAS_CAIRO']: - other_includes += ''.join([' -I%s' % i for i in env['CAIROMM_CPPPATHS'] if not i.startswith('#')]) + other_includes += ''.join([' -I%s' % i for i in env['CAIROMM_CPPPATHS'] if not i.startswith('#')]) ldflags = config_env['CUSTOM_LDFLAGS'] + ''.join([' -L%s' % i for i in config_env['LIBPATH'] if not i.startswith('#')]) @@ -73,6 +75,8 @@ dep_libs = ''.join([' -l%s' % i for i in env['LIBMAPNIK_LIBS']]) if env['INTERNAL_LIBAGG']: dep_libs = dep_libs.replace('-lagg','') +git_revision = os.popen("git rev-list --max-count=1 HEAD").read() + configuration = { "prefix": config_env['PREFIX'], "mapnik_libname": 'mapnik2', @@ -83,6 +87,7 @@ configuration = { "fonts": config_env['MAPNIK_FONTS'], "input_plugins": config_env['MAPNIK_INPUT_PLUGINS'], "svn_revision": config_env['SVN_REVISION'], + "git_revision": git_revision, "version": config_env['MAPNIK_VERSION_STRING'], } @@ -100,7 +105,7 @@ if 'install' in COMMAND_LINE_TARGETS: # we must add 'install' catch here because otherwise # custom command will be run when not installing env.Alias('install',full_target) - + env.Command(full_target, config_file, [ Copy("$TARGET","$SOURCE"), diff --git a/utils/mapnik-config/mapnik-config.template.sh b/utils/mapnik-config/mapnik-config.template.sh index 296ae9af5..222402cf9 100755 --- a/utils/mapnik-config/mapnik-config.template.sh +++ b/utils/mapnik-config/mapnik-config.template.sh @@ -19,7 +19,8 @@ Known values for OPTION are: --json print all config options as json object --help display this help and exit -v --version output version information - --svn-revision output svn revision information + --git-revision output git hash + --svn-revision output svn revision information (deprecated) EOF exit $1 @@ -36,7 +37,7 @@ while test $# -gt 0; do esac case "$1" in - + --prefix=*) prefix=$optarg includedir=$CONFIG_PREFIX/include @@ -59,6 +60,10 @@ while test $# -gt 0; do echo $CONFIG_JSON ;; + --git-revision) + echo ${CONFIG_GIT_REVISION} + ;; + --svn-revision) echo ${CONFIG_SVN_REVISION} ;; @@ -68,13 +73,13 @@ while test $# -gt 0; do ;; --fonts) - echo ${CONFIG_FONTS} + echo ${CONFIG_FONTS} ;; --input-plugins) - echo ${CONFIG_INPUT_PLUGINS} + echo ${CONFIG_INPUT_PLUGINS} ;; - + --cflags) echo -I${CONFIG_MAPNIK_INCLUDE} ${CONFIG_OTHER_INCLUDES} ;;