Re: git: 5c53f4de1a91 - main - Mk/bsd.gecko.mk: switch LLVM to 17

From: Charlie Li <vishwin_at_freebsd.org>
Date: Wed, 10 Apr 2024 14:57:58 UTC
Jan Beich wrote:
> Christoph Moench-Tegeder <cmt@FreeBSD.org> writes:
> 
>> The branch main has been updated by cmt:
>>
>> URL: https://cgit.FreeBSD.org/ports/commit/?id=5c53f4de1a915eccf9f05932c48bf459a4e936d6
>>
>> commit 5c53f4de1a915eccf9f05932c48bf459a4e936d6
>> Author:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
>> AuthorDate: 2024-04-08 21:13:59 +0000
>> Commit:     Christoph Moench-Tegeder <cmt@FreeBSD.org>
>> CommitDate: 2024-04-08 21:13:59 +0000
>>
>>      Mk/bsd.gecko.mk: switch LLVM to 17
>>      
>>      This brings gecko ports in line with rust's embedded llvm for those
>>      who want to try LTO. It also seems to improve overall behaviour
>>      of gecko ports, based on single-installation experience.
> [...
>> -USES+=		compiler:c++17-lang cpe gl gmake gnome iconv llvm:noexport localbase \
>> +USES+=		compiler:c++17-lang cpe gl gmake gnome iconv llvm:17,noexport localbase \
> 
> Rust 1.78 (ETA 2024-05-02) will bundle LLVM 18[1]. If you don't plan to
> chase lang/rust (for LTO sake on /latest set) maybe unlock maximum
> version via "min" i.e., USES=llvm:min=17,noexport
> 
> Originally, Firefox ports used more recent LLVM than global default but
> only locked version when LTO was enabled. Since then Firefox gained
> wasi-* dependencies, complicating LLVM bumps, and lang/rust added
> PORT_LLVM, which can avoid mismatch with LTO.
> 
> [1] https://github.com/rust-lang/rust/pull/120055
Rust upstream currently supports at least LLVM 16 as external toolchain, 
accessed with PORT_LLVM in lang/rust. Advisable to match the minimum 
supported toolchain from Rust upstream here rather than fixing a 
specific release, because it precludes dogfooding with newer LLVM. I've 
been dogfooding with LLVM 18, with PORT_LLVM and LTO, and everything 
works as intended.

The WASI logic is intended to match whatever LLVM version is selected in 
the framework.

-- 
Charlie Li
...nope, still don't have an exit line.