Mercurial > sdl-ios-xcode
annotate test/configure.in @ 4134:31c7c57af8a4 SDL-1.2
Updates for building on Windows CE using mingw32ce cross compiler:
http://sourceforge.net/mailarchive/forum.php?thread_name 0703291652.38437.jwalt%40garni.ch&forum_name=cegcc-devel
Hi!
I just managed to compile SDL for Windows CE using the "mingw32ce"
configuration of http://cegcc.sourceforge.net. Test programs work as expected
(except for those using signals -- no POSIX on mingw32ce), and I didn't yet
encounter any problem.
While it was a pain to get everything compiled and running, the changes to
SDL are actually quite small (see attached SDL-ce.diff).
Unfortunately, the win32 headers shipped with cegcc are not 100% correct, and
it feels quite messy to work around them in SDL code, so those headers will
also need to be patched. (Attachment: win32api-ce.diff)
Since I had to apply the libtool patch from the cegcc patch, I have also ad ded
my copy of aclocal.m4 for SDL. I had to modify the cegcc libtool patch to
use "lt_cv_deplibs_check_method=pass_all" for mingw32ce, otherwise libtool
would not recognize the import libraries as valid for dynamic linking.
All these changes should not affect non-WinCE builds, so they could be
included in mainline SDL.
If you need some docs, you can use this description for a cross-compilation
README:
1) get cegcc from http://cegcc.sourceforge.net
2) build and install the "mingw32ce" variant (see cegcc installation docs)
3) patch w32api-headers (if not yet included in cegcc)
4) setup environment (customize the first three lines as you like):
PREFIX=/opt/mingw32ce
TARGET=arm-wince-mingw32ce
BUILD=`uname -m`-pc-linux-gnu
export PATH="$PREFIX/bin:$PREFIX/$TARGET/bin:$PREFIX/local/bin:$PATH"
export CFLAGS="${CFLAGS:- -O2 -g} -I$PREFIX/local/include"
export CPPFLAGS="${CPPFLAGS:- -O2 -g} -I$PREFIX/local/include"
export CXXFLAGS="${CXXFLAGS:- -O2 -g} -I$PREFIX/local/include"
export LDFLAGS="${LDFLAGS:- -O2 -g} -L$PREFIX/local/lib"
export HOST_CC="gcc"
export CC="$PREFIX/bin/$TARGET-gcc"
export CXX="$PREFIX/bin/$TARGET-g++"
export LD="$PREFIX/bin/$TARGET-ld"
export AS="$PREFIX/bin/$TARGET-as"
export AR="$PREFIX/bin/$TARGET-ar"
export RANLIB="$PREFIX/bin/$TARGET-ranlib"
export CONFIG_SHELL="/bin/sh"
5) build and install
./configure --target=$TARGET --host=$TARGET --build=$BUILD
make
make install
6) use (4) and (5) for any SDL-using software you want to cross-compile
7) copy $PREFIX/local/bin/SDL-1-2-0.dll into your executable directory on the WinCE machine
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 03 Jan 2008 06:19:07 +0000 |
parents | 1164b2b282a2 |
children | 7a4c511c980a |
rev | line source |
---|---|
0 | 1 dnl Process this file with autoconf to produce a configure script. |
2 AC_INIT(README) | |
3 | |
1550 | 4 dnl Detect the canonical build and host environments |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
5 AC_CONFIG_AUX_DIRS($srcdir/../build-scripts) |
1550 | 6 AC_CANONICAL_HOST |
0 | 7 |
8 dnl Check for tools | |
9 | |
10 AC_PROG_CC | |
11 | |
12 dnl Check for compiler environment | |
13 | |
14 AC_C_CONST | |
15 | |
16 dnl Figure out which math library to use | |
1550 | 17 case "$host" in |
0 | 18 *-*-cygwin* | *-*-mingw32*) |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
19 EXE=".exe" |
0 | 20 MATHLIB="" |
21 SYS_GL_LIBS="-lopengl32" | |
22 ;; | |
23 *-*-beos*) | |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
24 EXE="" |
0 | 25 MATHLIB="" |
26 SYS_GL_LIBS="-lGL" | |
27 ;; | |
991
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
28 *-*-darwin* ) |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
29 EXE="" |
0 | 30 MATHLIB="" |
1813
a7cda692b681
sdl-config doesn't include the OpenGL library in --libs
Sam Lantinga <slouken@libsdl.org>
parents:
1550
diff
changeset
|
31 SYS_GL_LIBS="-Wl,-framework,OpenGL" |
0 | 32 ;; |
33 *-*-aix*) | |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
34 EXE="" |
0 | 35 if test x$ac_cv_prog_gcc = xyes; then |
36 CFLAGS="-mthreads" | |
978
3b1ba22f5a28
Add support for OpenGL on Atari using OSMesa, the offscreen rendering driver from Mesa
Patrice Mandin <patmandin@gmail.com>
parents:
796
diff
changeset
|
37 fi |
0 | 38 SYS_GL_LIBS="" |
39 ;; | |
991
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
40 *-*-mint*) |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
41 EXE="" |
991
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
42 MATHLIB="" |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
43 AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no) |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
44 if test "x$OSMESA_CONFIG" = "xyes"; then |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
45 OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags` |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
46 OSMESA_LIBS=`$OSMESA_CONFIG --libs` |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
47 CFLAGS="$CFLAGS $OSMESA_CFLAGS" |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
48 SYS_GL_LIBS="$OSMESA_LIBS" |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
49 else |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
50 SYS_GL_LIBS="-lOSMesa" |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
51 fi |
12b13601a544
Final touches to OSMesa OpenGL support on Atari, using loadable libraries. Hope SDL 1.2.8 is out soon.
Patrice Mandin <patmandin@gmail.com>
parents:
981
diff
changeset
|
52 ;; |
0 | 53 *) |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
54 EXE="" |
0 | 55 MATHLIB="-lm" |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
56 SYS_GL_LIBS="-lGL" |
0 | 57 ;; |
58 esac | |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
59 AC_SUBST(EXE) |
0 | 60 AC_SUBST(MATHLIB) |
61 | |
62 dnl Check for SDL | |
1387
835c1831f903
Tests require SDL 1.2.10
Sam Lantinga <slouken@libsdl.org>
parents:
1380
diff
changeset
|
63 SDL_VERSION=1.2.10 |
0 | 64 AM_PATH_SDL($SDL_VERSION, |
65 :, | |
66 AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) | |
67 ) | |
68 CFLAGS="$CFLAGS $SDL_CFLAGS" | |
69 LIBS="$LIBS $SDL_LIBS" | |
70 | |
3990
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
71 dnl Check for X11 path, needed for OpenGL on some systems |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
72 AC_PATH_X |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
73 if test x$have_x = xyes; then |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
74 if test x$ac_x_includes = xno || test x$ac_x_includes = x; then |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
75 : |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
76 else |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
77 CFLAGS="$CFLAGS -I$ac_x_includes" |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
78 fi |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
79 if test x$ac_x_libraries = xno || test x$ac_x_libraries = x; then |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
80 : |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
81 else |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
82 XPATH="-L$ac_x_libraries" |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
83 fi |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
84 fi |
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
85 |
0 | 86 dnl Check for OpenGL |
87 AC_MSG_CHECKING(for OpenGL support) | |
88 have_opengl=no | |
89 AC_TRY_COMPILE([ | |
292
eadc0746dfaf
Added SDL_LockRect() and SDL_UnlockRect()
Sam Lantinga <slouken@libsdl.org>
parents:
214
diff
changeset
|
90 #include "SDL_opengl.h" |
0 | 91 ],[ |
92 ],[ | |
93 have_opengl=yes | |
94 ]) | |
95 AC_MSG_RESULT($have_opengl) | |
96 if test x$have_opengl = xyes; then | |
97 CFLAGS="$CFLAGS -DHAVE_OPENGL" | |
3990
1164b2b282a2
OpenGL is in the X11 directory on some systems.
Sam Lantinga <slouken@libsdl.org>
parents:
1813
diff
changeset
|
98 GLLIB="$XPATH $SYS_GL_LIBS" |
0 | 99 else |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
100 GLLIB="" |
0 | 101 fi |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
102 AC_SUBST(GLLIB) |
0 | 103 |
1380
d94b080ff6ce
Completely removed dependency on automake
Sam Lantinga <slouken@libsdl.org>
parents:
1367
diff
changeset
|
104 dnl Finally create all the generated files |
0 | 105 AC_OUTPUT([Makefile]) |