build: unify mesa version by using a VERSION file

Graphics / Mesa 3D Graphics Library / Mesa - Emil Velikov [gmail.com] - 29 July 2013 15:39 UTC

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

###

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.




-

Verify and update version info


-
-

-
SConstruct

-
Android.common.mk

-
PACKAGE_VERSION

-
configure.ac

-
AC_INIT

-

+

Verify and update version info in VERSION




Create a docs/relnotes/x.y.z.html file.

488b3ed build: unify mesa version by using a VERSION file
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(-)

Upstream: cgit.freedesktop.org


  • Share