git: b8bcd48a7270 - main - lang/cling: Install more files that turned out to be required run-time

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Sat, 05 Apr 2025 08:07:54 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=b8bcd48a72702b9528669b792158767e1371def2

commit b8bcd48a72702b9528669b792158767e1371def2
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2025-04-05 08:07:29 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2025-04-05 08:07:51 +0000

    lang/cling: Install more files that turned out to be required run-time
---
 lang/cling/Makefile                                |  20 +-
 .../patch-llvm_clang_lib_Headers_CMakeLists.txt    |  11 +
 lang/cling/pkg-plist                               | 247 +++++++++++++++++++++
 3 files changed, 274 insertions(+), 4 deletions(-)

diff --git a/lang/cling/Makefile b/lang/cling/Makefile
index e01e006254ad..1fd69a4ae638 100644
--- a/lang/cling/Makefile
+++ b/lang/cling/Makefile
@@ -1,6 +1,7 @@
 PORTNAME=		cling
 DISTVERSIONPREFIX=	v
 DISTVERSION=		1.2
+PORTREVISION=		1
 CATEGORIES=		lang devel
 
 MAINTAINER=		arrowd@FreeBSD.org
@@ -27,19 +28,30 @@ CMAKE_ARGS=	-DLLVM_EXTERNAL_PROJECTS=cling \
 CMAKE_ARGS+=	-DLLVM_ENABLE_ASSERTIONS:BOOL=OFF
 
 ALL_TARGET=	cling
+INSTALL_TARGET=	install-clang-resource-headers
 
 .include <bsd.port.pre.mk>
 
 .if defined(WITH_DEBUG)
-CFLAGS=		-DNDEBUG -g -O0
-CXXFLAGS=	-DNDEBUG -g -O0
-INSTALL_TARGET=	tools/cling/tools/install
+# even when building with debug, disable all assertions
+CFLAGS+=		-DNDEBUG -g -O0
+CXXFLAGS+=		-DNDEBUG -g -O0
+INSTALL_TARGET+=	tools/cling/tools/install
 .else
-INSTALL_TARGET=	tools/cling/tools/install/strip
+INSTALL_TARGET+=	tools/cling/tools/install/strip
 .endif
 
 post-extract:
 # for patching purposes
 	${MV} ${WRKSRC_llvm} ${WRKSRC}/llvm
 
+post-patch:
+	${REINPLACE_CMD} -e 's|Interp(argc, argv)|Interp(argc, argv, "${PREFIX}/cling")|' \
+		${WRKSRC}/tools/driver/cling.cpp
+
+post-install:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/include/cling
+	cd ${WRKSRC}/include/cling && \
+		${COPYTREE_SHARE} Interpreter ${STAGEDIR}${PREFIX}/include/cling
+
 .include <bsd.port.post.mk>
