blob: 1397a5de032d4de0363fbd460267e6556d8ab275 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
PORTNAME= cling
DISTVERSION= 0.5-2018-08-13
PORTREVISION= 11
CATEGORIES= lang devel
MASTER_SITES= https://root.cern.ch/download/cling/
DISTNAME= ${PORTNAME}_${DISTVERSION:C/^[0-9]\.[0-9]-//}_sources
MAINTAINER= ports@FreeBSD.org
COMMENT= Interactive C++ Interpreter Based on LLVM and Clang Libs
LICENSE= LLVM NCSA
LICENSE_COMB= multi
LICENSE_NAME_LLVM= LLVM Release License
LICENSE_FILE_LLVM= ${WRKSRC}/LICENSE.TXT
LICENSE_FILE_NCSA= ${WRKSRC}/tools/cling/LICENSE.TXT
LICENSE_PERMS_LLVM= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
BROKEN_armv6= fails to compile: AArch64TargetMachine.cpp: relocation truncated to fit: R_ARM_CALL against symbol '__aeabi_uldivmod'
BROKEN_armv7= fails to compile: AArch64TargetMachine.cpp: relocation truncated to fit: R_ARM_CALL against symbol '__aeabi_uldivmod'
BROKEN_riscv64= fails to build: CMake Error at cmake/config-ix.cmake:407: Unknown architecture riscv64
BROKEN_FreeBSD_12_powerpc64= fails to build: src/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h:722:26: could not convert '((llvm::orc::remote::OrcRemoteTargetClient<ChannelT>*)this)->callB<llvm::orc::remote::OrcRemoteTargetRPCAPI::ReadMem>(Src, Size)'
LIB_DEPENDS= libgtest.so:devel/googletest \
libz3.so:math/z3
WRKSRC= ${WRKDIR}/src
LLVM_RELEASE= 5.0.0
LLVM_SUFFIX= 50_cern-root
LLVM_PREFIX= ${PREFIX}/llvm${LLVM_SUFFIX}
USES= cmake compiler:c++11-lib compiler:c11 gnome libedit ncurses \
python:build shebangfix tar:bzip2
USE_GNOME= libxml2
USE_LDCONFIG= ${LLVM_PREFIX}/lib
CONFLICTS_INSTALL= llvm zapcc # # bin/bugpoint bin/c-index-test bin/clang bin/clang++ bin/clang-5.0 bin/clang-check bin/clang-cl bin/clang-cpp bin/clang-format bin/clang-import-test bin/clang-offload-bundler bin/clang-rename bin/git-clang-format
SHEBANG_FILES= tools/clang/tools/clang-format/clang-format-diff.py \
tools/clang/tools/clang-format/git-clang-format \
tools/clang/tools/scan-view/bin/scan-view
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_OFF= LLVM_BUILD_EXAMPLES LLVM_INCLUDE_TESTS LLVM_INCLUDE_GO_TESTS
SUB_LIST+= LLVM_PREFIX="${LLVM_PREFIX}" LLVM_SUFFIX="${LLVM_SUFFIX}"
PLIST_SUB+= LLVM_SUFFIX=${LLVM_SUFFIX} LLVM_RELEASE=${LLVM_RELEASE}
CMAKE_BUILD_TYPE= Release
CMAKE_INSTALL_PREFIX= ${LLVM_PREFIX}
CMAKE_ARGS+= -DINSTALL_LAYOUT=FREEBSD
post-patch:
@${REINPLACE_CMD} -e 's|%%LLVM_PREFIX%%|${LLVM_PREFIX}|g' \
${PATCH_WRKSRC}/tools/cling/tools/driver/cling.cpp
@${REINPLACE_CMD} -e 's|%%LLVM_PREFIX%%|${LLVM_PREFIX}|g' \
${PATCH_WRKSRC}/tools/cling/lib/Interpreter/CIFactory.cpp
post-install:
for e in $$(cd ${STAGEDIR}${PREFIX}/llvm50_cern-root/bin && ls *); do \
${RLN} ${STAGEDIR}${PREFIX}/llvm50_cern-root/bin/$${e} ${STAGEDIR}${PREFIX}/bin/$${e}; \
done
${MKDIR} ${STAGEDIR}${PREFIX}/lib/cmake
for m in cling llvm llvm-c clang; do \
${RLN} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}/include/$${m} ${STAGEDIR}${PREFIX}/include/$${m}; \
done
for m in cling llvm clang; do \
${RLN} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}/lib/cmake/$${m} ${STAGEDIR}${PREFIX}/lib/cmake/$${m}; \
done
for l in $$(cd ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}/lib && ls *.so* *.a); do \
${RLN} ${STAGEDIR}${PREFIX}/llvm${LLVM_SUFFIX}/lib/$${l} ${STAGEDIR}${PREFIX}/lib/$${l}; \
done
.include <bsd.port.mk>
|