summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.19.0.bb
blob: db4f31b4693ea0eb07438f03dba5837e03bf2d1a (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
SUMMARY  = "Intel(R) Implicit SPMD Program Compiler"
DESCRIPTION = "ispc is a compiler for a variant of the C programming language, \
with extensions for single program, multiple data programming."
HOMEPAGE = "https://github.com/ispc/ispc"

LICENSE  = "BSD-3-Clause & Apache-2.0-with-LLVM-exception"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \
                    file://third-party-programs.txt;md5=3cd6f8a7c3bd9d2bb898fcb27c75221a"

inherit cmake python3native ptest

S = "${WORKDIR}/git"

SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \
           file://0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch \
           file://0002-cmake-don-t-build-for-32-bit-targets.patch \
           file://0001-Fix-QA-Issues.patch \
           file://0001-Add-print-function-to-print-test-run-status-in-ptest.patch \
           file://run-ptest \
           "

SRCREV = "ee43967286215a0511c2bc090e604848b4a32bed"

COMPATIBLE_HOST = '(x86_64).*-linux'

DEPENDS += " clang-native bison-native flex-native"
RDEPENDS:${PN} += " clang-libllvm clang clang-libclang-cpp"
RDEPENDS:${PN}-ptest += " python3-multiprocessing"

YFLAGS='-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}'

do_configure:prepend() {
        sed -i -e 's#\${BISON_EXECUTABLE}.*#\${BISON_EXECUTABLE} ${YFLAGS} #g' ${S}/CMakeLists.txt
        sed -i -e 's#\${FLEX_EXECUTABLE}.*#\${FLEX_EXECUTABLE} \-L #g' ${S}/CMakeLists.txt
}

do_install_ptest() {
        cp -rf ${S}/run_tests.py ${D}${PTEST_PATH}
        cp -rf ${S}/common.py ${D}${PTEST_PATH}
        cp -rf ${S}/tests ${D}${PTEST_PATH}
        cp -rf ${S}/test_static.isph ${D}${PTEST_PATH}
        cp -rf ${S}/fail_db.txt ${D}${PTEST_PATH}
        cp -rf ${S}/test_static.cpp ${D}${PTEST_PATH}
}

EXTRA_OECMAKE += " \
                  -DISPC_INCLUDE_TESTS=OFF  \
                  -DISPC_INCLUDE_EXAMPLES=OFF  \
                  -DISPC_NO_DUMPS=ON  \
                  -DARM_ENABLED=OFF  \
                  -DISPC_CROSS=ON  \
                  -DISPC_ANDROID_TARGET=OFF  \
                  -DISPC_FREEBSD_TARGET=OFF  \
                  -DISPC_WINDOWS_TARGET=OFF  \
                  -DISPC_IOS_TARGET=OFF  \
                  -DISPC_PS4_TARGET=OFF  \
                  -DSYSROOT_DIR=${STAGING_DIR_NATIVE}  \
                  "

BBCLASSEXTEND = "native nativesdk"