Mesa (master): meson: fix LLVM version detection when <= 3.4

Andres Gomez tanty at kemper.freedesktop.org
Thu Mar 1 10:23:15 UTC 2018


Module: Mesa
Branch: master
Commit: 98f7650add26423d1b3e871c41ae37972b835fe1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=98f7650add26423d1b3e871c41ae37972b835fe1

Author: Andres Gomez <agomez at igalia.com>
Date:   Wed Feb 28 23:15:07 2018 +0200

meson: fix LLVM version detection when <= 3.4

3 digits versions in LLVM only started from 3.4.1 on.

Hence, even if you can perfectly build with an old LLVM (< 3.4.1) in
the system while not needing LLVM at all (auto), when passing through
the LLVM version detection code, meson will fail when accessing
"_llvm_version[2]" due to:

"Index 2 out of bounds of array of size 2."

v2: Properly compare LLVM version and set patch version to 0
    if < 3.4.1 (Eric).

v3: Improve the commit log explanation (Eric).

Cc: Dylan Baker <dylan at pnwbakers.com>
Cc: Eric Engestrom <eric.engestrom at imgtec.com>
Signed-off-by: Andres Gomez <agomez at igalia.com>
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

---

 meson.build | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 308f64cf81..e9928a3793 100644
--- a/meson.build
+++ b/meson.build
@@ -1037,7 +1037,14 @@ if with_llvm
   # that for our version checks.
   # svn suffixes are stripped by meson as of 0.43, and git suffixes are
   # strippped as of 0.44, but we support older meson versions.
-  _llvm_patch = _llvm_version[2]
+
+  # 3 digits versions in LLVM only started from 3.4.1 on
+  if dep_llvm.version().version_compare('>= 3.4.1')
+    _llvm_patch = _llvm_version[2]
+  else
+    _llvm_patch = '0'
+  endif
+
   if _llvm_patch.endswith('svn')
     _llvm_patch = _llvm_patch.split('s')[0]
   elif _llvm_patch.contains('git')




More information about the mesa-commit mailing list