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 | VERSION="`sed -ne 's/^AC_INIT(.*, \(.*\)).*/\1/p' configure.ac`" |
---|
13 | if [ -f .git/svn/trunk/unhandled.log ]; then |
---|
14 | VERSION="${VERSION}-`grep '^r' .git/svn/trunk/unhandled.log | tail -n 1`" |
---|
15 | elif [ -f .svn/entries ]; then |
---|
16 | VERSION="${VERSION}-r`head -n 4 .svn/entries | tail -n 1`" |
---|
17 | fi |
---|
18 | DIRNAME="${PROJECT}-${VERSION}" |
---|
19 | INSTALLDIR="`pwd`/${DIRNAME}" |
---|
20 | BUILDDIR="${INSTALLDIR}/build" |
---|
21 | rm -Rf "${INSTALLDIR}" |
---|
22 | rm -f "${INSTALLDIR}.zip" |
---|
23 | mkdir "${INSTALLDIR}" |
---|
24 | mkdir "${BUILDDIR}" |
---|
25 | |
---|
26 | make distclean || true |
---|
27 | |
---|
28 | cd "${BUILDDIR}" |
---|
29 | # Build for win32 |
---|
30 | "${SRCDIR}/configure" --host=i586-mingw32msvc --prefix=/ --bindir=/bin --libdir=/lib CPPFLAGS="-I${SRCDIR}/win32/gdiplus/include" LIBS="-L${SRCDIR}/win32/gdiplus/lib" "$@" |
---|
31 | make pkglibdir=/lib pkgdatadir=/data bindir=/bin |
---|
32 | # Install into our private directory |
---|
33 | make install DESTDIR="${INSTALLDIR}" pkglibdir=/lib/ pkgdatadir=/ bindir=/bin/ |
---|
34 | # Clean up |
---|
35 | cd "${SRCDIR}" |
---|
36 | rm -Rf "${BUILDDIR}" |
---|
37 | |
---|
38 | #i586-mingw32msvc-strip "${INSTALLDIR}/bin/"*.exe || true |
---|
39 | #i586-mingw32msvc-strip "${INSTALLDIR}/lib/"*.dll || true |
---|
40 | |
---|
41 | # Install pipi.exe |
---|
42 | echo 'int main(int argc, char *argv[], char *envp[]) { argv[0] = ".\\bin\\pipi.exe"; execve(argv[0], argv, envp); return 0; }' > run.c |
---|
43 | i586-mingw32msvc-gcc run.c -mwindows -o "${INSTALLDIR}/pipi.exe" |
---|
44 | i586-mingw32msvc-strip "${INSTALLDIR}/pipi.exe" |
---|
45 | |
---|
46 | # Install gtk-sharp |
---|
47 | cp -r "win32/gtksharp/"* "${INSTALLDIR}/" |
---|
48 | find "${INSTALLDIR}/" -name .svn -prune -exec rm -rf '{}' ';' |
---|
49 | |
---|
50 | # Install pipi-sharp |
---|
51 | mv "${INSTALLDIR}/lib/mono/gac/pipi-sharp/"*/* "${INSTALLDIR}/bin/" |
---|
52 | rm -Rf "${INSTALLDIR}/lib/mono" |
---|
53 | |
---|
54 | # Install The Pimp |
---|
55 | mv "${INSTALLDIR}/lib/ThePimp.exe" "${INSTALLDIR}/bin/" |
---|
56 | echo 'int main(int argc, char *argv[], char *envp[]) { argv[0] = ".\\bin\\ThePimp.exe"; execve(argv[0], argv, envp); return 0; }' > run.c |
---|
57 | i586-mingw32msvc-gcc run.c -mwindows -o "${INSTALLDIR}/ThePimp.exe" |
---|
58 | i586-mingw32msvc-strip "${INSTALLDIR}/ThePimp.exe" |
---|
59 | |
---|
60 | # Install documentation |
---|
61 | mkdir "${INSTALLDIR}/doc" |
---|
62 | for f in COPYING NOTES; do |
---|
63 | sed -e 's/$/
/' < "${SRCDIR}/${f}" > "${INSTALLDIR}/doc/${f}.txt" |
---|
64 | done |
---|
65 | rm -f "${INSTALLDIR}/lib/"*.a |
---|
66 | rm -f "${INSTALLDIR}/lib/"*.la |
---|
67 | |
---|
68 | # Pack the directory |
---|
69 | zip "${DIRNAME}.zip" `find "${DIRNAME}"` |
---|
70 | rm -Rf "${INSTALLDIR}" |
---|
71 | |
---|