Mercurial > sdl-ios-xcode
view 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 |
line wrap: on
line source
dnl Process this file with autoconf to produce a configure script. AC_INIT(README) dnl Detect the canonical build and host environments AC_CONFIG_AUX_DIRS($srcdir/../build-scripts) AC_CANONICAL_HOST dnl Check for tools AC_PROG_CC dnl Check for compiler environment AC_C_CONST dnl Figure out which math library to use case "$host" in *-*-cygwin* | *-*-mingw32*) EXE=".exe" MATHLIB="" SYS_GL_LIBS="-lopengl32" ;; *-*-beos*) EXE="" MATHLIB="" SYS_GL_LIBS="-lGL" ;; *-*-darwin* ) EXE="" MATHLIB="" SYS_GL_LIBS="-Wl,-framework,OpenGL" ;; *-*-aix*) EXE="" if test x$ac_cv_prog_gcc = xyes; then CFLAGS="-mthreads" fi SYS_GL_LIBS="" ;; *-*-mint*) EXE="" MATHLIB="" AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no) if test "x$OSMESA_CONFIG" = "xyes"; then OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags` OSMESA_LIBS=`$OSMESA_CONFIG --libs` CFLAGS="$CFLAGS $OSMESA_CFLAGS" SYS_GL_LIBS="$OSMESA_LIBS" else SYS_GL_LIBS="-lOSMesa" fi ;; *) EXE="" MATHLIB="-lm" SYS_GL_LIBS="-lGL" ;; esac AC_SUBST(EXE) AC_SUBST(MATHLIB) dnl Check for SDL SDL_VERSION=1.2.10 AM_PATH_SDL($SDL_VERSION, :, AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) ) CFLAGS="$CFLAGS $SDL_CFLAGS" LIBS="$LIBS $SDL_LIBS" dnl Check for X11 path, needed for OpenGL on some systems AC_PATH_X if test x$have_x = xyes; then if test x$ac_x_includes = xno || test x$ac_x_includes = x; then : else CFLAGS="$CFLAGS -I$ac_x_includes" fi if test x$ac_x_libraries = xno || test x$ac_x_libraries = x; then : else XPATH="-L$ac_x_libraries" fi fi dnl Check for OpenGL AC_MSG_CHECKING(for OpenGL support) have_opengl=no AC_TRY_COMPILE([ #include "SDL_opengl.h" ],[ ],[ have_opengl=yes ]) AC_MSG_RESULT($have_opengl) if test x$have_opengl = xyes; then CFLAGS="$CFLAGS -DHAVE_OPENGL" GLLIB="$XPATH $SYS_GL_LIBS" else GLLIB="" fi AC_SUBST(GLLIB) dnl Finally create all the generated files AC_OUTPUT([Makefile])