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

Roland Scheidegger sroland at vmware.com
Wed Feb 28 17:53:05 UTC 2018


Am 28.02.2018 um 18:18 schrieb Dylan Baker:
> 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.
> 
>

We're about to switch to something newer, and since we still use scons I
suppose it's ok if you don't support such old versions with meson.

Roland




More information about the mesa-dev mailing list