source: trunk/build-mingw @ 912

Last change on this file since 912 was 912, checked in by sam, 12 years ago

test: replace CppUnit with our LolUnit test suite.

CppUnit is really too large for our needs, would require to be precompiled
for many platforms, in all combinations of debug and release modes, with
additional variants for libstdc++ versions. We replace it with our own
lightweight implementation, LolUnit. Good riddance.

  • Property svn:executable set to *
File size: 2.4 KB
Line 
1#!/bin/sh
2
3##  Native MinGW compilation for Lol Engine -- Sam Hocevar <sam@hocevar.net>
4
5# This can't hurt
6make distclean
7
8set -e
9
10PATH="$PATH:./contrib/gtk-2.22.1/bin"
11
12M4PATH="$M4PATH:./contrib/gtk-2.22.1/share/aclocal"
13export M4PATH # This looks necessary
14
15PKG_CONFIG_PATH="$PKG_CONFIG_PATH:`pwd`/contrib/gtkglarea-2.0.1/lib/pkgconfig"
16export PKG_CONFIG_PATH # This looks necessary, too
17
18# SDL include path
19CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/sdl-1.2.14/include"
20CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/sdl-image-1.2.10/include"
21CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/sdl-mixer-1.2.11/include"
22
23# Glew include path
24CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/glew-1.6.0/include -DGLEW_STATIC"
25
26# GTK include path
27CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/gtk-2.22.1/lib/glib-2.0/include"
28CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/gtk-2.22.1/lib/gtk-2.0/include"
29CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/gtk-2.22.1/include/glib-2.0"
30CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/gtk-2.22.1/include/gtk-2.0"
31CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/gtk-2.22.1/include/cairo"
32CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/gtk-2.22.1/include/pango-1.0"
33CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/gtk-2.22.1/include/gdk-pixbuf-2.0"
34CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/gtk-2.22.1/include/atk-1.0"
35CPPFLAGS="$CPPFLAGS -I`pwd`/contrib/gtkglarea-2.0.1/include"
36
37# SDL library path
38LDFLAGS="$LDFLAGS -L`pwd`/contrib/sdl-1.2.14/lib"
39LDFLAGS="$LDFLAGS -L`pwd`/contrib/sdl-image-1.2.10/lib"
40LDFLAGS="$LDFLAGS -L`pwd`/contrib/sdl-mixer-1.2.11/lib"
41
42# Glew library path
43LDFLAGS="$LDFLAGS -L`pwd`/contrib/glew-1.6.0/lib"
44
45# GTK library path
46LDFLAGS="$LDFLAGS -L`pwd`/contrib/gtk-2.22.1/lib"
47LDFLAGS="$LDFLAGS -L`pwd`/contrib/gtk-2.22.1/bin"
48LDFLAGS="$LDFLAGS -L`pwd`/contrib/gtkglarea-2.0.1/lib"
49
50# Prevent issues with GTK+ internals
51CPPFLAGS="$CPPFLAGS -mms-bitfields"
52
53# We don't want our binaries to depend on MinGW
54LDFLAGS="$LDFLAGS -static-libgcc -static-libstdc++"
55
56# Help our build scripts a bit here
57GTK_LIBS="$GTK_LIBS -lgtkgl-2.0 -lopengl32 -lglew32 -lgdi32"
58GTK_LIBS="$GTK_LIBS -lgtk-win32-2.0 -lgdk-win32-2.0"
59GTK_LIBS="$GTK_LIBS -lglib-2.0 -lgthread-2.0 -lgobject-2.0"
60
61LOL_LIBS="$LOL_LIBS -lSDL_image -lSDL_mixer -lSDLmain -lSDL -lopengl32 -lglew32"
62
63# Bootstrap, configure and make
64./bootstrap
65# Only on Windows
66if test "x${MSYSTEM}" != xMINGW32; then
67  HOSTFLAGS=--host=i586-mingw32msvc
68  BUILDFLAGS=--build=none
69fi
70
71./configure $HOSTFLAGS $BUILDFLAGS \
72            CPPFLAGS="$CPPFLAGS" LDFLAGS="$LDFLAGS" \
73            GTK_LIBS="$GTK_LIBS" LOL_LIBS="$LOL_LIBS"
74make
75
Note: See TracBrowser for help on using the repository browser.