summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2024-08-28 15:29:46 -0400
committerTavian Barnes <tavianator@tavianator.com>2024-08-28 15:34:32 -0400
commit4a278d3e39a685379711727eac7bfaa83679e0e4 (patch)
tree855bedf766d8c0c4ba72ca59bdb19a137ae06c94
parent97849b81fb146cc1d53a369dda03c60360da08b5 (diff)
downloadbfs-4a278d3e39a685379711727eac7bfaa83679e0e4.tar.xz
build: Allow ./configure --version=X.Y.Z
-rw-r--r--build/config.mk1
-rwxr-xr-xconfigure12
2 files changed, 8 insertions, 5 deletions
diff --git a/build/config.mk b/build/config.mk
index 80206c7..86a4861 100644
--- a/build/config.mk
+++ b/build/config.mk
@@ -38,6 +38,7 @@ gen/vars.mk::
@printf 'MKDIR := %s\n' "$$XMKDIR" >>$@
@printf 'PKG_CONFIG := %s\n' "$$XPKG_CONFIG" >>$@
@printf 'RM := %s\n' "$$XRM" >>$@
+ @test -z "$$VERSION" || printf 'export VERSION=%s\n' "$$VERSION" >>$@
${VCAT} $@
# Sets the build flags. This depends on vars.mk and uses a recursive make so
diff --git a/configure b/configure
index ef6f58c..5156c91 100755
--- a/configure
+++ b/configure
@@ -7,6 +7,9 @@
set -eu
+# Get the relative path to the source tree based on how the script was run
+DIR=$(dirname -- "$0")
+
# Print the help message
help() {
cat <<EOF
@@ -57,6 +60,8 @@ Packaging:
Set the installation prefix (default: /usr)
--mandir=/path
Set the man page directory (default: \$PREFIX/share/man)
+ --version=X.Y.Z
+ Set the version string (default: $("$DIR/build/version.sh"))
This script is a thin wrapper around a makefile-based configuration system.
Any other arguments will be passed directly to the $MAKE invocation, e.g.
@@ -134,7 +139,7 @@ for arg; do
printf 'warning: Treating "%s" like "%s"\n' "$old" "$arg" >&2
;;
esac
- ;;
+ ;;
esac
case "$arg" in
@@ -165,7 +170,7 @@ for arg; do
esac
;;
- --prefix=*|--mandir=*)
+ --prefix=*|--mandir=*|--version=*)
set -- "$@" "$NAME=$value"
;;
@@ -188,9 +193,6 @@ for arg; do
esac
done
-# Get the relative path to the source tree based on how the script was run
-DIR=$(dirname -- "$0")
-
# Set up symbolic links for out-of-tree builds
for f in Makefile build completions docs src tests; do
test -e "$f" || ln -s "$DIR/$f" "$f"