• Sam Lantinga's avatar
    Updates for building on Windows CE using mingw32ce cross compiler: · 76b4e077
    Sam Lantinga authored
    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
    
    --HG--
    branch : SDL-1.2
    extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%402703
    76b4e077
Name
Last commit
Last update
..
audio Loading commit data...
cdrom Loading commit data...
cpuinfo Loading commit data...
events Loading commit data...
file Loading commit data...
hermes Loading commit data...
joystick Loading commit data...
loadso Loading commit data...
main Loading commit data...
stdlib Loading commit data...
thread Loading commit data...
timer Loading commit data...
video Loading commit data...
SDL.c Loading commit data...
SDL_error.c Loading commit data...
SDL_error_c.h Loading commit data...
SDL_fatal.c Loading commit data...
SDL_fatal.h Loading commit data...