|
Lines 3-14
Link Here
|
| 3 |
|
3 |
|
| 4 |
PORTNAME= llvm |
4 |
PORTNAME= llvm |
| 5 |
PORTVERSION= ${LLVM_MAJOR}.d${SNAPDATE} |
5 |
PORTVERSION= ${LLVM_MAJOR}.d${SNAPDATE} |
|
|
6 |
PORTREVISION= 1 |
| 6 |
CATEGORIES= devel lang |
7 |
CATEGORIES= devel lang |
| 7 |
PKGNAMESUFFIX= -devel |
8 |
PKGNAMESUFFIX= -devel |
| 8 |
|
9 |
|
| 9 |
MAINTAINER= brooks@FreeBSD.org |
10 |
MAINTAINER= brooks@FreeBSD.org |
| 10 |
COMMENT= LLVM and Clang |
11 |
COMMENT= LLVM and Clang |
| 11 |
|
12 |
|
|
|
13 |
LICENSE= LLVM |
| 14 |
LICENSE_NAME= LLVM Release License |
| 15 |
LICENSE_FILE= ${WRKSRC}/LICENSE.TXT |
| 16 |
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept |
| 17 |
|
| 12 |
BROKEN_powerpc64= Does not build |
18 |
BROKEN_powerpc64= Does not build |
| 13 |
|
19 |
|
| 14 |
LLVM_SUFFIX= -devel |
20 |
LLVM_SUFFIX= -devel |
|
Lines 16-21
Link Here
|
| 16 |
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX} |
22 |
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${LLVM_SUFFIX} |
| 17 |
DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX} |
23 |
DATADIR= ${PREFIX}/share/${PORTNAME}${LLVM_SUFFIX} |
| 18 |
|
24 |
|
|
|
25 |
TEST_TARGET= check |
| 26 |
TEST_WRKSRC= ${BUILD_WRKSRC} |
| 27 |
|
| 19 |
USES= cmake:outsource compiler:c++11-lib libedit ninja perl5 |
28 |
USES= cmake:outsource compiler:c++11-lib libedit ninja perl5 |
| 20 |
USE_LDCONFIG= ${LLVM_PREFIX}/lib |
29 |
USE_LDCONFIG= ${LLVM_PREFIX}/lib |
| 21 |
_USES_PYTHON?= python:build |
30 |
_USES_PYTHON?= python:build |
|
Lines 27-42
Link Here
|
| 27 |
CMAKE_INSTALL_PREFIX= ${LLVM_PREFIX} |
36 |
CMAKE_INSTALL_PREFIX= ${LLVM_PREFIX} |
| 28 |
CMAKE_ARGS= -DLLVM_BUILD_LLVM_DYLIB=ON |
37 |
CMAKE_ARGS= -DLLVM_BUILD_LLVM_DYLIB=ON |
| 29 |
|
38 |
|
|
|
39 |
PORTDOCS= * |
| 40 |
|
| 30 |
USE_GITHUB= yes |
41 |
USE_GITHUB= yes |
| 31 |
GH_ACCOUNT= llvm-mirror |
42 |
GH_ACCOUNT= llvm-mirror |
| 32 |
GH_TAGNAME= ${LLVM_COMMIT} |
43 |
GH_TAGNAME= ${LLVM_COMMIT} |
| 33 |
|
44 |
|
| 34 |
.include "Makefile.snapshot" |
45 |
.include "Makefile.snapshot" |
| 35 |
|
46 |
|
| 36 |
OPTIONS_DEFINE= CLANG DOCS EXTRAS LIT LLD LLDB |
47 |
OPTIONS_DEFINE= CLANG DOCS EXTRAS LIT LLD LLDB UTILS |
| 37 |
OPTIONS_DEFINE_amd64= COMPILER_RT GOLD OPENMP |
48 |
OPTIONS_DEFINE_amd64= COMPILER_RT GOLD OPENMP |
| 38 |
OPTIONS_DEFINE_i386= COMPILER_RT |
49 |
OPTIONS_DEFINE_i386= COMPILER_RT |
| 39 |
OPTIONS_DEFAULT= CLANG EXTRAS LIT LLD LLDB |
50 |
OPTIONS_DEFAULT= CLANG EXTRAS LIT LLD LLDB UTILS |
| 40 |
OPTIONS_DEFAULT_amd64= COMPILER_RT GOLD OPENMP |
51 |
OPTIONS_DEFAULT_amd64= COMPILER_RT GOLD OPENMP |
| 41 |
OPTIONS_DEFAULT_i386= COMPILER_RT |
52 |
OPTIONS_DEFAULT_i386= COMPILER_RT |
| 42 |
OPTIONS_SUB= yes |
53 |
OPTIONS_SUB= yes |
|
Lines 44-50
Link Here
|
| 44 |
PLIST_FILES= |
55 |
PLIST_FILES= |
| 45 |
|
56 |
|
| 46 |
CLANG_DESC= Build clang |
57 |
CLANG_DESC= Build clang |
| 47 |
CLANG_EXTRA_PATCHES= \ |
58 |
CLANG_EXTRA_PATCHES= \ |
| 48 |
${PATCHDIR}/clang-patch-fformat_extensions.diff \ |
59 |
${PATCHDIR}/clang-patch-fformat_extensions.diff \ |
| 49 |
${PATCHDIR}/clang-patch-fopenmp.diff \ |
60 |
${PATCHDIR}/clang-patch-fopenmp.diff \ |
| 50 |
${PATCHDIR}/clang-patch-tools_clang_lib_Headers_CMakeLists.txt |
61 |
${PATCHDIR}/clang-patch-tools_clang_lib_Headers_CMakeLists.txt |
|
Lines 53-66
Link Here
|
| 53 |
CLANG_GH_SUBDIR= tools/clang:clang |
64 |
CLANG_GH_SUBDIR= tools/clang:clang |
| 54 |
CLANG_GH_TAGNAME= ${CLANG_COMMIT}:clang |
65 |
CLANG_GH_TAGNAME= ${CLANG_COMMIT}:clang |
| 55 |
CLANG_CMAKE_ON= -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp |
66 |
CLANG_CMAKE_ON= -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp |
| 56 |
CLANG_PORTDOCS= clang |
|
|
| 57 |
CLANG_USE= GNOME=libxml2 |
67 |
CLANG_USE= GNOME=libxml2 |
| 58 |
COMPILER_RT_DESC= Sanitizer libraries |
68 |
COMPILER_RT_DESC= Sanitizer libraries |
| 59 |
COMPILER_RT_IMPLIES= CLANG |
69 |
COMPILER_RT_IMPLIES= CLANG |
| 60 |
COMPILER_RT_GH_PROJECT= compiler-rt:compiler_rt |
70 |
COMPILER_RT_GH_PROJECT= compiler-rt:compiler_rt |
|
|
71 |
COMPILER_RT_GH_SUBDIR= projects/compiler-rt:compiler_rt |
| 61 |
COMPILER_RT_GH_TAGNAME= ${COMPILER_RT_COMMIT}:compiler_rt |
72 |
COMPILER_RT_GH_TAGNAME= ${COMPILER_RT_COMMIT}:compiler_rt |
| 62 |
COMPILER_RT_PLIST_FILES=${_COMPILER_RT_LIBS:S|^|${_CRTLIBDIR}/|} |
73 |
COMPILER_RT_PLIST_FILES= ${_COMPILER_RT_LIBS:S|^|${_CRTLIBDIR_PREFIX}/|} |
| 63 |
DOCS_PORTDOCS= llvm |
74 |
DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx |
| 64 |
DOCS_CMAKE_ON= -DLLVM_ENABLE_SPHINX=ON \ |
75 |
DOCS_CMAKE_ON= -DLLVM_ENABLE_SPHINX=ON \ |
| 65 |
-DSPHINX_WARNINGS_AS_ERRORS=OFF \ |
76 |
-DSPHINX_WARNINGS_AS_ERRORS=OFF \ |
| 66 |
-DLLVM_BUILD_DOCS=ON |
77 |
-DLLVM_BUILD_DOCS=ON |
|
Lines 70-77
Link Here
|
| 70 |
EXTRAS_GH_PROJECT= clang-tools-extra:extras |
81 |
EXTRAS_GH_PROJECT= clang-tools-extra:extras |
| 71 |
EXTRAS_GH_SUBDIR= tools/clang/tools/extra:extras |
82 |
EXTRAS_GH_SUBDIR= tools/clang/tools/extra:extras |
| 72 |
EXTRAS_GH_TAGNAME= ${EXTRAS_COMMIT}:extras |
83 |
EXTRAS_GH_TAGNAME= ${EXTRAS_COMMIT}:extras |
| 73 |
LIT_DESC= Install lit and FileCheck test tools |
84 |
GOLD_DESC= Build the LLVM Gold plugin for LTO |
| 74 |
LLDB_VARS= _USES_PYTHON=python |
85 |
GOLD_CMAKE_ON= -DLLVM_BINUTILS_INCDIR=${LOCALBASE}/include |
|
|
86 |
GOLD_BUILD_DEPENDS= ${LOCALBASE}/bin/ld.gold:devel/binutils |
| 87 |
LIT_DESC= Install lit testing tool |
| 88 |
LIT_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools${PYTHON_SUFFIX}>0:devel/py-setuptools${PYTHON_SUFFIX} |
| 89 |
LIT_IMPLIES= UTILS |
| 90 |
LIT_SUB_FILES= llvm-lit-wrapper.sh |
| 91 |
LIT_SUB_LIST= LLVM_PYTHON_SITELIBDIR="${PYTHONPREFIX_SITELIBDIR:S|^${PREFIX}||}" |
| 92 |
LIT_VARS= _USES_PYTHON=python |
| 75 |
LLD_DESC= Install lld, the LLVM linker |
93 |
LLD_DESC= Install lld, the LLVM linker |
| 76 |
LLD_GH_PROJECT= lld:lld |
94 |
LLD_GH_PROJECT= lld:lld |
| 77 |
LLD_GH_SUBDIR= tools/lld:lld |
95 |
LLD_GH_SUBDIR= tools/lld:lld |
|
Lines 88-100
Link Here
|
| 88 |
OPENMP_GH_PROJECT= openmp:openmp |
106 |
OPENMP_GH_PROJECT= openmp:openmp |
| 89 |
OPENMP_GH_SUBDIR= tools/openmp:openmp |
107 |
OPENMP_GH_SUBDIR= tools/openmp:openmp |
| 90 |
OPENMP_GH_TAGNAME= ${OPENMP_COMMIT}:openmp |
108 |
OPENMP_GH_TAGNAME= ${OPENMP_COMMIT}:openmp |
| 91 |
GOLD_DESC= Build the LLVM Gold plugin for LTO |
109 |
UTILS_DESC= Install utility binaries |
| 92 |
GOLD_CMAKE_ON= -DLLVM_BINUTILS_INCDIR=${LOCALBASE}/include |
110 |
UTILS_CMAKE_ON= -DLLVM_INSTALL_UTILS=ON |
| 93 |
GOLD_BUILD_DEPENDS= ${LOCALBASE}/bin/ld.gold:devel/binutils |
|
|
| 94 |
|
| 95 |
OPTIONS_SUB= yes |
| 96 |
|
| 97 |
DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx |
| 98 |
|
111 |
|
| 99 |
PLIST_SUB+= LLVM_MAJOR=${LLVM_MAJOR} LLVM_RELEASE=${LLVM_RELEASE} |
112 |
PLIST_SUB+= LLVM_MAJOR=${LLVM_MAJOR} LLVM_RELEASE=${LLVM_RELEASE} |
| 100 |
|
113 |
|
|
Lines 127-133
Link Here
|
| 127 |
llvm-strings \ |
140 |
llvm-strings \ |
| 128 |
llvm-symbolizer \ |
141 |
llvm-symbolizer \ |
| 129 |
llvm-tblgen \ |
142 |
llvm-tblgen \ |
| 130 |
macho-dump \ |
143 |
llvm-xray \ |
| 131 |
opt \ |
144 |
opt \ |
| 132 |
sancov |
145 |
sancov |
| 133 |
FIRST_COMMAND= ${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//} |
146 |
FIRST_COMMAND= ${COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//} |
|
Lines 137-147
Link Here
|
| 137 |
${LIBNAME}.0 \ |
150 |
${LIBNAME}.0 \ |
| 138 |
libLTO.so |
151 |
libLTO.so |
| 139 |
|
152 |
|
| 140 |
EXTRAS_COMMANDS= \ |
153 |
EXTRAS_COMMANDS= \ |
| 141 |
clang-apply-replacements \ |
154 |
clang-apply-replacements \ |
| 142 |
clang-change-namespace \ |
155 |
clang-change-namespace \ |
| 143 |
clang-include-fixer \ |
156 |
clang-include-fixer \ |
| 144 |
clang-modernize \ |
|
|
| 145 |
clang-query \ |
157 |
clang-query \ |
| 146 |
clang-rename \ |
158 |
clang-rename \ |
| 147 |
clang-reorder-fields \ |
159 |
clang-reorder-fields \ |
|
Lines 184-192
Link Here
|
| 184 |
COMPILER_RT_PATTERN= (asan_blacklist.txt|sanitizer|xray_interface.h) |
196 |
COMPILER_RT_PATTERN= (asan_blacklist.txt|sanitizer|xray_interface.h) |
| 185 |
.endif |
197 |
.endif |
| 186 |
|
198 |
|
|
|
199 |
LIT_COMMANDS= lit llvm-lit |
| 200 |
FIRST_LIT_COMMAND= ${LIT_COMMANDS:C/^/XXXX/1:MXXXX*:C/^XXXX//} |
| 201 |
|
| 187 |
.if ${PORT_OPTIONS:MLIT} |
202 |
.if ${PORT_OPTIONS:MLIT} |
| 188 |
MAN1SRCS+= lit.1 FileCheck.1 |
203 |
MAN1SRCS+= lit.1 |
| 189 |
LIT_COMMANDS= lit llvm-lit FileCheck |
204 |
.endif |
|
|
205 |
|
| 206 |
UTILS_COMMANDS= count \ |
| 207 |
FileCheck \ |
| 208 |
lli-child-target \ |
| 209 |
llvm-PerfectShuffle \ |
| 210 |
not \ |
| 211 |
yaml-bench |
| 212 |
CLANG_UTILS_COMMANDS= clang-tblgen |
| 213 |
UTILS_PATTERN= ${UTILS_COMMANDS:tW:C/ */|/g}|${CLANG_UTILS_COMMANDS:tW:C/ */|/g} |
| 214 |
|
| 215 |
.if ${PORT_OPTIONS:MUTILS} |
| 216 |
COMMANDS+= ${UTILS_COMMANDS} |
| 217 |
.if ${PORT_OPTIONS:MCLANG} |
| 218 |
COMMANDS+= ${CLANG_UTILS_COMMANDS} |
| 219 |
.endif |
| 220 |
MAN1SRCS+= FileCheck.1 |
| 190 |
.endif |
221 |
.endif |
| 191 |
|
222 |
|
| 192 |
.if ${PORT_OPTIONS:MLLDB} |
223 |
.if ${PORT_OPTIONS:MLLDB} |
|
Lines 225-233
Link Here
|
| 225 |
|
256 |
|
| 226 |
.include <bsd.port.pre.mk> |
257 |
.include <bsd.port.pre.mk> |
| 227 |
|
258 |
|
| 228 |
_CRTLIBDIR= ${LLVM_PREFIX:S|${PREFIX}/||}/lib/freebsd |
259 |
_CRTLIBDIR= /lib/clang/${LLVM_RELEASE}/lib/${OPSYS:tl} |
|
|
260 |
_CRTLIBDIR_PREFIX= ${LLVM_PREFIX:S|${PREFIX}/||}${_CRTLIBDIR} |
| 229 |
.if ${ARCH} == "amd64" |
261 |
.if ${ARCH} == "amd64" |
| 230 |
_COMPILER_RT_LIBS= \ |
262 |
_COMPILER_RT_LIBS= \ |
| 231 |
libclang_rt.asan-preinit-x86_64.a \ |
263 |
libclang_rt.asan-preinit-x86_64.a \ |
| 232 |
libclang_rt.asan-x86_64.a \ |
264 |
libclang_rt.asan-x86_64.a \ |
| 233 |
libclang_rt.asan-x86_64.a.syms \ |
265 |
libclang_rt.asan-x86_64.a.syms \ |
|
Lines 252-258
Link Here
|
| 252 |
libclang_rt.ubsan_standalone_cxx-x86_64.a.syms |
284 |
libclang_rt.ubsan_standalone_cxx-x86_64.a.syms |
| 253 |
.endif |
285 |
.endif |
| 254 |
.if ${ARCH} == "i386" |
286 |
.if ${ARCH} == "i386" |
| 255 |
_COMPILER_RT_LIBS+= \ |
287 |
_COMPILER_RT_LIBS+= \ |
| 256 |
libclang_rt.asan-i386.a \ |
288 |
libclang_rt.asan-i386.a \ |
| 257 |
libclang_rt.asan-i386.so \ |
289 |
libclang_rt.asan-i386.so \ |
| 258 |
libclang_rt.asan-preinit-i386.a \ |
290 |
libclang_rt.asan-preinit-i386.a \ |
|
Lines 269-284
Link Here
|
| 269 |
.if ${PORT_OPTIONS:MEXTRAS} |
301 |
.if ${PORT_OPTIONS:MEXTRAS} |
| 270 |
COMMANDS+= ${EXTRAS_COMMANDS} |
302 |
COMMANDS+= ${EXTRAS_COMMANDS} |
| 271 |
MAN1SRCS+= extraclangtools.1 |
303 |
MAN1SRCS+= extraclangtools.1 |
| 272 |
PORTDOCS+= clang-tools |
|
|
| 273 |
.endif |
304 |
.endif |
| 274 |
|
305 |
|
| 275 |
.if ${PORT_OPTIONS:MLLD} |
306 |
.if ${PORT_OPTIONS:MLLD} |
| 276 |
COMMANDS+= lld \ |
307 |
COMMANDS+= lld \ |
| 277 |
lld-link |
308 |
lld-link |
| 278 |
PORTDOCS+= lld |
|
|
| 279 |
.endif |
309 |
.endif |
| 280 |
|
310 |
|
| 281 |
.if ${OPSYS} == "FreeBSD" && ${COMPILER_TYPE} != clang |
311 |
.if ${OPSYS} == "FreeBSD" && ${CHOSEN_COMPILER_TYPE} != clang |
| 282 |
BROKEN= Working C++11 compiler and library required |
312 |
BROKEN= Working C++11 compiler and library required |
| 283 |
.endif |
313 |
.endif |
| 284 |
|
314 |
|
|
Lines 286-321
Link Here
|
| 286 |
BROKEN= LLDB does not build with Python 3 |
316 |
BROKEN= LLDB does not build with Python 3 |
| 287 |
.endif |
317 |
.endif |
| 288 |
|
318 |
|
| 289 |
post-patch: |
319 |
post-patch-CLANG-on: |
| 290 |
${REINPLACE_CMD} -e 's|import lit|import lit${LLVM_SUFFIX}|' \ |
320 |
@${REINPLACE_CMD} -e 's|%%LLVM_PREFIX%%|${LLVM_PREFIX}|' \ |
| 291 |
-e 's|from lit|from lit${LLVM_SUFFIX}|' \ |
321 |
${WRKSRC}/tools/clang/lib/Driver/Tools.cpp |
| 292 |
-e 's|lit\.|lit${LLVM_SUFFIX}.|' \ |
|
|
| 293 |
${WRKSRC}/utils/lit/lit.py ${WRKSRC}/utils/lit/lit/*.py |
| 294 |
|
| 295 |
post-build-COMPILER_RT-on: |
| 296 |
${MKDIR} ${WRKDIR}/compiler-rt-build |
| 297 |
cd ${WRKDIR}/compiler-rt-build && \ |
| 298 |
${CMAKE_BIN} ${CMAKE_ARGS} \ |
| 299 |
-DLLVM_CONFIG_PATH=${CONFIGURE_WRKSRC}/bin/llvm-config \ |
| 300 |
${WRKSRC_compiler_rt} && \ |
| 301 |
${MAKE_ENV} ${MAKE_CMD} |
| 302 |
|
322 |
|
| 303 |
post-install: |
323 |
do-install-LIT-on: |
| 304 |
${INSTALL_SCRIPT} ${WRKDIR}/llvm-wrapper.sh \ |
324 |
@(cd ${WRKSRC}/utils/lit; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} \ |
| 305 |
${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} |
325 |
${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} \ |
| 306 |
.for command in ${COMMANDS:C/^/XXXX/1:NXXXX*} |
326 |
--no-compile --single-version-externally-managed \ |
| 307 |
${LN} -f ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} \ |
327 |
--root=${STAGEDIR} --prefix=${LLVM_PREFIX}) |
| 308 |
${STAGEDIR}${PREFIX}/bin/${command}${LLVM_SUFFIX} |
328 |
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ |
| 309 |
.endfor |
329 |
${STAGEDIR}${LLVM_PREFIX}/bin/llvm-lit |
| 310 |
|
330 |
|
| 311 |
post-install-DOCS-on: |
331 |
post-install-DOCS-on: |
| 312 |
${MV} ${STAGEDIR}${LLVM_PREFIX}/share/doc ${STAGEDIR}${DOCSDIR} |
332 |
${MV} ${STAGEDIR}${LLVM_PREFIX}/share/doc ${STAGEDIR}${DOCSDIR} |
| 313 |
.for _man in ${MAN1SRCS} |
333 |
.for _man in ${MAN1SRCS} |
| 314 |
${MV} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/${_man} \ |
334 |
${MV} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/${_man} \ |
| 315 |
${STAGEDIR}${MANPREFIX}/man/man1/${_man:R}${LLVM_SUFFIX}.1 |
335 |
${STAGEDIR}${MANPREFIX}/man/man1/${_man:R}${LLVM_SUFFIX}.1 |
| 316 |
.endfor |
336 |
.endfor |
| 317 |
.if ! ${PORT_OPTIONS:MLIT} |
337 |
.if ! ${PORT_OPTIONS:MLIT} |
| 318 |
${RM} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/lit.1 |
338 |
${RM} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/lit.1 |
|
|
339 |
.endif |
| 340 |
.if ! ${PORT_OPTIONS:MUTILS} |
| 319 |
${RM} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/FileCheck.1 |
341 |
${RM} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/FileCheck.1 |
| 320 |
.endif |
342 |
.endif |
| 321 |
${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/ |
343 |
${RMDIR} ${STAGEDIR}${LLVM_PREFIX}/share/man/man1/ |
|
Lines 330-369
Link Here
|
| 330 |
|
352 |
|
| 331 |
post-install-CLANG-on: |
353 |
post-install-CLANG-on: |
| 332 |
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/clang \ |
354 |
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/clang \ |
| 333 |
${STAGEDIR}${LLVM_PREFIX}/bin/clang-cpp |
355 |
${STAGEDIR}${LLVM_PREFIX}/bin/clang-cpp |
| 334 |
|
356 |
|
| 335 |
post-install-COMPILER_RT-on: |
357 |
post-install-COMPILER_RT-on: |
| 336 |
cd ${WRKDIR}/compiler-rt-build && \ |
|
|
| 337 |
${MAKE_ENV} ${MAKE_CMD} ${INSTALL_TARGET} |
| 338 |
.if ${ARCH} == "amd64" |
358 |
.if ${ARCH} == "amd64" |
| 339 |
${RM} ${STAGEDIR}${LLVM_PREFIX}/lib/freebsd/libclang_rt*i386* |
359 |
${RM} ${STAGEDIR}${LLVM_PREFIX}${_CRTLIBDIR}/libclang_rt*i386* |
| 340 |
.endif |
360 |
.endif |
| 341 |
|
361 |
|
| 342 |
post-install-LIT-on: |
362 |
post-install-script: |
| 343 |
${INSTALL_SCRIPT} ${PATCH_WRKSRC}/utils/lit/lit.py \ |
363 |
${INSTALL_SCRIPT} ${WRKDIR}/llvm-wrapper.sh \ |
| 344 |
${STAGEDIR}${LLVM_PREFIX}/bin/lit |
364 |
${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} |
| 345 |
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ |
365 |
.for command in ${COMMANDS:C/^/XXXX/1:NXXXX*} |
| 346 |
${STAGEDIR}${LLVM_PREFIX}/bin/llvm-lit |
366 |
${LN} -f ${STAGEDIR}${PREFIX}/bin/${FIRST_COMMAND}${LLVM_SUFFIX} \ |
| 347 |
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ |
367 |
${STAGEDIR}${PREFIX}/bin/${command}${LLVM_SUFFIX} |
| 348 |
${STAGEDIR}${PREFIX}/bin/lit${LLVM_SUFFIX} |
368 |
.endfor |
| 349 |
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/lit \ |
369 |
.if ${PORT_OPTIONS:MLIT} |
| 350 |
${STAGEDIR}${PREFIX}/bin/llvm-lit${LLVM_SUFFIX} |
370 |
${INSTALL_SCRIPT} ${WRKDIR}/llvm-lit-wrapper.sh \ |
| 351 |
${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX} |
371 |
${STAGEDIR}${PREFIX}/bin/${FIRST_LIT_COMMAND}${LLVM_SUFFIX} |
| 352 |
${INSTALL_DATA} ${WRKSRC}/utils/lit/lit/*.py \ |
372 |
.for command in ${LIT_COMMANDS:C/^/XXXX/1:NXXXX*} |
| 353 |
${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/lit${LLVM_SUFFIX} |
373 |
${LN} -f ${STAGEDIR}${PREFIX}/bin/${FIRST_LIT_COMMAND}${LLVM_SUFFIX} \ |
| 354 |
${INSTALL_PROGRAM} ${WRKDIR}/.build/bin/FileCheck \ |
374 |
${STAGEDIR}${PREFIX}/bin/${command}${LLVM_SUFFIX} |
| 355 |
${STAGEDIR}${LLVM_PREFIX}/bin/ |
375 |
.endfor |
| 356 |
${LN} -f ${STAGEDIR}${LLVM_PREFIX}/bin/FileCheck \ |
376 |
.endif |
| 357 |
${STAGEDIR}${PREFIX}/bin/FileCheck${LLVM_SUFFIX} |
|
|
| 358 |
|
| 359 |
TEST_CMD= '(cd ${WRKSRC}/test; ${SETENV} ${MAKE_ENV} LD_LIBRARY_PATH=${WRKSRC}/Release/lib ${MAKE_CMD} check-local-lit)' |
| 360 |
regression-test: ${BUILD_COOKIE} |
| 361 |
if [ `${ID} -u` = 0 ]; then \ |
| 362 |
${CHOWN} -R nobody ${WRKSRC}/test; \ |
| 363 |
su -m nobody -c ${TEST_CMD}; \ |
| 364 |
else \ |
| 365 |
${SH} -c ${TEST_CMD}; \ |
| 366 |
fi |
| 367 |
|
377 |
|
| 368 |
build-plist: |
378 |
build-plist: |
| 369 |
${RM} ${PLIST} ${PLIST}.tmp |
379 |
${RM} ${PLIST} ${PLIST}.tmp |
|
Lines 375-402
Link Here
|
| 375 |
${ECHO_CMD} %%LIT%%${LLVM_PREFIX:S|${PREFIX}/||}/bin/${command} >> ${PLIST}.tmp |
385 |
${ECHO_CMD} %%LIT%%${LLVM_PREFIX:S|${PREFIX}/||}/bin/${command} >> ${PLIST}.tmp |
| 376 |
.endfor |
386 |
.endfor |
| 377 |
${FIND} ${STAGEDIR}${LLVM_PREFIX} -type f -o -type l | \ |
387 |
${FIND} ${STAGEDIR}${LLVM_PREFIX} -type f -o -type l | \ |
| 378 |
${GREP} -v '[/-]lit$$' | ${GREP} -v 'FileCheck$$' | \ |
388 |
${GREP} -v '[/-]lit$$' | \ |
| 379 |
${GREP} -v man/man1 | ${SED} -e 's|${STAGEDIR}${PREFIX}/||' \ |
389 |
${GREP} -v man/man1 | ${SED} -e 's|${STAGEDIR}${PREFIX}/||' \ |
| 380 |
-e 's|${PORTVERSION}|%%PORTVERSION%%|' \ |
390 |
-e 's|${PORTVERSION}|%%PORTVERSION%%|' \ |
| 381 |
-e 's|release.cmake|%%CMAKE_BUILD_TYPE%%.cmake|' \ |
391 |
-e 's|release.cmake|%%CMAKE_BUILD_TYPE%%.cmake|' \ |
| 382 |
-e 's|${LLVM_RELEASE:C/\./\\./g}|%%LLVM_RELEASE%%|' \ |
392 |
-e 's|${LLVM_RELEASE:C/\./\\./g}|%%LLVM_RELEASE%%|' \ |
| 383 |
-e 's|${LLVM_MAJOR:C/\./\\./}|%%LLVM_MAJOR%%|' | \ |
393 |
-e 's|${LLVM_MAJOR:C/\./\\./}|%%LLVM_MAJOR%%|' \ |
| 384 |
${SORT} >> ${PLIST}.tmp |
394 |
-e 's|${PYTHONPREFIX_SITELIBDIR:S|^${PREFIX}||}|/%%PYTHON_SITELIBDIR%%|' \ |
| 385 |
${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/lit${LLVM_SUFFIX} -type f | \ |
395 |
-e 's|py${PYTHON_VER}|py%%PYTHON_VER%%|' | \ |
| 386 |
${SED} -e 's|${STAGEDIR}${PYTHON_SITELIBDIR}|%%LIT%%%%PYTHON_SITELIBDIR%%|' \ |
396 |
${SORT} >> ${PLIST}.tmp |
| 387 |
-e 's|${LLVM_RELEASE:C/\./\\./g}|%%LLVM_RELEASE%%|' \ |
397 |
${AWK} '{ \ |
| 388 |
-e 's|${LLVM_MAJOR:C/\./\\./}|%%LLVM_MAJOR%%|' | \ |
398 |
if ($$0 ~ /${CLANG_PATTERN}/ && $$0 !~ /omp.h|${EXTRAS_PATTERN}|libclang_rt/) {printf "%%%%CLANG%%%%"} \ |
| 389 |
${SORT} >> ${PLIST}.tmp |
399 |
if ($$0 ~ /${COMPILER_RT_PATTERN}/) \ |
| 390 |
awk '{ \ |
|
|
| 391 |
if ($$0 ~ /${CLANG_PATTERN}/ && $$0 !~ /omp.h|${EXTRAS_PATTERN}|libclang_rt/) {printf "%%%%CLANG%%%%"} \ |
| 392 |
if ($$0 ~ /${COMPILER_RT_PATTERN}/) \ |
| 393 |
{printf "%%%%COMPILER_RT%%%%"} \ |
400 |
{printf "%%%%COMPILER_RT%%%%"} \ |
| 394 |
if ($$0 ~ /lld/ && $$0 !~ /lldb/) {printf "%%%%LLD%%%%"} \ |
401 |
if ($$0 ~ /PYTHON_SITELIBDIR/ && /lit/) {printf "%%%%LIT%%%%"} \ |
| 395 |
if ($$0 ~ /(${EXTRAS_PATTERN})/) {printf "%%%%EXTRAS%%%%"} \ |
402 |
if ($$0 ~ /lld/ && $$0 !~ /lldb/) {printf "%%%%LLD%%%%"} \ |
| 396 |
if ($$0 ~ /(argdumper|lldb|six.py)/) {printf "%%%%LLDB%%%%"} \ |
403 |
if ($$0 ~ /bin/ && /(${UTILS_PATTERN})/) {printf "%%%%UTILS%%%%"} \ |
| 397 |
if ($$0 ~ /lib.*omp/) {printf "%%%%OPENMP%%%%"} \ |
404 |
if ($$0 ~ /(${EXTRAS_PATTERN})/) {printf "%%%%EXTRAS%%%%"} \ |
| 398 |
if ($$0 ~ /LLVMgold/) {printf "%%%%GOLD%%%%"} \ |
405 |
if ($$0 ~ /(argdumper|lldb|six.py)/) {printf "%%%%LLDB%%%%"} \ |
| 399 |
if ($$0 !~ /libclang_rt/) {print} \ |
406 |
if ($$0 ~ /lib.*omp/) {printf "%%%%OPENMP%%%%"} \ |
|
|
407 |
if ($$0 ~ /LLVMgold/) {printf "%%%%GOLD%%%%"} \ |
| 408 |
if ($$0 !~ /libclang_rt/) {print} \ |
| 400 |
}' ${PLIST}.tmp >> ${PLIST} |
409 |
}' ${PLIST}.tmp >> ${PLIST} |
| 401 |
${RM} ${PLIST}.tmp |
410 |
${RM} ${PLIST}.tmp |
| 402 |
|
411 |
|