| 1 | #! /bin/sh |
|---|
| 2 | |
|---|
| 3 | ## Win32 cross-compilation for libpipi -- Sam Hocevar <sam@zoy.org> |
|---|
| 4 | ## $Id$ |
|---|
| 5 | |
|---|
| 6 | set -x |
|---|
| 7 | set -e |
|---|
| 8 | |
|---|
| 9 | # Clean up our working directory |
|---|
| 10 | PROJECT="ThePimp" |
|---|
| 11 | SRCDIR="`pwd`" |
|---|
| 12 | DIRNAME="${PROJECT}-`sed -ne 's/^AC_INIT(.*, \(.*\)).*/\1/p' configure.ac`" |
|---|
| 13 | INSTALLDIR="`pwd`/${DIRNAME}" |
|---|
| 14 | BUILDDIR="${INSTALLDIR}/build" |
|---|
| 15 | rm -Rf "${INSTALLDIR}" |
|---|
| 16 | rm -f "${INSTALLDIR}.zip" |
|---|
| 17 | mkdir "${INSTALLDIR}" |
|---|
| 18 | mkdir "${BUILDDIR}" |
|---|
| 19 | |
|---|
| 20 | make distclean || true |
|---|
| 21 | |
|---|
| 22 | cd "${BUILDDIR}" |
|---|
| 23 | # Build for win32 |
|---|
| 24 | "${SRCDIR}/configure" --host=i586-mingw32msvc --prefix=/ --bindir=/bin --libdir=/lib "$@" |
|---|
| 25 | make pkglibdir=/lib pkgdatadir=/data bindir=/bin |
|---|
| 26 | # Install into our private directory |
|---|
| 27 | make install DESTDIR="${INSTALLDIR}" pkglibdir=/lib/ pkgdatadir=/ bindir=/bin/ |
|---|
| 28 | # Create a launcher |
|---|
| 29 | echo 'int main(int argc, char *argv[], char *envp[]) { argv[0] = ".\\bin\\ThePimp.exe"; execve(argv[0], argv, envp); return 0; }' > run.c |
|---|
| 30 | i586-mingw32msvc-gcc run.c -mwindows -o "${INSTALLDIR}/ThePimp.exe" |
|---|
| 31 | i586-mingw32msvc-strip "${INSTALLDIR}/ThePimp.exe" |
|---|
| 32 | # Clean up |
|---|
| 33 | cd "${SRCDIR}" |
|---|
| 34 | rm -Rf "${BUILDDIR}" |
|---|
| 35 | |
|---|
| 36 | #i586-mingw32msvc-strip "${INSTALLDIR}/bin/"*.exe || true |
|---|
| 37 | #i586-mingw32msvc-strip "${INSTALLDIR}/lib/"*.dll || true |
|---|
| 38 | |
|---|
| 39 | # Install gtk-sharp |
|---|
| 40 | cp -r "win32/gtksharp/"* "${INSTALLDIR}/" |
|---|
| 41 | |
|---|
| 42 | # Install pipi-sharp |
|---|
| 43 | mv "${INSTALLDIR}/lib/pipi-sharp/"* "${INSTALLDIR}/bin/" |
|---|
| 44 | rm -Rf "${INSTALLDIR}/lib/pipi-sharp" |
|---|
| 45 | |
|---|
| 46 | mkdir "${INSTALLDIR}/doc" |
|---|
| 47 | for f in COPYING NOTES; do |
|---|
| 48 | sed -e 's/$/ |
|---|
| 49 | /' < "${SRCDIR}/${f}" > "${INSTALLDIR}/doc/${f}.txt" |
|---|
| 50 | done |
|---|
| 51 | rm -f "${INSTALLDIR}/lib/"*.a |
|---|
| 52 | rm -f "${INSTALLDIR}/lib/"*.la |
|---|
| 53 | |
|---|
| 54 | # Pack the directory |
|---|
| 55 | zip "${DIRNAME}.zip" `find "${DIRNAME}"` |
|---|
| 56 | rm -Rf "${INSTALLDIR}" |
|---|
| 57 | |
|---|