blob: 5e2a90ecdbbf8b487c4f438f42ef59ba41b26e82 (
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
PORTNAME= spirv-llvm-translator
DISTVERSIONPREFIX= v
DISTVERSION= ${DISTVERSION_${FLAVOR}}
DISTVERSION_llvm20= 20.1.3
DISTVERSION_llvm19= 19.1.8
DISTVERSION_llvm18= 18.1.13
DISTVERSION_llvm17= 17.0.13
DISTVERSION_llvm16= 16.0.13
DISTVERSION_llvm15= 15.0.13
DISTVERSION_llvm14= 14.0.12
DISTVERSION_llvm13= 13.0.2
DISTVERSION_llvm12= 12.0.1
DISTVERSION_llvm11= 11.0.2
CATEGORIES= devel
PKGNAMESUFFIX= -${FLAVOR}
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Bi-directional translation between SPIR-V and LLVM IR
WWW= https://github.com/KhronosGroup/SPIRV-LLVM-Translator
LICENSE= NCSA
LICENSE_FILE= ${WRKSRC}/LICENSE.TXT
LIB_DEPENDS= libLLVM-${FLAVOR:S/llvm//}.so:devel/${FLAVOR}
FLAVORS= ${20 19 18 17 16 15 14 13 12 11:L:S/^/llvm/}
CONFLICTS_BUILD=${FLAVOR}-lite
USES= cmake compiler:c++11-lib
USE_GITHUB= yes
USE_LDCONFIG= ${PREFIX}/${FLAVOR}/lib
GH_ACCOUNT= KhronosGroup
GH_PROJECT= SPIRV-LLVM-Translator
.if ${FLAVOR:U:Mllvm1[12]}
# empty
.elif ${FLAVOR:U:Mllvm1[378]}
GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-332-g1c6bb27:headers/projects/SPIRV-Headers
.elif ${FLAVOR:U} == llvm19
GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-411-gaa6cef1:headers/projects/SPIRV-Headers
.elif ${FLAVOR:U} == llvm20 || !defined(FLAVOR)
GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-405-g0e71067:headers/projects/SPIRV-Headers
.else
GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-390-g2b2e05e:headers/projects/SPIRV-Headers
.endif
DISTINFO_FILE= ${.CURDIR}/distinfo.${FLAVOR}
CXXFLAGS+= ${${FLAVOR:S/llvm//} < 16 && ${COMPILER_TYPE} == clang:?-Wno-enum-constexpr-conversion:}
CMAKE_ON= BUILD_SHARED_LIBS LLVM_BUILD_TOOLS LLVM_TOOL_SPIRV_HEADERS_BUILD
CMAKE_ARGS= -DLLVM_DIR:PATH="${LOCALBASE}/${FLAVOR}"
CMAKE_ARGS+= ${${FLAVOR:S/llvm//}==11:?-DBASE_LLVM_VERSION=11.0:}
CMAKE_INSTALL_PREFIX= ${PREFIX}/${FLAVOR}
_PLIST_FILES= bin/llvm-spirv \
include/LLVMSPIRVLib/LLVMSPIRVExtensions.inc \
include/LLVMSPIRVLib/LLVMSPIRVLib.h \
include/LLVMSPIRVLib/LLVMSPIRVOpts.h \
lib/libLLVMSPIRVLib.so \
lib/libLLVMSPIRVLib.so.${SOVERSION} \
libdata/pkgconfig/LLVMSPIRVLib.pc
PLIST_FILES= ${_PLIST_FILES:S,^,${FLAVOR}/,}
SOVERSION= ${${FLAVOR:S/llvm//}<18:?${DISTVERSION:R:R}:${DISTVERSION:R}}
post-patch:
@${REINPLACE_CMD} -e '/pkgconfig/s/lib/&data/' \
${WRKSRC}/CMakeLists.txt
.if !defined(DEFAULT_MAKESUM)
makesum:
. for f in ${FLAVORS}
${MAKE} -C${.CURDIR} FLAVOR=$f DEFAULT_MAKESUM=1 ${.TARGET}
. endfor
.endif
.include <bsd.port.mk>
|