freebsd-src/usr.bin/clang
Dimitry Andric 8d5a11cd01
Some checks are pending
Cross-build Kernel / amd64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-22.04 (clang-15) (push) Waiting to run
Cross-build Kernel / amd64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 ubuntu-24.04 (clang-18) (push) Waiting to run
Cross-build Kernel / amd64 macos-latest (clang-18) (push) Waiting to run
Cross-build Kernel / aarch64 macos-latest (clang-18) (push) Waiting to run
src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob
In commit 2e47f35be5 libllvm, libclang and liblldb were converted into
private shared libraries. This allowed clang, lld, lldb, and other llvm
tools to be linked against these shared libraries, which makes them
smaller and avoids duplication.

However, this also comes at the cost of some performance, since the
dynamic libraries are quite large, and contain lots of long symbols
(mangled C++ identifiers).

Add a WITH_LLVM_LINK_STATIC_LIBRARIES build knob that can be used to go
back to the previous behavior: libllvm, libclang and liblldb are built
as internal static libraries, i.e. only available during buildworld, and
fully linked into the various executables such as clang, lld, etc.

PR:		287447
Reviewed by:	emaste
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D50956
2025-12-23 22:01:40 +01:00
..
bugpoint
clang
clang-format
clang-scan-deps clang-scan-deps: Pass ${TDFILE} to tblgen, not ${.ALLSRC} 2025-07-28 10:17:36 +01:00
clang-tblgen
llc
lld src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2025-12-23 22:01:40 +01:00
lldb src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2025-12-23 22:01:40 +01:00
lldb-server src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2025-12-23 22:01:40 +01:00
lldb-tblgen
lli
llvm-ar Move toolchain utils to -toolchain package 2025-07-28 17:29:29 +01:00
llvm-as
llvm-bcanalyzer
llvm-cov
llvm-cxxdump
llvm-cxxfilt
llvm-diff
llvm-dis
llvm-dwarfdump
llvm-dwarfutil
llvm-dwp
llvm-extract
llvm-link
llvm-lto
llvm-lto2
llvm-mc
llvm-mca
llvm-min-tblgen
llvm-modextract
llvm-nm Move toolchain utils to -toolchain package 2025-07-28 17:29:29 +01:00
llvm-objcopy
llvm-objdump
llvm-pdbutil
llvm-profdata
llvm-readobj
llvm-rtdyld
llvm-size Move toolchain utils to -toolchain package 2025-07-28 17:29:29 +01:00
llvm-strings
llvm-symbolizer
llvm-tblgen
llvm-xray
opt
clang.prog.mk src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2025-12-23 22:01:40 +01:00
llvm.prog.mk src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2025-12-23 22:01:40 +01:00
Makefile clang: install clang-scan-deps 2025-07-06 22:02:52 +01:00
Makefile.inc src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2025-12-23 22:01:40 +01:00