Re: git: 04e074c6fd45 - main - devel/llvm14: Update to 14.0.0 release
- In reply to: Brooks Davis : "git: 04e074c6fd45 - main - devel/llvm14: Update to 14.0.0 release"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 26 Mar 2022 15:30:07 UTC
On Fri, Mar 25, 2022 at 10:50:27PM +0000, Brooks Davis wrote:
> The branch main has been updated by brooks:
>
> URL: https://cgit.FreeBSD.org/ports/commit/?id=04e074c6fd452983ccfd931de0c43263d27fe1f3
>
> commit 04e074c6fd452983ccfd931de0c43263d27fe1f3
> Author: Brooks Davis <brooks@FreeBSD.org>
> AuthorDate: 2022-03-25 22:49:58 +0000
> Commit: Brooks Davis <brooks@FreeBSD.org>
> CommitDate: 2022-03-25 22:49:58 +0000
>
> devel/llvm14: Update to 14.0.0 release
>
> Avoid a dependency of libunwind on sufficently recent systems where
> the installed unwind.h can be found.
>
> PR: 262707
> Reported by: pkubaj
> ---
> devel/llvm14/Makefile | 11 +++++++----
> devel/llvm14/distinfo | 6 +++---
> 2 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/devel/llvm14/Makefile b/devel/llvm14/Makefile
> index 73d459cc20f6..a62a794187db 100644
> --- a/devel/llvm14/Makefile
> +++ b/devel/llvm14/Makefile
> @@ -1,5 +1,5 @@
> PORTNAME= llvm
> -DISTVERSION= 14.0.0rc4
> +DISTVERSION= 14.0.0
> PORTREVISION= 0
> CATEGORIES= devel lang
> MASTER_SITES= https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/ \
> @@ -134,9 +134,6 @@ CLANG_SUB_LIST= XCC=clang${LLVM_SUFFIX} \
> X_COMPILER_TYPE=clang
> CLANG_USE= GNOME=libxml2
> COMPILER_RT_DESC= Sanitizer libraries
> -# An unwind.h is require to build. I think an in-tree one should be used
> -# but this seems to work as a workaround...
> -COMPILER_RT_BUILD_DEPENDS= libunwind>0:devel/libunwind
> COMPILER_RT_CMAKE_ON= -DCOMPILER_RT_INSTALL_PATH=${LLVM_PREFIX}/lib/clang/${LLVM_RELEASE}
> # Allow unwind.h to be found reliably
> COMPILER_RT_USES= localbase
> @@ -273,6 +270,12 @@ MLIR_PATTERN= ${MLIR_COMMANDS:S/^/bin./:tW:C/ */|/g}|mlir|libMLIR|obj.MLIRCAP
>
> .include <bsd.port.options.mk>
>
> +.if ${OSVERSION} < 1300525
> +# An unwind.h is require to build. I think an in-tree one should be used
> +# but this seems to work as a workaround...
> +COMPILER_RT_BUILD_DEPENDS= libunwind>0:devel/libunwind
> +.endif
> +
This is ineffective as the evaluation/processing of `${OPTION_NAME}_BUILD_DEPENDS` variables happen in the bsd.port.options.mk, which is already included before this gets defined, and so it results in a build error on 13-RELEASE:
====================================================================
/usr/local/libexec/ccache/c++ -DHAVE_RPC_XDR_H=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/wrkdirs/usr/ports/devel/llvm14/work/.build/projects/compiler-rt/lib/sanitizer_common -I/wrkdirs/usr/ports/devel/llvm14/work/llvm-project-14.0.0.src/compiler-rt/lib/sanitizer_common -I/wrkdirs/usr/ports/devel/llvm14/work/.build/include -I/wrkdirs/usr/ports/devel/llvm14/work/llvm-project-14.0.0.src/llvm/include -I/wrkdirs/usr/ports/devel/llvm14/work/llvm-project-14.0.0.src/compiler-rt/lib/sanitizer_common/.. -O2 -pipe -DNDEBUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DNDEBUG -isystem /usr/local/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -std=c++14 -Wno-unused-parameter -O2 -pipe -DNDEBUG -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -DNDEBUG -isystem /usr/local/include -m32 -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fno-lto -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O3 -gline-tables-only -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -nostdinc++ -Wno-format -fno-rtti -Wframe-larger-than=570 -Wglobal-constructors -std=c++14 -MD -MT projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.i386.dir/sanitizer_unwind_linux_libcdep.cpp.o -MF projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.i386.dir/sanitizer_unwind_linux_libcdep.cpp.o.d -o projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonSymbolizer.i386.dir/sanitizer_unwind_linux_libcdep.cpp.o -c /wrkdirs/usr/ports/devel/llvm14/work/llvm-project-14.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
/wrkdirs/usr/ports/devel/llvm14/work/llvm-project-14.0.0.src/compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp:26:10: fatal error: 'unwind.h' file not found
#include <unwind.h>
^~~~~~~~~~
1 error generated.
====================================================================
Following should fix this:
====================================================================
diff --git a/devel/llvm14/Makefile b/devel/llvm14/Makefile
index 8e3bb67aa2b8..9527e359961e 100644
--- a/devel/llvm14/Makefile
+++ b/devel/llvm14/Makefile
@@ -273,7 +273,9 @@ MLIR_PATTERN= ${MLIR_COMMANDS:S/^/bin./:tW:C/ */|/g}|mlir|libMLIR|obj.MLIRCAP
.if ${OSVERSION} < 1300525
# An unwind.h is require to build. I think an in-tree one should be used
# but this seems to work as a workaround...
-COMPILER_RT_BUILD_DEPENDS= libunwind>0:devel/libunwind
+.if ${PORT_OPTIONS:MCOMPILER_RT}
+BUILD_DEPENDS+= libunwind>0:devel/libunwind
+.endif
.endif
.if defined(PPC_ABI) && ${PPC_ABI} == ELFv2
====================================================================
Before diff:
====================================================================
# make -C devel/llvm14 -V PORT_OPTIONS
BE_AMDGPU BE_STANDARD BE_WASM CLANG COMPILER_RT DOCS EXTRAS FLANG GOLD LIT LLD LLDB MLIR OPENMP PYCLANG
# make -C /usr/ports/devel/llvm14 -V BUILD_DEPENDS
py38-sphinx-markdown-tables>=0:textproc/py-sphinx-markdown-tables@py38 py38-recommonmark>=0.0.20180530:textproc/py-recommonmark@py38 /usr/local/bin/ld.gold:devel/binutils swig:devel/swig /usr/local/bin/cmake:devel/cmake ninja:devel/ninja /usr/local/bin/python3.8:lang/python38 perl5>=5.32.r0<5.33:lang/perl5.32
====================================================================
After diff:
====================================================================
# make -C /usr/ports/devel/llvm14 -V BUILD_DEPENDS
py38-sphinx-markdown-tables>=0:textproc/py-sphinx-markdown-tables@py38 py38-recommonmark>=0.0.20180530:textproc/py-recommonmark@py38 /usr/local/bin/ld.gold:devel/binutils swig:devel/swig libunwind>0:devel/libunwind /usr/local/bin/cmake:devel/cmake ninja:devel/ninja /usr/local/bin/python3.8:lang/python38 perl5>=5.32.r0<5.33:lang/perl5.32
====================================================================
HTH
--
Ashish SHUKLA | GPG: F682 CDCC 39DC 0FEA E116 20B6 C746 CFA9 E74F A4B0
"If I destroy you, what business is it of yours ?" (Dark Forest, Liu Cixin)