aboutsummaryrefslogtreecommitdiffstats
path: root/meta-arago-extras/recipes-ti/ocl-rtos/opencl-rtos_git.bb
blob: 26dd5964ccefdef78a8c54cd49d2a45d0caf408d (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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
SUMMARY = "TI OpenCL host runtime (RTOS)"
HOMEPAGE = "http://software-dl.ti.com/mctools/docs/opencl/intro.html"
LICENSE = "BSD"

require recipes-ti/ocl/ocl.inc
require recipes-ti/includes/arago-paths.inc

PR = "${INC_PR}.0"


COMPATIBLE_MACHINE = "omap-a15"
PACKAGE_ARCH = "${MACHINE_ARCH}"

PACKAGES += " ${PN}-runtime"

DEPENDS = "cmake-native \
           llvm-rtos \
           libloki \
           gcc-arm-none-eabi-native \
           ti-sysbios \
           ti-xdctools-native \
           ti-ipc-rtos  \
           opencl-monitor-rtos  \
           clocl-rtos-native  \
"

#RDEPENDS_${PN}-dev += " opencl-monitor-rtos"

ALLOW_EMPTY_${PN}-runtime = "1"


S = "${WORKDIR}/git/host"

export WANT_LLVM_RELEASE = "3.6-ti"

OCL_BUILD_TARGET_omap-a15   = "ARM_AM57"

ENABLE_ULM = "0"

RELEASE_TARGET = ""
RELEASE_TARGET_omap-a15 = "am57xx"

export TI_OCL_CGT_INSTALL = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
export ARM_LLVM_DIR="${LLVM_RTOS_INSTALL_DIR}"
export DESTDIR="${OCL_RTOS_INSTALL_DIR}/ti-opencl-rtos-${RELEASE_TARGET}-${PV}/packages/ti/opencl"

# Required for eclipse plugin and packages
export XDC_DIR = "${XDC_INSTALL_DIR}"
export BIOS_DIR = "${SYSBIOS_INSTALL_DIR}"
export IPC_DIR = "${IPC_INSTALL_DIR}"

do_compile() {

    echo "LLVM_RTOS_INSTALL_DIR=${LLVM_RTOS_INSTALL_DIR}"

    unset LDFLAGS
    unset TARGET_LDFLAGS

    cd ${WORKDIR}
    rm -rf build

    mkdir -p build
    cd build; cmake \
        -DCMAKE_TOOLCHAIN_FILE=../git/host/cmake/CMakeBiosARMToolChain.txt \
        -DBUILD_TARGET=${OCL_BUILD_TARGET} \
        -DBUILD_OUTPUT=lib \
        -DENABLE_ULM=${ENABLE_ULM} \
        -DBUILD_OS=SYS_BIOS \
        -DIPC_INSTALL_PATH=${IPC_INSTALL_DIR}/packages \
        -DXDC_INSTALL_PATH=${XDC_INSTALL_DIR}/packages \
        -DBIOS_INSTALL_PATH=${SYSBIOS_INSTALL_DIR}/packages \
        -DLOKI_INCLUDE_PATH=${STAGING_DIR_HOST}/usr/include/loki \
        -DARM_LLVM_DIR=${ARM_LLVM_DIR} \
        -DOCL_VERSION=${PV} ../git/host;
    make install
    make -C packages install
    cd ..
}

# Install x86/Linux clocl built by clocl-rtos-native recipe
do_install() {
    install -d ${DESTDIR}/usr/share/ti/opencl/bin/x86
    install -m 755 ${STAGING_DIR_NATIVE}/usr/share/ti/ti-opencl-rtos-tree/bin/x86/clocl ${DESTDIR}/usr/share/ti/opencl/bin/x86
}