summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2022-10-08 01:08:08 +0200
committerGravatar Nikias Bassen2022-10-08 01:08:08 +0200
commitbccae83d475ac5a48441001cad3fa8c167ecbb80 (patch)
treeb686567f95e24044cf84d4c8bcc6cdb76de918bc
parent12e24e4bd161c76631c77244f63ff02ef18f251d (diff)
downloadusbmuxd-bccae83d475ac5a48441001cad3fa8c167ecbb80.tar.gz
usbmuxd-bccae83d475ac5a48441001cad3fa8c167ecbb80.tar.bz2
autoconf: Automatically derive version number from latest git tag
with a fallback to get the version string from a .tarball-version file
-rw-r--r--configure.ac9
-rwxr-xr-xgit-version-gen19
2 files changed, 26 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index b751cc2..9b8b038 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,14 +1,19 @@
1# -*- Autoconf -*- 1# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script. 2# Process this file with autoconf to produce a configure script.
3 3
4AC_PREREQ(2.68) 4AC_PREREQ([2.68])
5AC_INIT([usbmuxd], [1.1.2], [https://github.com/libimobiledevice/usbmuxd/issues],, [https://libimobiledevice.org]) 5AC_INIT([usbmuxd], [m4_esyscmd(./git-version-gen $RELEASE_VERSION)], [https://github.com/libimobiledevice/usbmuxd/issues], [], [https://libimobiledevice.org])
6AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip check-news]) 6AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip check-news])
7m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) 7m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
8AC_CONFIG_SRCDIR([src/]) 8AC_CONFIG_SRCDIR([src/])
9AC_CONFIG_HEADERS([config.h]) 9AC_CONFIG_HEADERS([config.h])
10AC_CONFIG_MACRO_DIR([m4]) 10AC_CONFIG_MACRO_DIR([m4])
11 11
12# Check if we have a version defined
13if test -z $PACKAGE_VERSION; then
14 AC_MSG_ERROR([PACKAGE_VERSION is not defined. Make sure to configure a source tree checked out from git or that .tarball-version is present.])
15fi
16
12# Checks for programs. 17# Checks for programs.
13AC_PROG_CC 18AC_PROG_CC
14AM_PROG_CC_C_O 19AM_PROG_CC_C_O
diff --git a/git-version-gen b/git-version-gen
new file mode 100755
index 0000000..3eb6a42
--- /dev/null
+++ b/git-version-gen
@@ -0,0 +1,19 @@
1#!/bin/sh
2SRCDIR=`dirname $0`
3if test -n "$1"; then
4 VER=$1
5else
6 if test -d "${SRCDIR}/.git" && test -x "`which git`" ; then
7 git update-index -q --refresh
8 if ! VER=`git describe --tags --dirty 2>/dev/null`; then
9 COMMIT=`git rev-parse --short HEAD`
10 DIRTY=`git diff --quiet HEAD || echo "-dirty"`
11 VER=`sed -n '1,/RE/s/Version \(.*\)/\1/p' ${SRCDIR}/NEWS`-git-${COMMIT}${DIRTY}
12 fi
13 else
14 if test -f "${SRCDIR}/.tarball-version"; then
15 VER=`cat "${SRCDIR}/.tarball-version"`
16 fi
17 fi
18fi
19printf %s "$VER"