From: Eric Biggers Date: Sat, 10 Jul 2021 22:47:57 +0000 (-0500) Subject: configure.ac: generate version number from git commit and tags X-Git-Tag: v1.13.5~4 X-Git-Url: https://wimlib.net/git/?p=wimlib;a=commitdiff_plain;h=01ce2d43d6ba9721bf46c3e132c4be394ef3f0f9;hp=8f2c7cdf859fdd3c047df77704437425d4dcdcf8 configure.ac: generate version number from git commit and tags This should hopefully make it less confusing when building from the git repository. Previously, when doing so the version number would always be that of the last official release. --- diff --git a/configure.ac b/configure.ac index 948db93c..a883d7eb 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,7 @@ ############################################################################### -AC_INIT([wimlib], [1.13.5-BETA1], [https://wimlib.net/forums/]) +AC_INIT([wimlib], m4_esyscmd([tools/get-version-number]), + [https://wimlib.net/forums/]) AC_CONFIG_SRCDIR([src/wim.c]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([build-aux]) diff --git a/tools/get-version-number b/tools/get-version-number new file mode 100755 index 00000000..15f256cc --- /dev/null +++ b/tools/get-version-number @@ -0,0 +1,12 @@ +#!/bin/sh + +# Get the version number of the project to use in the release filenames +# and in the --version output. + +vers=$(git describe --abbrev=8 --dirty --always 2>/dev/null | \ + sed 's/^v//') +if [ -z "$vers" ]; then + # Fallback for people who use autoreconf on tarball releases + vers="1.13.4" +fi +echo "$vers" diff --git a/tools/make-releases b/tools/make-releases index fad2b88c..251e7413 100755 --- a/tools/make-releases +++ b/tools/make-releases @@ -6,6 +6,8 @@ MAKE="make -j$(grep -c processor /proc/cpuinfo)" export CFLAGS="-O2 -Wall -Werror" +autoreconf -i -f # make sure the version number gets updated + ./configure && $MAKE distcheck # Recompress with 7-Zip diff --git a/tools/make-windows-release b/tools/make-windows-release index 3bd8e472..5f5da584 100755 --- a/tools/make-windows-release +++ b/tools/make-windows-release @@ -27,8 +27,7 @@ i686|x86_64) ;; esac -VERSION=$(grep 'AC_INIT' configure.ac | \ - grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+[^]]*') +VERSION=$(tools/get-version-number) DESTDIR=wimlib-${VERSION}-windows-${ARCH}-bin ZIPFILE=wimlib-${VERSION}-windows-${ARCH}-bin.zip MAKE="make -j $(grep -c processor /proc/cpuinfo)" diff --git a/tools/update-version b/tools/update-version index 092c572e..78982196 100755 --- a/tools/update-version +++ b/tools/update-version @@ -23,7 +23,7 @@ newver="${newmajor}.${newminor}.${newpatch}" pat='This is wimlib version [^[:space:]]\+ ([^[:space:]]\+ [^[:space:]]\+)' sed -i "s/$pat/This is wimlib version $newver ($newmonth $newyear)/" README -sed -i "s/$oldver/$newver/" configure.ac +sed -i "s/$oldver/$newver/" tools/get-version-number sed -i -e 's/\(#define WIMLIB_MAJOR_VERSION[[:space:]]\+\)[[:digit:]]\+/\1'$newmajor'/' \ -e 's/\(#define WIMLIB_MINOR_VERSION[[:space:]]\+\)[[:digit:]]\+/\1'$newminor'/' \