Fix defines and git version fetch
This commit is contained in:
parent
3b5d8a0549
commit
5d7f71d453
|
@ -23,6 +23,7 @@
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
|
@ -99,12 +100,11 @@ main(int argc,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (!default_dir)
|
if (!default_dir)
|
||||||
// default_dir = DEFAULT_PROJECT_DIR;
|
default_dir = DEFAULT_PROJECT_DIR;
|
||||||
|
|
||||||
lash_info("------------------");
|
lash_info("------------------");
|
||||||
//lash_info("LASH activated. Version %s (%s) built on %s",
|
lash_info("LASH activated. Version %s (%s) built on %s", PACKAGE_VERSION, GIT_VERSION, timestamp_str);
|
||||||
// PACKAGE_VERSION, SVN_VERSION, timestamp_str);
|
|
||||||
|
|
||||||
lash_debug("Default dir: '%s'", default_dir);
|
lash_debug("Default dir: '%s'", default_dir);
|
||||||
|
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if test $# -eq 1
|
|
||||||
then
|
|
||||||
DIR=${1}
|
|
||||||
else
|
|
||||||
DIR=.
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -d ${DIR}/.svn
|
|
||||||
then
|
|
||||||
pushd ${DIR} > /dev/null
|
|
||||||
svnversion
|
|
||||||
popd > /dev/null
|
|
||||||
else
|
|
||||||
sed 's/^#define SVN_VERSION "\(.*\)"$/\1/' ${DIR}/svnversion.h
|
|
||||||
fi
|
|
|
@ -1,60 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
#set -x
|
|
||||||
|
|
||||||
if test $# -ne 1 -a $# -ne 2
|
|
||||||
then
|
|
||||||
echo "Usage: "`basename "$0"`" <file> [define_name]"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
OUTPUT_FILE="${1}"
|
|
||||||
TEMP_FILE="${OUTPUT_FILE}.tmp"
|
|
||||||
|
|
||||||
if test $# -eq 2
|
|
||||||
then
|
|
||||||
DEFINE=${2}
|
|
||||||
else
|
|
||||||
DEFINE=SVN_VERSION
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -d .svn
|
|
||||||
then
|
|
||||||
SVNVERSION=`svnversion`
|
|
||||||
else
|
|
||||||
if test -d .git
|
|
||||||
then
|
|
||||||
git status >/dev/null # updates dirty state
|
|
||||||
SVNVERSION=`git show | grep '^ *git-svn-id:' | sed 's/.*@\([0-9]*\) .*/\1/'`
|
|
||||||
if test ${SVNVERSION}
|
|
||||||
then
|
|
||||||
test -z "$(git diff-index --name-only HEAD)" || SVNVERSION="${SVNVERSION}M"
|
|
||||||
else
|
|
||||||
SVNVERSION=0+`git rev-parse HEAD`
|
|
||||||
test -z "$(git diff-index --name-only HEAD)" || SVNVERSION="${SVNVERSION}-dirty"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z ${SVNVERSION}
|
|
||||||
then
|
|
||||||
SVNVERSION=exported
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "#define ${DEFINE} \"${SVNVERSION}\"" > ${TEMP_FILE}
|
|
||||||
if test ! -f ${OUTPUT_FILE}
|
|
||||||
then
|
|
||||||
echo "Generated ${OUTPUT_FILE}"
|
|
||||||
cp ${TEMP_FILE} ${OUTPUT_FILE}
|
|
||||||
if test $? -ne 0; then exit 1; fi
|
|
||||||
else
|
|
||||||
if ! cmp -s ${OUTPUT_FILE} ${TEMP_FILE}
|
|
||||||
then echo "Regenerated ${OUTPUT_FILE}"
|
|
||||||
cp ${TEMP_FILE} ${OUTPUT_FILE}
|
|
||||||
if test $? -ne 0; then exit 1; fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm ${TEMP_FILE}
|
|
||||||
|
|
||||||
exit $?
|
|
40
wscript
40
wscript
|
@ -64,6 +64,8 @@ def configure(conf):
|
||||||
errmsg = "not installed, see http://xmlsoft.org/",
|
errmsg = "not installed, see http://xmlsoft.org/",
|
||||||
args='--cflags --libs')
|
args='--cflags --libs')
|
||||||
|
|
||||||
|
conf.define('DEFAULT_PROJECT_DIR', "audio-projects")
|
||||||
|
conf.define('PACKAGE_VERSION', VERSION)
|
||||||
conf.write_config_header('config.h')
|
conf.write_config_header('config.h')
|
||||||
|
|
||||||
display_msg(conf)
|
display_msg(conf)
|
||||||
|
@ -102,6 +104,7 @@ def build(bld):
|
||||||
daemon.target = 'ladishd'
|
daemon.target = 'ladishd'
|
||||||
daemon.includes = "build/default" # XXX config.h version.h and other generated files
|
daemon.includes = "build/default" # XXX config.h version.h and other generated files
|
||||||
daemon.uselib = 'DBUS-1 LIBXML-2.0 UUID'
|
daemon.uselib = 'DBUS-1 LIBXML-2.0 UUID'
|
||||||
|
daemon.ver_header = 'version.h'
|
||||||
daemon.env.append_value("LINKFLAGS", ["-lutil"])
|
daemon.env.append_value("LINKFLAGS", ["-lutil"])
|
||||||
daemon.source = []
|
daemon.source = []
|
||||||
for source in [
|
for source in [
|
||||||
|
@ -194,3 +197,40 @@ def build(bld):
|
||||||
|
|
||||||
def dist_hook():
|
def dist_hook():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
import commands
|
||||||
|
from Constants import RUN_ME
|
||||||
|
from TaskGen import feature, after
|
||||||
|
import Task, Utils
|
||||||
|
|
||||||
|
@feature('cc')
|
||||||
|
@after('apply_core')
|
||||||
|
def process_git(self):
|
||||||
|
if getattr(self, 'ver_header', None):
|
||||||
|
tsk = self.create_task('git_ver')
|
||||||
|
tsk.set_outputs(self.path.find_or_declare(self.ver_header))
|
||||||
|
|
||||||
|
def git_ver(self):
|
||||||
|
self.ver = "unknown"
|
||||||
|
self.ver = commands.getoutput("LANG= git rev-parse HEAD").splitlines()[0]
|
||||||
|
if commands.getoutput("LANG= git diff-index --name-only HEAD").splitlines():
|
||||||
|
self.ver += "-dirty"
|
||||||
|
|
||||||
|
Utils.pprint('BLUE', "git revision " + self.ver)
|
||||||
|
|
||||||
|
fi = open(self.outputs[0].abspath(self.env), 'w')
|
||||||
|
fi.write('#define GIT_VERSION "%s"\n' % self.ver)
|
||||||
|
fi.close()
|
||||||
|
|
||||||
|
cls = Task.task_type_from_func('git_ver', vars=[], func=git_ver, color='BLUE', before='cc')
|
||||||
|
|
||||||
|
def always(self):
|
||||||
|
return RUN_ME
|
||||||
|
cls.runnable_status = always
|
||||||
|
|
||||||
|
def post_run(self):
|
||||||
|
sg = Utils.h_list(self.ver)
|
||||||
|
node = self.outputs[0]
|
||||||
|
variant = node.variant(self.env)
|
||||||
|
self.generator.bld.node_sigs[variant][node.id] = sg
|
||||||
|
cls.post_run = post_run
|
||||||
|
|
Loading…
Reference in New Issue