# Maintainer: Alexey Pavlov <alexpux@gmail.com>

_realname=ispc
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.27.0
pkgrel=1
pkgdesc="Compiler for high-performance SIMD programming on the CPU (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://ispc.github.io/"
license=('BSD')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
         "${MINGW_PACKAGE_PREFIX}-clang"
         "${MINGW_PACKAGE_PREFIX}-llvm"
         "${MINGW_PACKAGE_PREFIX}-tbb"
         #"${MINGW_PACKAGE_PREFIX}-spirv-llvm-translator"
        )
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-ninja"
             "${MINGW_PACKAGE_PREFIX}-python"
             "${MINGW_PACKAGE_PREFIX}-openmp"
             #"${MINGW_PACKAGE_PREFIX}-level-zero-headers"
             #"${MINGW_PACKAGE_PREFIX}-level-zero-loader"
             "git"
             "bison"
             "flex")
source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/ispc/ispc/archive/v${pkgver}.tar.gz"
        001-mingw-build.patch
        003-mingw-build-examples.patch)
sha256sums=('c41ae29e4f6b1d37154610e68e9b7a0eb225cd7c080242ab56fa0119e49dbd7a'
            'e9db96a883f94592a86d1c2e5a1ed1588de57a5107240dbed76e4bce6c2b867a'
            '7c718f30d96e307d050cb88e8ae75fc13e1e2bf4caadfcfc45f8f15a39a86129')

prepare() {
  cd ${srcdir}/${_realname}-${pkgver}
  patch -p1 -i ${srcdir}/001-mingw-build.patch
  patch -p1 -i ${srcdir}/003-mingw-build-examples.patch
}

build() {
  declare -a extra_config
  if check_option "debug" "n"; then
    extra_config+=("-DCMAKE_BUILD_TYPE=Release")
  else
    extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
  fi

  [[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}"
  mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
  ${MINGW_PREFIX}/bin/cmake \
    -G"Ninja" \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
    -DBUILD_SHARED_LIBS=ON \
    -DISPC_STATIC_LINK=OFF \
    -DISPC_INCLUDE_EXAMPLES=OFF \
    ${extra_config[@]} \
    ../${_realname}-${pkgver}

  ${MINGW_PREFIX}/bin/cmake --build .
}

package() {
  cd "${srcdir}/build-${MSYSTEM}"
  DESTDIR=${pkgdir} ${MINGW_PREFIX}/bin/cmake --install .
}
