summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 53969640ce3aeb0fe47a6cf7607aec5fc4d8ad7c (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
# Maintainer: Marco Julian Solanki <aur@solanki.mozmail.com>

pkgname='adaptivecpp-git'
pkgver=25.02.0.r88.g081b5d3
pkgrel=1
pkgdesc='A modern, community-driven platform for C++-based heterogeneous programming models targeting CPUs and GPUs from all major vendors.'
arch=('x86_64')
url='https://github.com/AdaptiveCpp/AdaptiveCpp'
license=('BSD-2-Clause')
conflicts=('adaptivecpp')
source=("${pkgname}::git+${url}.git")
sha512sums=('SKIP')
_llvm_version_major=19

depends=(
    "clang${_llvm_version_major}"
    'cuda'
    'gcc-libs'
    'glibc'
    'hip-runtime-amd'
    'level-zero-loader'
    "llvm${_llvm_version_major}-libs"
    'numactl'
    'nvidia-utils'
    'ocl-icd'
    'python'
)
makedepends=(
    'boost'
    'cmake'
    'doxygen'
    'git'
    'level-zero-headers'
    "lld${_llvm_version_major}"
    "llvm${_llvm_version_major}"
    'openmp'
    'rocm-llvm'
)


pkgver() {
    cd "${pkgname}" && git describe --long --tags --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

build() {
    cmake -Wno-dev \
        -B build \
        -S "${pkgname}" \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX='/usr' \
        -DCMAKE_SKIP_INSTALL_RPATH=YES \
        -DLLVM_ROOT="/usr/lib/llvm${_llvm_version_major}" \
        -DCUDAToolkit_ROOT=/opt/cuda \
        -DROCM_PATH=/opt/rocm \
        -DACPP_LLD_PATH="/usr/lib/llvm${_llvm_version_major}/bin/lld" \
        -DACPP_COMPILER_FEATURE_PROFILE=full \
        -DWITH_CUDA_BACKEND=ON \
        -DWITH_ROCM_BACKEND=ON \
        -DWITH_LEVEL_ZERO_BACKEND=ON \
        -DWITH_OPENCL_BACKEND=ON \

    cmake --build build --parallel $(nproc)
}

package() {
    DESTDIR="${pkgdir}" cmake --install build
    install -Dm644 "${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
    cd "${pkgdir}" && ln -svr usr/lib/hipSYCL/llvm-to-backend/*.so usr/lib
}