[Mesa-dev] [PATCH v3] build: unify mesa version by using a VERSION file
Emil Velikov
emil.l.velikov at gmail.com
Thu Jul 25 15:45:45 PDT 2013
Rather than having to keep track of all the build systems and their respecitve
definition of the mesa version, use a single top file VERSION. Every build
system is responsible for reading/parsing the file and using it
v2:
* remove useless bulletpoint from the documentation, suggested by Matt
* "Androing is Linux. Use '/' in stead of '\'", spotted by Chad V
* use cleaner code to get the version in scons, suggested by Chad V
v3:
* ensure leading and trailing whitespace characters are stripped while parsing
* android: handle GNU shell commands approapriately
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
An interesting point while looking for ways to strip the newline character
- python considers carrage return as whitespace whereas m4 does not.
AFAICS no-one has used those nasty symbols in mesa, and I hope no-one will.
Just to be on the safe side I have tested editing the VERSION file with a
few different editors, adding multiple newlines at the end of the file.
SCons and Automake worked fine, whereas for Android I'm short of the build
system.
Cheers
Emil
---
Android.common.mk | 3 ++-
Makefile.am | 1 +
SConstruct | 4 +++-
VERSION | 1 +
configure.ac | 3 ++-
docs/devinfo.html | 10 +---------
6 files changed, 10 insertions(+), 12 deletions(-)
create mode 100644 VERSION
diff --git a/Android.common.mk b/Android.common.mk
index dd37104..3e6d4c3 100644
--- a/Android.common.mk
+++ b/Android.common.mk
@@ -33,9 +33,10 @@ endif
LOCAL_C_INCLUDES += \
$(MESA_TOP)/include
+MESA_VERSION=$(shell cat $(MESA_TOP)/VERSION)
# define ANDROID_VERSION (e.g., 4.0.x => 0x0400)
LOCAL_CFLAGS += \
- -DPACKAGE_VERSION=\"9.3.0-devel\" \
+ -DPACKAGE_VERSION=\"$(MESA_VERSION)\" \
-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\" \
-DANDROID_VERSION=0x0$(MESA_ANDROID_MAJOR_VERSION)0$(MESA_ANDROID_MINOR_VERSION)
diff --git a/Makefile.am b/Makefile.am
index 63e02c6..ce391c4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,6 +36,7 @@ PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
EXTRA_FILES = \
aclocal.m4 \
configure \
+ VERSION \
bin/ar-lib \
bin/compile \
bin/config.sub \
diff --git a/SConstruct b/SConstruct
index b00a7fe..de735e9 100644
--- a/SConstruct
+++ b/SConstruct
@@ -69,8 +69,10 @@ if env['gles']:
#######################################################################
# Environment setup
+with open("VERSION") as f:
+ mesa_version = f.read().strip()
env.Append(CPPDEFINES = [
- ('PACKAGE_VERSION', '\\"9.3.0-devel\\"'),
+ ('PACKAGE_VERSION', '\\"%s\\"' % mesa_version),
('PACKAGE_BUGREPORT', '\\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\\"'),
])
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..b260649
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+9.3.0-devel
diff --git a/configure.ac b/configure.ac
index 425b6ee..62d06e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,7 +6,8 @@ dnl Tell the user about autoconf.html in the --help output
m4_divert_once([HELP_END], [
See docs/autoconf.html for more details on the options for Mesa.])
-AC_INIT([Mesa], [9.3.0-devel],
+m4_define(MESA_VERSION, m4_normalize(m4_include(VERSION)))
+AC_INIT([Mesa], [MESA_VERSION],
[https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa])
AC_CONFIG_AUX_DIR([bin])
AC_CONFIG_MACRO_DIR([m4])
diff --git a/docs/devinfo.html b/docs/devinfo.html
index bd11e5c..bf77259 100644
--- a/docs/devinfo.html
+++ b/docs/devinfo.html
@@ -193,15 +193,7 @@ branch is relevant.
</p>
-<h3>Verify and update version info</h3>
-
-<dl>
- <dt>SConstruct</dt>
- <dt>Android.common.mk</dt>
- <dd>PACKAGE_VERSION</dd>
- <dt>configure.ac</dt>
- <dd>AC_INIT</dd>
-</dl>
+<h3>Verify and update version info in VERSION</h3>
<p>
Create a docs/relnotes/x.y.z.html file.
--
1.8.3.3
More information about the mesa-dev
mailing list