• 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
build-scripts Loading commit data...
docs Loading commit data...
include Loading commit data...
src Loading commit data...
test Loading commit data...
BUGS Loading commit data...
Borland.html Loading commit data...
Borland.zip Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
CWprojects.sea.bin Loading commit data...
INSTALL Loading commit data...
MPWmake.sea.bin Loading commit data...
Makefile.dc Loading commit data...
Makefile.ds Loading commit data...
Makefile.in Loading commit data...
Makefile.minimal Loading commit data...
README Loading commit data...
README-SDL.txt Loading commit data...
README.AmigaOS Loading commit data...
README.BeOS Loading commit data...
README.CVS Loading commit data...
README.DC Loading commit data...
README.MacOS Loading commit data...
README.MacOSX Loading commit data...
README.MiNT Loading commit data...
README.NDS Loading commit data...
README.NanoX Loading commit data...
README.OS2 Loading commit data...
README.PicoGUI Loading commit data...
README.Porting Loading commit data...
README.QNX Loading commit data...
README.Qtopia Loading commit data...
README.RISCOS Loading commit data...
README.SVN Loading commit data...
README.Symbian Loading commit data...
README.Watcom Loading commit data...
README.WinCE Loading commit data...
README.wscons Loading commit data...
SDL.qpg.in Loading commit data...
SDL.spec.in Loading commit data...
TODO Loading commit data...
VisualC.html Loading commit data...
VisualC.zip Loading commit data...
VisualCE.zip Loading commit data...
Watcom-OS2.zip Loading commit data...
Watcom-Win32.zip Loading commit data...
WhatsNew Loading commit data...
acinclude.m4 Loading commit data...
autogen.sh Loading commit data...
configure.in Loading commit data...
docs.html Loading commit data...
sdl-config.in Loading commit data...
sdl.m4 Loading commit data...
sdl.pc.in Loading commit data...
symbian.zip Loading commit data...