[Mesa-dev] [PATCH 1/2] meson: fix LLVM version detection when <= 3.4

Dylan Baker dylan at pnwbakers.com
Wed Feb 28 17:18:49 UTC 2018


Quoting Eric Engestrom (2018-02-28 09:08:41)
> On Wednesday, 2018-02-28 17:02:50 +0000, Eric Engestrom wrote:
> > On Wednesday, 2018-02-28 17:52:05 +0200, Andres Gomez wrote:
> > > 3 digits versions in LLVM only started from 3.4.1 on. Hence, if you
> > > have installed 3.4 or below, meson will fail even when we may not make
> > > use of LLVM.
> > > 
> > > Cc: Dylan Baker <dylan at pnwbakers.com>
> > > Cc: Eric Engestrom <eric.engestrom at imgtec.com>
> > > Signed-off-by: Andres Gomez <agomez at igalia.com>
> > > ---
> > >  meson.build | 13 ++++++++++++-
> > >  1 file changed, 12 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/meson.build b/meson.build
> > > index 308f64cf811..b8c0b04893c 100644
> > > --- a/meson.build
> > > +++ b/meson.build
> > > @@ -1037,7 +1037,18 @@ 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() <= '3.3'
> > 
> > The correct 'meson way' to compare version strings is
> >   if dep_llvm.version().version_compare('<= 3.3')
> > 
> > > +    _llvm_patch = _llvm_version[1]
> > > +  elif dep_llvm.version() >= '3.5'
> > > +    _llvm_patch = _llvm_version[2]
> > > +  elif dep_llvm.version().startswith('3.4.1') or dep_llvm.version().startswith('3.4.2')
> > > +    _llvm_patch = _llvm_version[2]
> > > +  else
> > > +    _llvm_patch = _llvm_version[1]
> > > +  endif
> > 
> > This whole logic seems overly complicated, and I don't think duplicating
> > the minor version as the patch version is the right thing either.
> > How about this instead?
> > 
> >   if dep_llvm.version().version_compare('>= 3.4.1')
> >     _llvm_patch = _llvm_version[2]
> >   else
> >     _llvm_patch = '0'
> >       endif
> 
> Actually, do we still support llvm < 3.4? Didn't we just bump the
> minimum to 4.0?
> I think we did, in which case this patch is not necessary at all :)

You can build llvmpipe with LLVM 3.3, but everything else requires a more recent
version. Maybe we can ask VMWare if they still actually care about building
against 3.3?

Otherwise I like Eric's version better.

Dylan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180228/5d3366d7/attachment.sig>


More information about the mesa-dev mailing list