PKGNAME=adaptivecpp
PKGSEC=devel
PKGDEP="boost gcc-runtime glibc llvm python-3"
PKGDES="Compiler for C++-based heterogeneous programming models"
ABTYPE=cmakeninja
CMAKE_AFTER__BASE=(
    '-DACPP_COMPILER_FEATURE_PROFILE=full'
    '-DACPP_CONFIG_FILE_GLOBAL_INSTALLATION=ON'
    '-DCMAKE_SKIP_INSTALL_RPATH=OFF'
    '-DWITH_CUDA_BACKEND=OFF'
    '-DWITH_LEVEL_ZERO_BACKEND=OFF'
    '-DWITH_OPENCL_BACKEND=OFF'
    '-DWITH_ROCM_BACKEND=OFF'
)
# Note: LLVM supports OpenMP 5.1, newer than GCC's 4.5.
USECLANG=1
CMAKE_AFTER=(
    "${CMAKE_AFTER__BASE[@]}"
    '-DDEFAULT_TARGETS=omp.accelerated'
)
# FIXME: Clang LTO on riscv64 rejects Minicoro's asm backend (fsd/fld). Use ucontext instead.
CMAKE_AFTER__RISCV64=(
    "${CMAKE_AFTER__BASE[@]}"
    '-DDEFAULT_TARGETS=omp.accelerated'
    '-DCMAKE_CXX_FLAGS_INIT=-DMCO_USE_UCONTEXT'
)
# FIXME: LLVM OpenMP runtime is not available on loongson3.
USECLANG__LOONGSON3=0
CMAKE_AFTER__LOONGSON3=(
    "${CMAKE_AFTER__BASE[@]}"
    '-DDEFAULT_TARGETS=omp.library-only'
)
