1#! /bin/sh 2 3## Win32 cross-compilation for libcaca -- Sam Hocevar <sam@hocevar.net> 4 5set -x 6set -e 7 8# Clean up our working directory 9SRCDIR="`pwd`" 10DIRNAME="libcaca-win32-`sed -ne 's/^AC_INIT(.*, \(.*\)).*/\1/p' configure.ac`" 11INSTALLDIR="`pwd`/${DIRNAME}" 12BUILDDIR="${INSTALLDIR}/build" 13rm -Rf "${INSTALLDIR}" 14rm -f "${INSTALLDIR}.zip" 15mkdir "${INSTALLDIR}" 16mkdir "${BUILDDIR}" 17 18make distclean || true 19 20cd "${BUILDDIR}" 21# Build for win32 22"${SRCDIR}/configure" --host=i686-w64-mingw32 --build=none --prefix=/ --bindir=/bin --libdir=/lib --disable-imlib2 --disable-java --disable-doc "$@" 23make -j4 pkglibdir=/lib pkgdatadir=/data bindir=/bin 24# Install into our private directory 25make -j4 install DESTDIR="${INSTALLDIR}" pkglibdir=/lib/ pkgdatadir=/ bindir=/bin/ 26cd "${SRCDIR}" 27rm -Rf "${BUILDDIR}" 28 29mv "${INSTALLDIR}/bin/"* "${INSTALLDIR}/" 30rmdir "${INSTALLDIR}/bin" 31mv "${INSTALLDIR}/lib/"* "${INSTALLDIR}/" 32for f in caca caca++; do 33 mv "${INSTALLDIR}/lib${f}.a" "${INSTALLDIR}/lib/${f}.lib" 34done 35rm -f "${INSTALLDIR}/caca-config.exe" # Just in case. *sigh*. 36i686-w64-mingw32-strip "${INSTALLDIR}/"*.exe || true 37i686-w64-mingw32-strip "${INSTALLDIR}/"*.dll || true 38 39mkdir "${INSTALLDIR}/doc" 40for f in COPYING COPYING.LGPL COPYING.GPL README AUTHORS NEWS NOTES THANKS; do 41 sed -e 's/$/ 42/' < "${SRCDIR}/${f}" > "${INSTALLDIR}/doc/${f}.txt" 43done 44rm -Rf "${INSTALLDIR}/share" 45rm -Rf "${INSTALLDIR}/man" 46rm -Rf "${INSTALLDIR}/pkgconfig" 47rm -f "${INSTALLDIR}/caca-config" 48rm -f "${INSTALLDIR}/"*.a 49rm -f "${INSTALLDIR}/"*.la 50 51# Pack the directory 52zip "${DIRNAME}.zip" `find "${DIRNAME}"` 53rm -Rf "${INSTALLDIR}" 54 55