# Contributor: Davorin Učakar # Contributor: Sven-Hendrik Haase # Contributor: Stefan Husmann # Contributor: Mihai Militaru # Contributor: scippio pkgname=mingw-w64-freeimage pkgver=3.17.0 pkgrel=1 pkgdesc="Library project for developers who would like to support popular graphics image formats (mingw-w64)" arch=(any) license=("GPL" "custom:FIPL") url="http://freeimage.sourceforge.net/" depends=(mingw-w64-crt) makedepends=(mingw-w64-gcc) options=(!strip !buildflags staticlibs) source=("http://downloads.sourceforge.net/sourceforge/freeimage/FreeImage${pkgver//./}.zip" gcc5.patch) md5sums=('459e15f0ec75d6efa3c7bd63277ead86' 'ea0a75f431a09ce8fbd539bb9a969679') _architectures="i686-w64-mingw32 x86_64-w64-mingw32" prepare() { cd FreeImage sed -i "s|IMPORTLIB = \$(TARGET).lib|IMPORTLIB = \$(TARGET).dll.a|g" Makefile.mingw sed -i 's/#include "..\\x86\\x86.h"/#include "..\/x86\/x86.h"/' Source/LibJXR/image/sys/strcodec.h rm Source/LibJXR/common/include/guiddef.h sed -i "s,WIN32_CFLAGS =,WIN32_CFLAGS = -fpermissive -D__MINGW64_TOOLCHAIN__," Makefile.mingw sed -i -e "s,#ifdef __GNUC__,#ifdef WHATEVER," -e "s,_MSC_VER,WINVER," Source/OpenEXR/IlmImf/ImfSystemSpecific.h patch -p1 -i ../gcc5.patch } build() { for _arch in ${_architectures}; do rm -rf FreeImage-${_arch} cp -r FreeImage FreeImage-${_arch} pushd FreeImage-${_arch} make \ CC=${_arch}-gcc \ CXX=${_arch}-g++ \ LD=${_arch}-g++ \ RC=${_arch}-windres \ AR=${_arch}-ar \ DLLTOOL=${_arch}-dlltool \ FREEIMAGE_LIBRARY_TYPE="STATIC" \ -f Makefile.mingw make \ CC=${_arch}-gcc \ CXX=${_arch}-g++ \ LD=${_arch}-g++ \ RC=${_arch}-windres \ AR=${_arch}-ar \ DLLTOOL=${_arch}-dlltool \ FREEIMAGE_LIBRARY_TYPE="SHARED" \ -f Makefile.mingw popd done } package() { for _arch in ${_architectures}; do cd ${srcdir}/FreeImage-${_arch} install -d "${pkgdir}"/usr/${_arch}/{lib,bin,include} install -m755 Dist/FreeImage.dll "${pkgdir}"/usr/${_arch}/bin/ install -m644 Dist/FreeImage.dll.a "${pkgdir}"/usr/${_arch}/lib/libFreeImage.dll.a install -m644 Dist/libFreeImage.a "${pkgdir}"/usr/${_arch}/lib/ install -m644 Dist/FreeImage.h "${pkgdir}"/usr/${_arch}/include/ ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll ${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a done }