freebsd-src/lib
Dimitry Andric 6acae3bbe3 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

(cherry picked from commit 8d5a11cd01)
2026-01-02 21:48:56 +01:00
..
atf Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
clang src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob 2026-01-02 21:48:56 +01:00
csu csu tests: Remove extra slash 2025-02-12 01:38:56 +00:00
flua Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
geom gpart: Add u-boot-env alias for U-Boot's environment GPT partition UUID 2025-12-15 17:56:35 +00:00
googletest Fix GoogleTest 1.14.0 import 2025-03-31 22:30:20 -07:00
lib9p Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
lib80211 lib80211: Consistently use item count as the first argument to calloc 2024-11-29 14:26:09 -05:00
libalias Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libarchive libarchive: merge from vendor branch 2025-11-03 10:30:24 +01:00
libauditd Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libbe libbe: Fix some markup issues. 2024-03-22 09:07:35 +01:00
libbearssl Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libbegemot Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libblacklist Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libblocksruntime Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libbluetooth Remove $FreeBSD$: one-line nroff pattern 2023-08-23 11:43:32 -06:00
libbsdstat Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libbsm Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libbsnmp Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libbz2 Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libc libc/riscv: Fix initial exec TLS mode for dynamically loaded shared objects 2025-12-15 17:56:36 +00:00
libc++ Merge llvm-project release/19.x llvmorg-19.1.3-0-gab51eccf88f5 2024-12-01 13:32:46 +01:00
libc++experimental Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb 2024-04-19 23:23:40 +02:00
libc_nonshared Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libcalendar Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libcam Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libcapsicum libcapsicum: cache more time zone information 2024-06-28 12:19:56 +02:00
libcasper manuals: Misc macro typos 2024-12-27 10:47:13 -05:00
libcbor libcbor: Ignore errors for unknown #pragmas 2024-09-08 14:04:02 +02:00
libclang_rt Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0 2024-12-01 13:32:12 +01:00
libcom_err Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libcompat Remove $FreeBSD$: one-line nroff pattern 2023-08-23 11:43:32 -06:00
libcompiler_rt Merge llvm-project main llvmorg-19-init-18630-gf2ccf80136a0 2024-12-01 13:32:12 +01:00
libcrypt lib/libcrypt: another trivial style change 2025-03-26 14:18:00 -07:00
libcuse cuse(3): annotate cuse_init() to suppress thread safety analysis 2025-12-29 03:07:14 +01:00
libcxxrt libcxxrt: Add a stub implementation of __cxa_call_terminate 2024-11-30 14:53:22 -05:00
libder lib: hook libder up to the build 2025-01-10 20:48:28 -06:00
libdevctl Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libdevdctl Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libdevinfo Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libdevstat Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libdl Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libdpv Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libdwarf Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libedit Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libefivar Remove $FreeBSD$: one-line bare tag 2023-08-23 11:43:33 -06:00
libelf Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libelftc Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libevent1 Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libexecinfo Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libexpat MFC: MFV: expat 2.7.3. 2025-10-02 09:41:56 -07:00
libfetch libfetch: parse scheme://domain:/ correctly 2024-04-03 15:12:38 -04:00
libfido2 libfido2: update to 1.13.0 2023-09-22 07:07:25 -04:00
libfigpar Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libgcc_eh libgcc_{eh,s}: restore __*_frame_info symbols post llvm18 2024-04-20 12:29:10 +02:00
libgcc_s Reapply "Merge commit e24f90190c77 from llvm git (by Brad Smith):" 2025-11-26 07:06:40 +01:00
libgeom libgeom: Consistently use item count as the first argument to calloc 2024-11-29 14:25:49 -05:00
libgpio libgpio: Fix type mismatch for gpio_pin_[gs]et 2024-11-30 13:26:12 -05:00
libgssapi Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libiconv_modules Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libifconfig libifconfig: Fix bridge status member list 2024-01-05 12:56:18 +01:00
libipsec Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libipt Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libiscsiutil Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
libjail Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libkiconv Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libkvm Remove $FreeBSD$: one-line nroff pattern 2023-08-23 11:43:32 -06:00
libldns Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
liblua Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
liblutok Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
liblzma MFV 762f11d98d: xz 5.8.2. 2025-12-29 18:21:15 -08:00
libmagic MFC: libmagic: Unbreak for older FreeBSD releases. 2025-01-12 20:25:29 -08:00
libmd Remove $FreeBSD$: one-line nroff pattern 2023-08-23 11:43:32 -06:00
libmemstat Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libmilter Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libmp Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libmt Add IBM TS1170 density codes and specs. 2023-12-14 16:00:54 -05:00
libnetbsd Remove $FreeBSD$: one-line bare tag 2023-08-23 11:43:33 -06:00
libnetgraph Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libnetmap libnetmap: remove interface name validation 2024-09-01 17:54:48 +00:00
libngatm Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libnv Remove "All Rights Reserved" from FreeBSD Foundation copyrights 2024-09-07 12:30:19 -04:00
libomp Merge llvm-project release/19.x llvmorg-19.1.3-0-gab51eccf88f5 2024-12-01 13:32:46 +01:00
libopenbsd Remove $FreeBSD$: one-line bare tag 2023-08-23 11:43:33 -06:00
libopencsd libopencsd: Remove extra slashes 2025-02-12 01:39:41 +00:00
libopie Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libpam pam_krb5: Clarify a loop condition. 2023-09-07 19:27:55 +02:00
libpathconv Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libpcap libpcap: Update to 1.10.5 2025-01-29 15:29:29 -04:00
libpe Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libpfctl libpfctl: ensure we return useful error codes 2024-09-29 20:29:44 +02:00
libpjdlog Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libpmc jevents: Fix bootstrapping on macOS with Clang 16 / Apple Clang 15 2024-05-02 21:11:52 +01:00
libpmcstat Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libproc Remove "All Rights Reserved" from FreeBSD Foundation copyrights 2024-09-07 12:30:19 -04:00
libprocstat libprocstat: ZFS support: Makefile: Tidy up a bit 2025-01-17 13:24:55 +01:00
libradius radlib: fix a memory leak in is_valid_request 2025-03-26 14:15:25 -07:00
libregex Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
librpcsec_gss Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
librpcsvc Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
librss Remove $FreeBSD$: one-line nroff pattern 2023-08-23 11:43:32 -06:00
librt Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
librtld_db Remove "All Rights Reserved" from FreeBSD Foundation copyrights 2024-09-07 12:30:19 -04:00
libsbuf lib/libsbuf/tests: reformat with clang-format 2025-03-26 14:10:48 -07:00
libsdp Remove $FreeBSD$: one-line nroff pattern 2023-08-23 11:43:32 -06:00
libsecureboot Remove $FreeBSD$: one-line bare tag 2023-08-23 11:43:33 -06:00
libsm Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libsmb Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libsmdb Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libsmutil Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libsqlite3 Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libssp Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libssp_nonshared Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libstats Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libstdbuf stdbuf: Code cleanup. 2023-09-07 10:56:25 +02:00
libstdthreads libstdthreads: destroy mutexattr in mtx_init() 2024-02-11 03:40:28 +02:00
libsysdecode Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libtacplus libtacplus: Allow additional AV pairs to be configured. 2023-12-13 17:08:13 +01:00
libtelnet Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libthr Canonicalize the name of the FreeBSD Foundation 2025-02-19 14:52:36 -05:00
libthread_db Remove "All Rights Reserved" from FreeBSD Foundation copyrights 2024-09-07 12:30:19 -04:00
libucl Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libufs Defer the January 19, 2038 date limit in UFS1 filesystems to February 7, 2106 2025-02-06 16:27:15 -08:00
libugidfw Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libulog libulog: Make sure ut_line, ut_user, ut_host are terminated. 2024-05-02 11:08:36 +02:00
libunbound unbound: Vendor import 1.24.1 2025-10-25 20:15:14 -07:00
libusb libusb: fix hotplug sigbus 2025-01-07 10:03:21 +01:00
libusbhid libusbhid: add missing include guards 2024-06-09 13:02:41 -04:00
libutil hexdump.3: Add missing LIBRARY section 2025-12-15 17:56:36 +00:00
libveriexec Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libvgl Remove $FreeBSD$: two-line nroff pattern 2023-08-23 11:43:31 -06:00
libvmmapi Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libwrap Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libxo Remove $FreeBSD$: one-line nroff pattern 2023-08-23 11:43:32 -06:00
liby Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libypclnt Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
libz Remove $FreeBSD$: one-line bare tag 2023-08-23 11:43:33 -06:00
libzstd Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
msun libm: remainder: make sure x is zero 2025-10-14 17:01:59 +03:00
ncurses Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
nss_tacplus nss_tacplus: Fix typo MK_INSTALLIB -> MK_INSTALLLIB 2025-10-07 00:33:32 +00:00
ofed Trim various $FreeBSD$ 2023-10-24 11:23:57 -07:00
tests Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
Makefile lib: hook libder up to the build 2025-01-10 20:48:28 -06:00
Makefile.inc Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00