diff --git a/lang/cling/files/patch-llvm_clang_lib_Headers_CMakeLists.txt b/lang/cling/files/patch-llvm_clang_lib_Headers_CMakeLists.txt
new file mode 100644
index 000000000000..e0c7a365910f
--- /dev/null
+++ b/lang/cling/files/patch-llvm_clang_lib_Headers_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- llvm/clang/lib/Headers/CMakeLists.txt.orig	2025-02-07 08:51:59 UTC
++++ llvm/clang/lib/Headers/CMakeLists.txt
+@@ -497,7 +497,7 @@ add_header_target("utility-resource-headers" ${utility
+ add_header_target("windows-resource-headers" ${windows_only_files})
+ add_header_target("utility-resource-headers" ${utility_files})
+ 
+-get_clang_resource_dir(header_install_dir SUBDIR include)
++get_clang_resource_dir(header_install_dir SUBDIR include PREFIX cling)
+ 
+ #############################################################
+ # Install rules for the catch-all clang-resource-headers target
diff --git a/lang/cling/pkg-plist b/lang/cling/pkg-plist
index b181845a8c36..b7a598087145 100644
--- a/lang/cling/pkg-plist
+++ b/lang/cling/pkg-plist
@@ -1,4 +1,251 @@
 bin/cling
+cling/lib/clang/18/include/__clang_cuda_builtin_vars.h
+cling/lib/clang/18/include/__clang_cuda_cmath.h
+cling/lib/clang/18/include/__clang_cuda_complex_builtins.h
+cling/lib/clang/18/include/__clang_cuda_device_functions.h
+cling/lib/clang/18/include/__clang_cuda_intrinsics.h
+cling/lib/clang/18/include/__clang_cuda_libdevice_declares.h
+cling/lib/clang/18/include/__clang_cuda_math.h
+cling/lib/clang/18/include/__clang_cuda_math_forward_declares.h
+cling/lib/clang/18/include/__clang_cuda_runtime_wrapper.h
+cling/lib/clang/18/include/__clang_cuda_texture_intrinsics.h
+cling/lib/clang/18/include/__clang_hip_cmath.h
+cling/lib/clang/18/include/__clang_hip_libdevice_declares.h
+cling/lib/clang/18/include/__clang_hip_math.h
+cling/lib/clang/18/include/__clang_hip_runtime_wrapper.h
+cling/lib/clang/18/include/__clang_hip_stdlib.h
+cling/lib/clang/18/include/__stdarg___gnuc_va_list.h
+cling/lib/clang/18/include/__stdarg___va_copy.h
+cling/lib/clang/18/include/__stdarg_va_arg.h
+cling/lib/clang/18/include/__stdarg_va_copy.h
+cling/lib/clang/18/include/__stdarg_va_list.h
+cling/lib/clang/18/include/__stddef_max_align_t.h
+cling/lib/clang/18/include/__stddef_null.h
+cling/lib/clang/18/include/__stddef_nullptr_t.h
+cling/lib/clang/18/include/__stddef_offsetof.h
+cling/lib/clang/18/include/__stddef_ptrdiff_t.h
+cling/lib/clang/18/include/__stddef_rsize_t.h
+cling/lib/clang/18/include/__stddef_size_t.h
+cling/lib/clang/18/include/__stddef_unreachable.h
+cling/lib/clang/18/include/__stddef_wchar_t.h
+cling/lib/clang/18/include/__stddef_wint_t.h
+cling/lib/clang/18/include/__wmmintrin_aes.h
+cling/lib/clang/18/include/__wmmintrin_pclmul.h
+cling/lib/clang/18/include/adcintrin.h
+cling/lib/clang/18/include/adxintrin.h
+cling/lib/clang/18/include/altivec.h
+cling/lib/clang/18/include/ammintrin.h
+cling/lib/clang/18/include/amxcomplexintrin.h
+cling/lib/clang/18/include/amxfp16intrin.h
+cling/lib/clang/18/include/amxintrin.h
+cling/lib/clang/18/include/arm64intr.h
+cling/lib/clang/18/include/arm_acle.h
+cling/lib/clang/18/include/arm_cmse.h
+cling/lib/clang/18/include/arm_neon_sve_bridge.h
+cling/lib/clang/18/include/armintr.h
+cling/lib/clang/18/include/avx2intrin.h
+cling/lib/clang/18/include/avx512bf16intrin.h
+cling/lib/clang/18/include/avx512bitalgintrin.h
+cling/lib/clang/18/include/avx512bwintrin.h
+cling/lib/clang/18/include/avx512cdintrin.h
+cling/lib/clang/18/include/avx512dqintrin.h
+cling/lib/clang/18/include/avx512erintrin.h
+cling/lib/clang/18/include/avx512fintrin.h
+cling/lib/clang/18/include/avx512fp16intrin.h
+cling/lib/clang/18/include/avx512ifmaintrin.h
+cling/lib/clang/18/include/avx512ifmavlintrin.h
+cling/lib/clang/18/include/avx512pfintrin.h
+cling/lib/clang/18/include/avx512vbmi2intrin.h
+cling/lib/clang/18/include/avx512vbmiintrin.h
+cling/lib/clang/18/include/avx512vbmivlintrin.h
+cling/lib/clang/18/include/avx512vlbf16intrin.h
+cling/lib/clang/18/include/avx512vlbitalgintrin.h
+cling/lib/clang/18/include/avx512vlbwintrin.h
+cling/lib/clang/18/include/avx512vlcdintrin.h
+cling/lib/clang/18/include/avx512vldqintrin.h
+cling/lib/clang/18/include/avx512vlfp16intrin.h
+cling/lib/clang/18/include/avx512vlintrin.h
+cling/lib/clang/18/include/avx512vlvbmi2intrin.h
+cling/lib/clang/18/include/avx512vlvnniintrin.h
+cling/lib/clang/18/include/avx512vlvp2intersectintrin.h
+cling/lib/clang/18/include/avx512vnniintrin.h
+cling/lib/clang/18/include/avx512vp2intersectintrin.h
+cling/lib/clang/18/include/avx512vpopcntdqintrin.h
+cling/lib/clang/18/include/avx512vpopcntdqvlintrin.h
+cling/lib/clang/18/include/avxifmaintrin.h
+cling/lib/clang/18/include/avxintrin.h
+cling/lib/clang/18/include/avxneconvertintrin.h
+cling/lib/clang/18/include/avxvnniint16intrin.h
+cling/lib/clang/18/include/avxvnniint8intrin.h
+cling/lib/clang/18/include/avxvnniintrin.h
+cling/lib/clang/18/include/bmi2intrin.h
+cling/lib/clang/18/include/bmiintrin.h
+cling/lib/clang/18/include/builtins.h
+cling/lib/clang/18/include/cet.h
+cling/lib/clang/18/include/cetintrin.h
+cling/lib/clang/18/include/cldemoteintrin.h
+cling/lib/clang/18/include/clflushoptintrin.h
+cling/lib/clang/18/include/clwbintrin.h
+cling/lib/clang/18/include/clzerointrin.h
+cling/lib/clang/18/include/cmpccxaddintrin.h
+cling/lib/clang/18/include/cpuid.h
+cling/lib/clang/18/include/crc32intrin.h
+cling/lib/clang/18/include/cuda_wrappers/algorithm
+cling/lib/clang/18/include/cuda_wrappers/bits/basic_string.h
+cling/lib/clang/18/include/cuda_wrappers/bits/basic_string.tcc
+cling/lib/clang/18/include/cuda_wrappers/bits/shared_ptr_base.h
+cling/lib/clang/18/include/cuda_wrappers/cmath
+cling/lib/clang/18/include/cuda_wrappers/complex
+cling/lib/clang/18/include/cuda_wrappers/new
+cling/lib/clang/18/include/emmintrin.h
+cling/lib/clang/18/include/enqcmdintrin.h
+cling/lib/clang/18/include/f16cintrin.h
+cling/lib/clang/18/include/float.h
+cling/lib/clang/18/include/fma4intrin.h
+cling/lib/clang/18/include/fmaintrin.h
+cling/lib/clang/18/include/fxsrintrin.h
+cling/lib/clang/18/include/gfniintrin.h
+cling/lib/clang/18/include/hexagon_circ_brev_intrinsics.h
+cling/lib/clang/18/include/hexagon_protos.h
+cling/lib/clang/18/include/hexagon_types.h
+cling/lib/clang/18/include/hresetintrin.h
+cling/lib/clang/18/include/htmintrin.h
+cling/lib/clang/18/include/htmxlintrin.h
+cling/lib/clang/18/include/hvx_hexagon_protos.h
+cling/lib/clang/18/include/ia32intrin.h
+cling/lib/clang/18/include/immintrin.h
+cling/lib/clang/18/include/intrin.h
+cling/lib/clang/18/include/inttypes.h
+cling/lib/clang/18/include/invpcidintrin.h
+cling/lib/clang/18/include/iso646.h
+cling/lib/clang/18/include/keylockerintrin.h
+cling/lib/clang/18/include/larchintrin.h
+cling/lib/clang/18/include/lasxintrin.h
+cling/lib/clang/18/include/limits.h
+cling/lib/clang/18/include/llvm_libc_wrappers/assert.h
+cling/lib/clang/18/include/llvm_libc_wrappers/ctype.h
+cling/lib/clang/18/include/llvm_libc_wrappers/inttypes.h
+cling/lib/clang/18/include/llvm_libc_wrappers/stdio.h
+cling/lib/clang/18/include/llvm_libc_wrappers/stdlib.h
+cling/lib/clang/18/include/llvm_libc_wrappers/string.h
+cling/lib/clang/18/include/llvm_libc_wrappers/time.h
+cling/lib/clang/18/include/lsxintrin.h
+cling/lib/clang/18/include/lwpintrin.h
+cling/lib/clang/18/include/lzcntintrin.h
+cling/lib/clang/18/include/mm3dnow.h
+cling/lib/clang/18/include/mm_malloc.h
+cling/lib/clang/18/include/mmintrin.h
+cling/lib/clang/18/include/module.modulemap
+cling/lib/clang/18/include/movdirintrin.h
+cling/lib/clang/18/include/msa.h
+cling/lib/clang/18/include/mwaitxintrin.h
+cling/lib/clang/18/include/nmmintrin.h
+cling/lib/clang/18/include/opencl-c-base.h
+cling/lib/clang/18/include/opencl-c.h
+cling/lib/clang/18/include/openmp_wrappers/__clang_openmp_device_functions.h
+cling/lib/clang/18/include/openmp_wrappers/cmath
+cling/lib/clang/18/include/openmp_wrappers/complex
+cling/lib/clang/18/include/openmp_wrappers/complex.h
+cling/lib/clang/18/include/openmp_wrappers/complex_cmath.h
+cling/lib/clang/18/include/openmp_wrappers/math.h
+cling/lib/clang/18/include/openmp_wrappers/new
+cling/lib/clang/18/include/pconfigintrin.h
+cling/lib/clang/18/include/pkuintrin.h
+cling/lib/clang/18/include/pmmintrin.h
+cling/lib/clang/18/include/popcntintrin.h
+cling/lib/clang/18/include/ppc_wrappers/bmi2intrin.h
+cling/lib/clang/18/include/ppc_wrappers/bmiintrin.h
+cling/lib/clang/18/include/ppc_wrappers/emmintrin.h
+cling/lib/clang/18/include/ppc_wrappers/immintrin.h
+cling/lib/clang/18/include/ppc_wrappers/mm_malloc.h
+cling/lib/clang/18/include/ppc_wrappers/mmintrin.h
+cling/lib/clang/18/include/ppc_wrappers/nmmintrin.h
+cling/lib/clang/18/include/ppc_wrappers/pmmintrin.h
+cling/lib/clang/18/include/ppc_wrappers/smmintrin.h
+cling/lib/clang/18/include/ppc_wrappers/tmmintrin.h
+cling/lib/clang/18/include/ppc_wrappers/x86gprintrin.h
+cling/lib/clang/18/include/ppc_wrappers/x86intrin.h
+cling/lib/clang/18/include/ppc_wrappers/xmmintrin.h
+cling/lib/clang/18/include/prfchiintrin.h
+cling/lib/clang/18/include/prfchwintrin.h
+cling/lib/clang/18/include/ptwriteintrin.h
+cling/lib/clang/18/include/raointintrin.h
+cling/lib/clang/18/include/rdpruintrin.h
+cling/lib/clang/18/include/rdseedintrin.h
+cling/lib/clang/18/include/riscv_bitmanip.h
+cling/lib/clang/18/include/riscv_crypto.h
+cling/lib/clang/18/include/riscv_ntlh.h
+cling/lib/clang/18/include/rtmintrin.h
+cling/lib/clang/18/include/s390intrin.h
+cling/lib/clang/18/include/serializeintrin.h
+cling/lib/clang/18/include/sgxintrin.h
+cling/lib/clang/18/include/sha512intrin.h
+cling/lib/clang/18/include/shaintrin.h
+cling/lib/clang/18/include/sifive_vector.h
+cling/lib/clang/18/include/sm3intrin.h
+cling/lib/clang/18/include/sm4intrin.h
+cling/lib/clang/18/include/smmintrin.h
+cling/lib/clang/18/include/stdalign.h
+cling/lib/clang/18/include/stdarg.h
+cling/lib/clang/18/include/stdatomic.h
+cling/lib/clang/18/include/stdbool.h
+cling/lib/clang/18/include/stdckdint.h
+cling/lib/clang/18/include/stddef.h
+cling/lib/clang/18/include/stdint.h
+cling/lib/clang/18/include/stdnoreturn.h
+cling/lib/clang/18/include/tbmintrin.h
+cling/lib/clang/18/include/tgmath.h
+cling/lib/clang/18/include/tmmintrin.h
+cling/lib/clang/18/include/tsxldtrkintrin.h
+cling/lib/clang/18/include/uintrintrin.h
+cling/lib/clang/18/include/unwind.h
+cling/lib/clang/18/include/usermsrintrin.h
+cling/lib/clang/18/include/vadefs.h
+cling/lib/clang/18/include/vaesintrin.h
+cling/lib/clang/18/include/varargs.h
+cling/lib/clang/18/include/vecintrin.h
+cling/lib/clang/18/include/velintrin.h
+cling/lib/clang/18/include/velintrin_approx.h
+cling/lib/clang/18/include/velintrin_gen.h
+cling/lib/clang/18/include/vpclmulqdqintrin.h
+cling/lib/clang/18/include/waitpkgintrin.h
+cling/lib/clang/18/include/wasm_simd128.h
+cling/lib/clang/18/include/wbnoinvdintrin.h
+cling/lib/clang/18/include/wmmintrin.h
+cling/lib/clang/18/include/x86gprintrin.h
+cling/lib/clang/18/include/x86intrin.h
+cling/lib/clang/18/include/xmmintrin.h
+cling/lib/clang/18/include/xopintrin.h
+cling/lib/clang/18/include/xsavecintrin.h
+cling/lib/clang/18/include/xsaveintrin.h
+cling/lib/clang/18/include/xsaveoptintrin.h
+cling/lib/clang/18/include/xsavesintrin.h
+cling/lib/clang/18/include/xtestintrin.h
+include/cling/Interpreter/AutoloadCallback.h
+include/cling/Interpreter/CIFactory.h
+include/cling/Interpreter/CMakeLists.txt
+include/cling/Interpreter/CValuePrinter.h
+include/cling/Interpreter/ClangInternalState.h
+include/cling/Interpreter/ClingCodeCompleteConsumer.h
+include/cling/Interpreter/ClingOptions.h
+include/cling/Interpreter/ClingOptions.td
+include/cling/Interpreter/CompilationOptions.h
+include/cling/Interpreter/DynamicExprInfo.h
+include/cling/Interpreter/DynamicLibraryManager.h
+include/cling/Interpreter/DynamicLookupLifetimeHandler.h
+include/cling/Interpreter/DynamicLookupRuntimeUniverse.h
+include/cling/Interpreter/Exception.h
+include/cling/Interpreter/IncrementalCUDADeviceCompiler.h
+include/cling/Interpreter/Interpreter.h
+include/cling/Interpreter/InterpreterCallbacks.h
+include/cling/Interpreter/InvocationOptions.h
+include/cling/Interpreter/LookupHelper.h
+include/cling/Interpreter/RuntimeOptions.h
+include/cling/Interpreter/RuntimePrintValue.h
+include/cling/Interpreter/RuntimeUniverse.h
+include/cling/Interpreter/Transaction.h
+include/cling/Interpreter/Value.h
+include/cling/Interpreter/Visibility.h
 lib/libcling.so
 lib/libcling.so.18.1
 lib/libclingDemoPlugin.so