summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meson.build2
-rwxr-xr-xutil/getversion.sh71
2 files changed, 72 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index d1f663fb1..b63875e23 100644
--- a/meson.build
+++ b/meson.build
@@ -1,5 +1,5 @@
project('flashromutils', 'c',
- version : '1.0',
+ version : run_command('util/getversion.sh', '-v').stdout().strip(),
license : 'GPL-2.0',
meson_version : '>=0.47.0',
default_options : ['warning_level=2', 'c_std=c99'],
diff --git a/util/getversion.sh b/util/getversion.sh
new file mode 100755
index 000000000..d3810d29b
--- /dev/null
+++ b/util/getversion.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+#
+# This file is part of the flashrom project.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+
+version() {
+ if [ -r versioninfo.inc ]; then
+ v=$(sed -n 's/^VERSION = //p' versioninfo.inc)
+ else
+ v=$($(dirname ${0})/getrevision.sh --revision)
+ if [ $? -ne 0 ]; then
+ v='unknown'
+ fi
+ fi
+
+ echo ${v}
+}
+
+mandate() {
+ if [ -r versioninfo.inc ]; then
+ d=$(sed -n 's/^MAN_DATE = //p' versioninfo.inc)
+ else
+ d=$($(dirname ${0})/getrevision.sh --date flashrom.8.tmpl)
+ if [ $? -ne 0 ]; then
+ d='unknown'
+ fi
+ fi
+
+ echo ${d}
+}
+
+show_help() {
+ echo "Usage:
+ ${0} <command>
+
+Commands
+ -h or --help
+ this message
+ -v or --version
+ return current/release flashrom version
+ -m or --man-date
+ return current/release date of the manual page
+"
+}
+
+if [ $# -ne 1 ]; then
+ show_help
+ echo "Error: Only exactly one command allowed.">&2
+ exit 1
+fi
+
+case $1 in
+ -h|--help) show_help;;
+ -m|--man-date) mandate;;
+ -v|--version) version;;
+ *)
+ show_help
+ echo "Error: Invalid option: $1"
+ exit 1
+ ;;
+esac