configure: Optionally use version information obtained from Git in executables
The variable GIT_VERSION is always defined, either obtained from Git or a file that is embedded in tarballs when they are built. Optionally, that version is declared as VERSION in config.h so it will be used e.g. in the daemons when they print the version number. There is a check that should catch missing tags (i.e. if the version number in AC_INIT() isn't a prefix of the version obtained via Git).laforge/swu
parent
f77e8c171c
commit
2e522952c7
|
@ -38,6 +38,9 @@ Android.common.mk : Android.common.mk.in configure.ac
|
|||
-e "s:\@PACKAGE_VERSION\@:$(PACKAGE_VERSION):" \
|
||||
$(srcdir)/$@.in > $@
|
||||
|
||||
dist-hook:
|
||||
@echo $(GIT_VERSION) > $(distdir)/.tarball-git-version
|
||||
|
||||
Doxyfile : Doxyfile.in
|
||||
$(AM_V_GEN) \
|
||||
sed \
|
||||
|
|
16
configure.ac
16
configure.ac
|
@ -326,6 +326,7 @@ ARG_ENABL_SET([tss-tss2], [enable the use of the TSS 2.0 Trusted Software
|
|||
|
||||
# compile options
|
||||
ARG_ENABL_SET([coverage], [enable lcov coverage report generation.])
|
||||
ARG_ENABL_SET([git-version], [use output of 'git describe' as version information in executables.])
|
||||
ARG_ENABL_SET([leak-detective], [enable malloc hooks to find memory leaks.])
|
||||
ARG_ENABL_SET([lock-profiler], [enable lock/mutex profiling code.])
|
||||
ARG_ENABL_SET([log-thread-ids], [use thread ID, if available, instead of an incremented value starting from 1, to identify threads.])
|
||||
|
@ -1384,6 +1385,21 @@ if test "x$ss_cv_static_plugin_constructors" = xyes; then
|
|||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([version from Git repository])
|
||||
AC_SUBST(GIT_VERSION, [$($srcdir/scripts/git-version "$srcdir")])
|
||||
case "$GIT_VERSION" in
|
||||
"$PACKAGE_VERSION"*)
|
||||
AC_MSG_RESULT([$GIT_VERSION])
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR([$PACKAGE_VERSION is not a prefix of $GIT_VERSION, tag missing?])
|
||||
;;
|
||||
esac
|
||||
|
||||
if test x$git_version = xtrue; then
|
||||
AC_DEFINE_UNQUOTED(VERSION, ["$GIT_VERSION"])
|
||||
fi
|
||||
|
||||
# ===============================================
|
||||
# collect plugin list for strongSwan components
|
||||
# ===============================================
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
EXTRA_DIST = git-version
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir)/src/libstrongswan \
|
||||
-I$(top_srcdir)/src/libtls \
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
|
||||
SRCDIR=$1
|
||||
TARBALL=$SRCDIR/.tarball-git-version
|
||||
|
||||
if test -f $TARBALL; then
|
||||
V=$(cat $TARBALL)
|
||||
elif test -d $SRCDIR/.git; then
|
||||
V=$(git -C $SRCDIR describe --tags HEAD 2>/dev/null)
|
||||
fi
|
||||
|
||||
if test -z "$V"; then
|
||||
V="UNKNOWN"
|
||||
fi
|
||||
|
||||
echo $V
|
Loading…
Reference in New Issue