Re: git: 58dba5b8212f - main - devel/llvm19: prune build on 32-bit archs
- In reply to: Brooks Davis : "git: 58dba5b8212f - main - devel/llvm19: prune build on 32-bit archs"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 28 Aug 2024 09:22:27 UTC
Response inline. On 24-08-27 19:23:37, Brooks Davis wrote: > The branch main has been updated by brooks: > > URL: https://cgit.FreeBSD.org/ports/commit/?id=58dba5b8212fd4dc77e07f58810ae959ae29fc6e > > commit 58dba5b8212fd4dc77e07f58810ae959ae29fc6e > Author: Brooks Davis <brooks@FreeBSD.org> > AuthorDate: 2024-08-27 19:23:23 +0000 > Commit: Brooks Davis <brooks@FreeBSD.org> > CommitDate: 2024-08-27 19:23:23 +0000 > > devel/llvm19: prune build on 32-bit archs > > Given trends in compiler resource use, it is incresingly implausible to > consider cross-development from a 32-bit system. As such, stop spending > time building LLVM bits are are vinishingly unlikely to be used on > 32-bit systems. > > Default to BE_NATIVE (no cross build support) on 32-bit plaforms. > Disable BE_AMDGPU and BE_WASM as well. BE_AMDGPU consumes enormous > amounts of memory. BE_WASM is less problematic, but no one has stood up > to say they need it so turn it off for now. > > Completely disable MLIR and POLLY on 32-bit. Just building MLIR fails > routinly on armv7 and there aren't a lot of direct users (it's used by > FLANG, but FLANG is 64-bit only). Polly is pretty niche and adds quite > a bit of build time. > > Sponsored by: DARPA, AFRL > Differential Revision: https://reviews.freebsd.org/D46239 > --- > devel/llvm19/Makefile | 44 +++++++++++++++++++++++++++++--------------- > 1 file changed, 29 insertions(+), 15 deletions(-) > > diff --git a/devel/llvm19/Makefile b/devel/llvm19/Makefile > index 61a8a9f89200..73d9cec01335 100644 > --- a/devel/llvm19/Makefile > +++ b/devel/llvm19/Makefile > @@ -65,6 +65,7 @@ SHEBANG_FILES= \ > > SUB_FILES= llvm-wrapper.sh > SUB_LIST= LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}" > +OPTIONS_SUB= yes > > CMAKE_INSTALL_PREFIX= ${LLVM_PREFIX} > CMAKE_SOURCE_PATH= ${WRKSRC}/llvm > @@ -85,33 +86,46 @@ CMAKE_ARGS+= -DLLVM_ENABLE_TERMINFO=OFF > CMAKE_ARGS+= -DLLVM_VERSION_SUFFIX= > > OPTIONS_DEFINE= BE_AMDGPU BE_WASM CLANG COMPILER_RT DOCS LLD STATIC_LIBS > -OPTIONS_DEFAULT= BE_AMDGPU BE_WASM CLANG LLD > OPTIONS_SINGLE= BACKENDS > OPTIONS_SINGLE_BACKENDS=BE_FREEBSD BE_NATIVE BE_STANDARD > + > +OPTIONS_DEFAULT= CLANG LLD > + > +# BE_NATIVE for 32-bit > +OPTIONS_DEFAULT_armv6= BE_NATIVE > +OPTIONS_DEFAULT_armv7= BE_NATIVE > +OPTIONS_DEFAULT_i386= BE_NATIVE > +OPTIONS_DEFAULT_power= BE_NATIVE Didn't you mean here OPTIONS_DEFAULT_powerpc and OPTIONS_DEFAULT_powerpcspe? > +# FLAVOR-dependent BE for 64-bit > +_BE_default= BE_STANDARD BE_AMDGPU BE_WASM > +_BE_lite= BE_FREEBSD BE_AMDGPU BE_WASM > +OPTIONS_DEFAULT_aarch64= ${_BE_${FLAVOR}} > +OPTIONS_DEFAULT_amd64= ${_BE_${FLAVOR}} > +OPTIONS_DEFAULT_powerpc64= ${_BE_${FLAVOR}} > +OPTIONS_DEFAULT_powerpc64le= ${_BE_${FLAVOR}} > + > OPTIONS_EXCLUDE_armv6= COMPILER_RT > OPTIONS_EXCLUDE_armv7= COMPILER_RT > -OPTIONS_SUB= yes > > -.if ${FLAVOR:Mlite} > -OPTIONS_DEFAULT+= BE_FREEBSD > -.else > +.if ${FLAVOR:Mdefault} > OPTIONS_DEFINE+= EXTRAS FLANG LIT LLDB MLIR OPENMP PYCLANG POLLY > OPTIONS_DEFINE_amd64= GOLD > OPTIONS_DEFINE_powerpc= GOLD > OPTIONS_DEFINE_powerpc64= GOLD > OPTIONS_DEFINE_powerpc64le= GOLD > > -OPTIONS_DEFAULT+= BE_STANDARD COMPILER_RT EXTRAS LIT LLDB MLIR OPENMP \ > +OPTIONS_DEFAULT+= COMPILER_RT EXTRAS LIT LLDB MLIR OPENMP \ > PYCLANG POLLY STATIC_LIBS > -OPTIONS_DEFAULT_amd64= GOLD > -OPTIONS_DEFAULT_powerpc= GOLD > -OPTIONS_DEFAULT_powerpc64= GOLD > -OPTIONS_DEFAULT_powerpc64le= GOLD > - > -OPTIONS_EXCLUDE_armv6+= FLANG OPENMP > -OPTIONS_EXCLUDE_armv7+= FLANG OPENMP > -OPTIONS_EXCLUDE_i386= FLANG OPENMP > -OPTIONS_EXCLUDE_powerpc= FLANG OPENMP > +OPTIONS_DEFAULT_amd64+= GOLD > +OPTIONS_DEFAULT_powerpc+= GOLD > +OPTIONS_DEFAULT_powerpc64+= GOLD > +OPTIONS_DEFAULT_powerpc64le+= GOLD > + > +_OPTIONS_EXCLUDE_ptr32= FLANG MLIR OPENMP POLLY > +OPTIONS_EXCLUDE_armv6+= ${_OPTIONS_EXCLUDE_ptr32} > +OPTIONS_EXCLUDE_armv7+= ${_OPTIONS_EXCLUDE_ptr32} > +OPTIONS_EXCLUDE_i386= ${_OPTIONS_EXCLUDE_ptr32} > +OPTIONS_EXCLUDE_powerpc= ${_OPTIONS_EXCLUDE_ptr32} > OPTIONS_EXCLUDE_riscv64= LLDB > .endif >