Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Sep 2023 13:46:07 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        John F Carr <jfc@mit.edu>
Cc:        FreeBSD Mailing List <freebsd-ports@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: Wow: Building the likes of devel/llvm16 now requires building rust first (when rust is out of date). . .
Message-ID:  <7177D97D-8980-4222-8679-EE3091D09AB8@yahoo.com>
In-Reply-To: <839065D4-58CC-4E59-9726-205BDFC01521@mit.edu>
References:  <5620735A-FB8A-4AFE-B4E4-32D0D8D58962.ref@yahoo.com> <5620735A-FB8A-4AFE-B4E4-32D0D8D58962@yahoo.com> <839065D4-58CC-4E59-9726-205BDFC01521@mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 14, 2023, at 10:46, John F Carr <jfc@mit.edu> wrote:

> This needs to be fixed.  One massive compiler should not depend on =
another massive
> compiler just in case something in the tool chain wants to make an =
HTTPS request.
> Setting DOCS=3Doff does not fix the dependency.
>=20
> Here is my list of stripped-down devel/llvm17 options that still =
require rust
>=20
> =3D=3D=3D> The following configuration options are available for =
llvm17-17.0.0.r4:
>     BE_AMDGPU=3Doff: AMD GPU backend (required by mesa)
>     BE_WASM=3Doff: WebAssembly backend (required by firefox via wasi)
>     CLANG=3Don: Build clang
>     COMPILER_RT=3Don: Sanitizer libraries
>     DOCS=3Doff: Build and/or install documentation
>     EXTRAS=3Doff: Extra clang tools
>     FLANG=3Doff: Flang FORTRAN compiler
>     LIT=3Don: Install lit and FileCheck test tools
>     LLD=3Don: Install lld, the LLVM linker
>     LLDB=3Don: Install lldb, the LLVM debugger
>     MLIR=3Don: Multi-Level Intermediate Representation
>     OPENMP=3Doff: Install libomp, the LLVM OpenMP runtime library
>     POLLY=3Doff: Polyhedral loop and data-locality optimizer
>     PYCLANG=3Doff: Install python bindings to libclang
>     STATIC_LIBS=3Doff: Install static libraries (does not effect =
sanitizers)
> =3D=3D=3D=3D> Options available for the single BACKENDS: you have to =
select exactly one of them
>     BE_FREEBSD=3Don: Backends for FreeBSD architectures
>     BE_NATIVE=3Doff: Backend(s) for this architecture (AArch64 ARM)
>     BE_STANDARD=3Doff: All non-experimental backends
>=20
> rust does not currently build on my system so I can not build the =
ports llvm17 or llvm-devel.

(py39 happens to be what is in use in my context.)

Even devel/llvm*@lite depends on py39-recommonmark
--and that in turns leads to the sequence: py39-sphinx,
py39-requests, py39-urllib3, py39-cryptography,
py39-setuptools-rust, and rust. (The dependencies
look to be basically runtime and test dependencies.)
devel/llvm* always seems to be tied to recommonmark .

[I'll note that recommonmark is in the process
of being replaced upstream my myst-parser but
that also leads down the same sphinx and later
dependency sequence from what I can tell.]

The system-clang builds avoid needing recommonmark
(or the like). May be devel/llvm*'s could be updated
to allow selecting such an avoidance? May be what
actually uses recommonmark (or the like) could be
separated into its own port that could optionally
be built/installed? (Just vague ideas.)

[Separately, just curious: Which resource limitations
stop the building of rust in your context?]

=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7177D97D-8980-4222-8679-EE3091D09AB8>