Re: git: 8d5a11cd0137 - main - src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Tue, 23 Dec 2025 21:08:31 UTC
On 23 Dec 2025, at 22:04, Dimitry Andric <dim@FreeBSD.org> wrote:
> 
> The branch main has been updated by dim:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=8d5a11cd0137d3ad70f6b06e063ea91a776d510a
> 
> commit 8d5a11cd0137d3ad70f6b06e063ea91a776d510a
> Author:     Dimitry Andric <dim@FreeBSD.org>
> AuthorDate: 2025-06-18 10:06:25 +0000
> Commit:     Dimitry Andric <dim@FreeBSD.org>
> CommitDate: 2025-12-23 21:01:40 +0000
> 
>    src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob
> 
>    In commit 2e47f35be5dc 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

NOTE: toggling this option requires a full clean build, at least until
https://reviews.freebsd.org/D52011 lands.

-Dimitry