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