Charlie Li <[email protected]> wrote on 2023-10-09 15:30:33 +0000 :

> lang/rust: resurrect PORT_LLVM as a non-default OPTION
> 
> Rust uses LLVM for code generation [0] and bundles their own copy of a 
> release that they fully support in relation to the rest of rustc. This 
> however adds to an already intensive build process. For the benefit of those 
> building from source, resurrect the PORT_LLVM option, allowing to link with 
> an existing devel/llvm port of the user's choosing within Rust compatibility 
> ranges. This remains unset by default.

My understanding is that building a devel/llvm* these days requires
building rust first, via needing to build python things (for
documentation purposes?), that in turn need rust to have been built
first. Last I knew, trying to disable the llvm* DOCS option in a
normal way did not avoid the "needs rust" issue.

Absent use of a workaround to avoid this, it would seem to be
problematical to use PORT_LLVM for rust if the llvm* in question
would itself need to be built.

Note: I have used a /usr/local/etc/poudriere.d/make.conf
workaround for my port->package build activity:

.if ${.CURDIR:M*/devel/llvm*}
OPTIONS_UNSET=DOCS
.endif

It managed to avoid the python related dependencies that lead to
rust being needed by the llvm* build.

May be PORT_LLVM enablement should do such automatically? May be
a stronger form of guaranteed mutual exclusion between DOCS and
PORT_LLVM to avoid ever being allowed to form the cycle?

===
Mark Millard
marklmi at yahoo.com


Reply via email to