Quoting Chuck Atkins (2018-09-24 09:01:37)
> Hi Dylan,
> 
> 
>     >          xswr)
>     >              llvm_require_version $LLVM_REQUIRED_SWR "swr"
>     > +            llvm_add_default_components "swr"
>     > +            if test $LLVM_VERSION_MAJOR -ge 7; then
>     > +                llvm_add_component "ipo" "swr"
>     > +                llvm_add_component "ObjCARCOpts" "swr"
> 
>     Presumably this should be added to the meson build as well? There's an
>     "llvm_modules" array around line 1170.
> 
> 
> I'm not quite sure how to add this.  The additional modules are only required
> for LLVM >= 7.  From the implementation in meson.build, it looks like the
> required llvm_modules are assembled and then used  the llvm dependency is
> searched for.  It seems a bit of chicken-egg problem in that I don't know if
> the extra modules are required until after I know the llvm version, but I need
> the required modules to dertime the llvm version.  Suggestions?
> 
> Thanks,
> - Chuck
> 

Hmmm, that is an interesting problem. We could put them in the optional modules,
and that would probably work most of the time, but it would fail in some corner
cases.

I'm afraid what we're going to have to do is something like:

dep_llvm = dependency('llvm', required : $required)
if dep_llvm.found()
  if dep_llvm.version().version_compare('>= 7.0.0')
    llvm_modules += 'ObjCARCopts'
  endif
  dep_llvm = ...
endif

This seems like the sort of problem we'll have again in the future, so I've
opened a ticket with meson so that we can fix this upstream and have a syntax
for this:
https://github.com/mesonbuild/meson/issues/4253

Dylan

Attachment: signature.asc
Description: signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to