_realname=tiledb
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.9000
pkgrel=1
pkgdesc="Storage management library for sparse and dense array data (mingw-w64)"
arch=("any")
url="https://tiledb.com/"
license=("MIT")
depends=("${MINGW_PACKAGE_PREFIX}-lz4"
         "${MINGW_PACKAGE_PREFIX}-aws-sdk-cpp"
         "${MINGW_PACKAGE_PREFIX}-bzip2"
         "${MINGW_PACKAGE_PREFIX}-zlib"
         "${MINGW_PACKAGE_PREFIX}-zstd"
         )
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-gcc"
             "${MINGW_PACKAGE_PREFIX}-curl")
options=("staticlibs" "strip")
source_dir="$TILEDB_HOME"

build() {
  [[ -d ${source_dir}/build-${MINGW_CHOST} ]] && rm -rf ${source_dir}/build-${MINGW_CHOST}
  mkdir -p ${source_dir}/build-${MINGW_CHOST} && cd ${source_dir}/build-${MINGW_CHOST}

  if [ "$CARCH" == "i686" ]; then
  export CFLAGS="-mfpmath=sse -msse2"
  export CXXFLAGS="-mfpmath=sse -msse2"
  fi


  export MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX="
  ${MINGW_PREFIX}/bin/cmake.exe \
    -G"MSYS Makefiles" \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
    -DBUILD_SHARED_LIBS=OFF \
    -DCMAKE_BUILD_TYPE=Release \
    -DTILEDB_STATIC=ON \
    -DTILEDB_S3=ON \
    -DCOMPILER_SUPPORTS_AVX2=OFF \
    -DTILEDB_SKIP_S3AWSSDK_DIR_LENGTH_CHECK=ON \
    -DTILEDB_WERROR=OFF \
    ..
  make
  make -C tiledb

# in a local environ, can build to demo/check for previously seen (windows event) handle leakge
# apparently due to issues with mingw std library implementation.
# note that with S3 enabled above, and minio not running, the aws sdk may fatally error on exit.
#  make -C tiledb/test tiledb_unit # need the support lib built
#  make -C tiledb/test/performance tiledb_explore_msys_handle_leakage
#  . ../test/performance/msys_handle_leakage/trials.sh
}

package() {
  cd ${source_dir}/build-${MINGW_CHOST}
  make DESTDIR="${pkgdir}" -C tiledb install
}

check (){
  cd ${source_dir}/build-${MINGW_CHOST}
  #make check
}
