diff options
author | Nikias Bassen | 2023-04-30 16:59:56 +0200 |
---|---|---|
committer | Nikias Bassen | 2023-04-30 16:59:56 +0200 |
commit | 1d20bed9ab853507b013e0ab0fdfa11be393d1e0 (patch) | |
tree | b13932784a2e01026bf719f8a2f076f8ae95acc9 | |
parent | 462e238de4553532ade7eb88ef86905c04fc7bb7 (diff) | |
download | libirecovery-1d20bed9ab853507b013e0ab0fdfa11be393d1e0.tar.gz libirecovery-1d20bed9ab853507b013e0ab0fdfa11be393d1e0.tar.bz2 |
autoconf: Automatically derive version number from latest git tag
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rwxr-xr-x | git-version-gen | 20 |
3 files changed, 26 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am index 4a61e83..6c48faf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,7 +3,11 @@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = src include tools udev EXTRA_DIST = \ - README.md + README.md \ + git-version-gen + +dist-hook: + echo $(VERSION) > $(distdir)/.tarball-version DISTCHECK_CONFIGURE_FLAGS = \ --with-udevrulesdir=$$dc_install_base/$(udevrulesdir) diff --git a/configure.ac b/configure.ac index e844956..aa4f7aa 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.68) -AC_INIT([libirecovery], [1.0.1], [https://github.com/libimobiledevice/libirecovery/issues],, [https://libimobiledevice.org]) +AC_INIT([libirecovery], [m4_esyscmd(./git-version-gen $RELEASE_VERSION)], [https://github.com/libimobiledevice/libirecovery/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" |