The LLVM Project is a collection of modular and reusable compiler and
toolchain technologies.
This port includes Clang (a C/C++/Objective-C compiler), LLD (a linker),
LLDB (a debugger), an OpenMP runtime library, and the LLVM infrastructure
these are built on.
===> The following configuration options are available for llvm20-20.1.8_4:
BE_AMDGPU=on: AMD GPU backend (required by mesa)
BE_WASM=on: WebAssembly backend (required by firefox via wasi)
CLANG=on: Build clang
COMPILER_RT=on: Sanitizer libraries
DOCS=on: Build and/or install documentation
EXTRAS=on: Extra clang tools
FLANG=off: Flang FORTRAN compiler
LIT=on: Install lit and FileCheck test tools
LLD=on: Install lld, the LLVM linker
LLDB=on: Install lldb, the LLVM debugger
MLIR=on: Multi-Level Intermediate Representation
OPENMP=on: Install libomp, the LLVM OpenMP runtime library
POLLY=on: Polyhedral loop and data-locality optimizer
PYCLANG=on: Install python bindings to libclang
STATIC_LIBS=on: Install static libraries (does not effect sanitizers)
====> Options available for the single BACKENDS: you have to select exactly one of them
BE_FREEBSD=off: Backends for FreeBSD architectures
BE_NATIVE=off: Backend(s) for this architecture (X86)
BE_STANDARD=on: All non-experimental backends
===> Use 'make config' to modify these settings
devel/llvm[14-22]: backport powerpc64le patch from CURRENT
Since 16.0, powerpc64le switches to IEEE long double binary128.
This set of patches backports the change from CURRENT.
LLVM 12 and 13 are omitted, because binary128 handling in those
versions is not finished.
devel/llvm??: remove libxml2 discovery
In commit af979dd126ff4 the dependency on libxml2 was removed. But
libxml2 was still found for LLDB and used if it was present at configure
time.
PR: 295076
Submitted by: laurent
devel/llvm??: Add Mips back to standard backends
I'd forgotten that STANDARD_BACKENDS is includes _FREEBSD_BACKENDS so
Mips dropped out of the list when it was removed from _FREEBSD_BACKENDS.
PR: 295111
Fixes: 2a7c0561200c ("all: drop support for FreeBSD 13, mips and risc64sf")
all: drop support for FreeBSD 13, mips and risc64sf
Reviewed by: many (*)
Differential Revision: https://reviews.freebsd.org/D55624
Differential Revision: https://reviews.freebsd.org/D55642 (merged in from bofh)
many (*)
acm arrowd brooks cmt dch decke dinoex eduardo fluffy fuz gahr garga
jbeich joerg jrm kai kenrap martymac matthew mfechner michaelo mizhka
nobutaka pkubaj se tagattie thj
Anton Saietskii
GenericRikka
Gert Doering
Jan Bramkamp
Oleh Hushchenkov
Oleksandr Kryvulia
Ralf van der Enden
Yamagi
desktop kde python tcltk office
devel/llvm20: don't build gold plugin when disabled
Disabling the GOLD option didn't actually disable building the plugin,
it just didn't install it in the package. Actually stop traversing into
the directory when the option disabled so we don't end up needing
devel/binutils.
PR: 291247
Sponsored by: DARPA, AFRL
devel/llvm{19,20,21}: fix build on riscv64
=======================<phase: check-sanity >============================
====> You must select one and only one option from the BACKENDS single
=====> No option was selected (and one must be)
Approved by: portmgr (build fix blanket)
MFH: 2025Q3
devel/llvm20: Link LLDB with libxml2 to allow an interop with openocd
LLDB auto detects libxml2 by default and unlike with CLANG it's useful
for openocd support so depend on it.
Remove a seemingly useless USES=gnome from CLANG that we've been
carrying forward by accident.
While here, update to lua 5.4.
PR: 268303
Submitted by: arrowd (libxml2)
Differential Revision: https://reviews.freebsd.org/D50715
python.mk: rename PYTHON_EXT_SUFFIX to PYTHON_TAG, document, etc
EXT_SUFFIX, according to PEP 3149, refers to the full tag and
extension for compiled extension module objects, eg .cpython-311.so,
.cpython-313t.so, etc. We do not use the correct semantic meaning,
and this usage becomes ambiguous and confusing when tags do not
match between bytecode and compiled extension module objects.
Rename our PYTHON_EXT_SUFFIX to PYTHON_TAG to align with PEP 3147's
specification of a magic tag, which consists of implementation name
and shorthand version only. This is meant for bytecode and other
files containing this tag in their filename that do not depend on
a specific Python ABI for the same version. Chase all existing
consumers.
(Only the first 15 lines of the commit message are shown above )
devel/llvm20: welcome 20.1.0-rc1
Stop building 32-bit sanitizers (i386 and powerpc) on amd64 and
powerpc64. They cause dependencies on 32-bit libraries with pkg 2.0 and
their build is fragile. This would benefit from subpackages, but they
aren't here yet.
Sponsored by: DARPA, AFRL
devel/llvm20: bootstrap from llvm19
Copy devel/llvm19 to devel/llvm20 unmodified to aid history tracking.
The next commit will modify it and connect it to the build.
Sponsored by: DARPA, AFRL