freebsd-src/lib/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
..
headers Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0 2024-10-23 20:26:01 +02:00
include Update main to 16 2025-09-04 16:06:47 -07:00
libclang src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2025-12-23 22:01:40 +01:00
libclangminimal Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
liblldb src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2025-12-23 22:01:40 +01:00
libllvm src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2025-12-23 22:01:40 +01:00
libllvmminimal Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0 2024-10-23 20:26:01 +02:00
clang.build.mk
clang.pre.mk
freebsd_cc_version.h Reapply "Merge commit e24f90190c77 from llvm git (by Brad Smith):" 2025-11-23 19:40:00 +01:00
lldb.pre.mk
llvm.build.mk Reduce number of external symbols in libllvm, libclang and liblldb 2025-12-22 10:31:40 +01:00
llvm.pre.mk
Makefile Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
Makefile.inc Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00