Separate build/runtime llvm60 dependencies

Niclas Zeising zeising at freebsd.org
Thu Jan 17 14:12:56 UTC 2019


On 1/17/19 12:17 AM, Mahmoud Al-Qudsi wrote:
> Hello list,
> 
> Another complaint about `llvm60` here - I was hoping that the situation would be
> ameliorated before the release of FreeBSD 12, but alas that is not the case.
> 
>  From what I understand, `mesa-dri` doesn't build out-of-the-box with `llvm70`.
> Cool. But that makes `llvm60` a build dependency for `mesa-dri` - the binary
> package should not require installing 813 MiB's worth of compilers,
> documentation, etc. just to run something built with that toolchain.
> 
> Surely the runtime components of `llvm60` sufficient to use libraries built with
> that toolchain can be split off into their own package? Even better, perhaps
> `mesa-dri` can be statically compiled? (I know it has C++ components, but I'm
> not sure if they ever cross the API barrier -- I haven't looked into it though,
> so it's just wild speculation on my part.)
> 
> (I do see that there exists a patch for getting `mesa-dri` to build with
> `llvm70` hopefully making this conversation somewhat moot, but I still strongly
> object to the principle of adding such massive dependencies for common
> packages.)
> 


This has been discussed several times in the past.  Mesa uses libraries 
and components of llvm that are not in base, hence the dependency on the 
ports version of llvm.  This also untangles some of the issues with llvm 
library usage, since we only have to support one version of llvm usage 
in mesa, regardless of FreeBSD version.

Since mesa uses llvm libraries (not just toolchain to build) this can 
not be made in to a build time only dependency.

There is some more information on this issue here:
https://wiki.freebsd.org/WhyDoIHaveToBuildLLVMWhenIAlreadyHaveClangInstalled

There is work in progress to move to llvm70, however, this only means 
that you need llvm70 installed alongside mesa-dri, instead of llvm60.

Regards!
-- 
Niclas
FreeBSD Graphics Team


More information about the freebsd-ports mailing list