# Maintainer: Chad Versace <chad.versace@linux.intel.com>

pkgname='mingw-w64-waffle'
pkgver='1.3.0'
pkgrel=1
pkgdesc='a library for choosing window system and OpenGL API at runtime (mingw-w64)'
arch=('any')
url='http://waffle-gl.github.io'
license=('BSD')

depends=(
  'mingw-w64-crt>=3.1.0-3'
  )
makedepends=(
  'mingw-w64-cmake'

  # For building the docs.
# XXX: Add as soon as we enable docs/manpages
#  'libxslt'
#  'docbook-xsl'

  )

options=('!strip' '!buildflags' 'staticlibs')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"

if [[ ! -v _srcroot ]]; then
  msg "Environment variable _srcroot is unset"
  msg "Fall back to using git worktree for _srcroot ..."
  _srcroot="$(git rev-parse --show-toplevel)" || exit
  msg "Using _srcroot=$_srcroot"
fi

build() {
  unset LDFLAGS
  cd "${_srcroot}"
  msg "Building mingw-w64-waffle for cross-building"
  for _arch in ${_architectures}; do
    mkdir -p build-${_arch} && pushd build-${_arch}
    ${_arch}-cmake .. \
      -DCMAKE_INSTALL_PREFIX=/usr/${_arch} \
      -DCMAKE_INSTALL_LIBDIR=/usr/${_arch}/lib \
      -DCMAKE_BUILD_TYPE=Release \
      \
      -Dwaffle_build_tests=0 \
      -Dwaffle_build_manpages=0 \
      -Dwaffle_build_htmldocs=0 \
      -Dwaffle_build_examples=1
    make
    popd
  done

  # There should be a better way to do this
  msg "Building mingw-w64-waffle for native builds"
  for _arch in ${_architectures}; do
    mkdir -p "build-${_arch}-win" && pushd "build-${_arch}-win"
    ${_arch}-cmake .. \
      -DCMAKE_INSTALL_PREFIX="" \
      -DCMAKE_INSTALL_LIBDIR="lib" \
      -DCMAKE_BUILD_TYPE=Release \
      \
      -Dwaffle_build_tests=0 \
      -Dwaffle_build_manpages=0 \
      -Dwaffle_build_htmldocs=0 \
      -Dwaffle_build_examples=1
    make
    popd
  done
}

package() {
  for _arch in ${_architectures}; do
    cd "${_srcroot}/build-${_arch}"
    make DESTDIR="${pkgdir}" install
#    ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
#    ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a
  done

  for _arch in ${_architectures}; do
    cd "${_srcroot}/build-${_arch}-win"
    # Create Windows zip archives
    make package
  done
}

# vim:set ts=2 sw=2 et:
