blob: 00b0b716254b79880a233edba91a8d0c869142a8 (
plain) (
blame)
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
|
# Created by: Yuri Victorovich <yuri@rawbw.com>
PORTNAME= ispc
DISTVERSIONPREFIX= v
DISTVERSION= 1.16.1
CATEGORIES= devel
MAINTAINER= yuri@FreeBSD.org
COMMENT= Intel's compiler for high-performance SIMD programming
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
ONLY_FOR_ARCHS= aarch64 amd64 i386
ONLY_FOR_ARCHS_REASON= only available for these architectures
BUILD_DEPENDS= ${LOCALBASE}/bin/flex:textproc/flex \
m4:devel/m4
LIB_DEPENDS= libLLVM.so:devel/llvm${LLVM_VERSION}
USES= bison cmake compiler:c++14-lang python:build,test shebangfix
USE_GITHUB= yes
SHEBANG_FILES= *.py
#LLVM_VERSION= -devel # fails with 12: call to non-static member function without an object argument: llvm::DebugLoc::get
# Release notes https://github.com/ispc/ispc/blob/master/docs/ReleaseNotes.txt list compatible LLVM versions, but they assume that extra patches are applied to LLVM
# LLVM build script: https://github.com/ispc/ispc/blob/master/scripts/build.sh
LLVM_VERSION= 11 # it fails with -devel (13.0.d20210308), with 12.0.0.r2 it also fails, using 11 that it succeeds with
CONFIGURE_ENV= PATH=${LOCALBASE}/llvm${LLVM_VERSION}/bin:${PATH}
CMAKE_OFF= ISPC_NO_DUMPS ISPC_INCLUDE_EXAMPLES
BINARY_ALIAS= flex=${LOCALBASE}/bin/flex python=${PYTHON_CMD} m4=${LOCALBASE}/bin/gm4
PLIST_FILES= bin/ispc \
bin/check_isa
do-test: # some tests fail: https://github.com/ispc/ispc/issues/1868
@cd ${WRKSRC} && ISPC_HOME=${BUILD_WRKSRC}/bin ./run_tests.py
test-check-all: # the upstream claims that some of these checks are broken without using their patched llvm version, hence using llvm-devel
@cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} check-all
run-examples: build
@[ -f ${LOCALBASE}/lib/libtbb.so ] || ! echo "ERROR run-examples target requires devel/tbb package installed"
.for e in simple sort mandelbrot stencil
@cd ${WRKSRC}/examples/${e} && \
${ECHO} "===> Running example ${e}" && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} && \
./${e}
.endfor
.include <bsd.port.mk>
|