summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2023-04-30 21:02:06 +0200
committerGravatar Nikias Bassen2023-04-30 21:02:06 +0200
commit067c439e0b18d6f1c8a37dde791f9d91191a922e (patch)
tree0cbb4cff978b21db27b943de9e6d5fc42cfc79e8
parent1be78391da2ce39fbf3971226ef643042b75fffd (diff)
downloadlibideviceactivation-067c439e0b18d6f1c8a37dde791f9d91191a922e.tar.gz
libideviceactivation-067c439e0b18d6f1c8a37dde791f9d91191a922e.tar.bz2
autoconf: Automatically derive version number from latest git tag
-rw-r--r--Makefile.am6
-rw-r--r--configure.ac4
-rwxr-xr-xgit-version-gen20
3 files changed, 27 insertions, 3 deletions
diff --git a/Makefile.am b/Makefile.am
index 206c0d8..c4ed95a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,9 +3,13 @@ ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src include tools man
EXTRA_DIST = \
- README.md
+ README.md \
+ git-version-gen
DISTCHECK_CONFIGURE_FLAGS =
+dist-hook:
+ echo $(VERSION) > $(distdir)/.tarball-version
+
indent:
indent -kr -ut -ts4 -l120 src/*.c src/*.h dev/*.c
diff --git a/configure.ac b/configure.ac
index f1ee6f0..2f93895 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,8 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.68)
-AC_INIT([libideviceactivation], [1.1.2], [https://github.com/libimobiledevice/libideviceactivation/issues],, [https://libimobiledevice.org])
+AC_PREREQ([2.68])
+AC_INIT([libideviceactivation], [m4_esyscmd(./git-version-gen $RELEASE_VERSION)], [https://github.com/libimobiledevice/libideviceactivation/issues], [], [https://libimobiledevice.org])
AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip check-news])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
AC_CONFIG_SRCDIR([src/])
diff --git a/git-version-gen b/git-version-gen
new file mode 100755
index 0000000..d868952
--- /dev/null
+++ b/git-version-gen
@@ -0,0 +1,20 @@
+#!/bin/sh
+SRCDIR=`dirname $0`
+if test -n "$1"; then
+ VER=$1
+else
+ if test -r "${SRCDIR}/.git" && test -x "`which git`" ; then
+ git update-index -q --refresh
+ if ! VER=`git describe --tags --dirty 2>/dev/null`; then
+ COMMIT=`git rev-parse --short HEAD`
+ DIRTY=`git diff --quiet HEAD || echo "-dirty"`
+ VER=`sed -n '1,/RE/s/Version \(.*\)/\1/p' ${SRCDIR}/NEWS`-git-${COMMIT}${DIRTY}
+ fi
+ else
+ if test -f "${SRCDIR}/.tarball-version"; then
+ VER=`cat "${SRCDIR}/.tarball-version"`
+ fi
+ fi
+fi
+VER=`printf %s "$VER" | head -n1`
+printf %s "$VER"