#! /bin/sh ## Win32 cross-compilation for libcaca -- Sam Hocevar set -x set -e # Clean up our working directory SRCDIR="`pwd`" DIRNAME="libcaca-win32-`sed -ne 's/^AC_INIT(.*, \(.*\)).*/\1/p' configure.ac`" INSTALLDIR="`pwd`/${DIRNAME}" BUILDDIR="${INSTALLDIR}/build" rm -Rf "${INSTALLDIR}" rm -f "${INSTALLDIR}.zip" mkdir "${INSTALLDIR}" mkdir "${BUILDDIR}" make distclean || true cd "${BUILDDIR}" # Build for win32 "${SRCDIR}/configure" --host=i686-w64-mingw32 --build=none --prefix=/ --bindir=/bin --libdir=/lib --disable-imlib2 --disable-java --disable-doc "$@" make -j4 pkglibdir=/lib pkgdatadir=/data bindir=/bin # Install into our private directory make -j4 install DESTDIR="${INSTALLDIR}" pkglibdir=/lib/ pkgdatadir=/ bindir=/bin/ cd "${SRCDIR}" rm -Rf "${BUILDDIR}" mv "${INSTALLDIR}/bin/"* "${INSTALLDIR}/" rmdir "${INSTALLDIR}/bin" mv "${INSTALLDIR}/lib/"* "${INSTALLDIR}/" for f in libcaca libcaca++; do mv "${INSTALLDIR}/${f}.a" "${INSTALLDIR}/lib/${f}.lib" done rm -f "${INSTALLDIR}/caca-config.exe" # Just in case. *sigh*. i686-w64-mingw32-strip "${INSTALLDIR}/"*.exe || true i686-w64-mingw32-strip "${INSTALLDIR}/"*.dll || true mkdir "${INSTALLDIR}/doc" for f in COPYING COPYING.LGPL COPYING.GPL README AUTHORS NEWS NOTES THANKS; do sed -e 's/$/ /' < "${SRCDIR}/${f}" > "${INSTALLDIR}/doc/${f}.txt" done rm -Rf "${INSTALLDIR}/share" rm -Rf "${INSTALLDIR}/man" rm -Rf "${INSTALLDIR}/pkgconfig" rm -f "${INSTALLDIR}/caca-config" rm -f "${INSTALLDIR}/"*.a rm -f "${INSTALLDIR}/"*.la # Pack the directory zip "${DIRNAME}.zip" `find "${DIRNAME}"` rm -Rf "${INSTALLDIR}"