diff --git a/lang/cling/Makefile b/lang/cling/Makefile index e01e006254ad..1fd69a4ae638 100644 --- a/lang/cling/Makefile +++ b/lang/cling/Makefile @@ -1,45 +1,57 @@ PORTNAME= cling DISTVERSIONPREFIX= v DISTVERSION= 1.2 +PORTREVISION= 1 CATEGORIES= lang devel MAINTAINER= arrowd@FreeBSD.org COMMENT= Interactive C++ Interpreter Based on LLVM and Clang Libs WWW= https://root.cern/cling/ LICENSE= NCSA LICENSE_FILE= ${WRKSRC}/LICENSE.TXT USES= cmake gnome USE_GNOME= libxml2 USE_GITHUB= yes GH_ACCOUNT= root-project GH_PROJECT= llvm-project:llvm GH_TAGNAME= cling-llvm18-20250207-01:llvm CMAKE_SOURCE_PATH=${WRKSRC}/llvm/llvm CMAKE_ARGS= -DLLVM_EXTERNAL_PROJECTS=cling \ -DLLVM_EXTERNAL_CLING_SOURCE_DIR=${WRKSRC} \ -DLLVM_ENABLE_PROJECTS="clang" \ -DLLVM_TARGETS_TO_BUILD="host;NVPTX" # cling fails quickly with assertions enabled CMAKE_ARGS+= -DLLVM_ENABLE_ASSERTIONS:BOOL=OFF ALL_TARGET= cling +INSTALL_TARGET= install-clang-resource-headers .include .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 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,7 +1,254 @@ 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 lib/libclingDemoPlugin.so.18.1 lib/libclingJupyter.so lib/libclingJupyter.so.18.1