comparison src/video/gapi/SDL_gapivideo.h @ 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 420b3f47806d
children baf615f9f2a0
comparison
equal deleted inserted replaced
4133:2130d625816f 4134:31c7c57af8a4
130 HPALETTE screen_pal; 130 HPALETTE screen_pal;
131 131
132 #define NUM_MODELISTS 4 /* 8, 16, 24, and 32 bits-per-pixel */ 132 #define NUM_MODELISTS 4 /* 8, 16, 24, and 32 bits-per-pixel */
133 int SDL_nummodes[NUM_MODELISTS]; 133 int SDL_nummodes[NUM_MODELISTS];
134 SDL_Rect **SDL_modelist[NUM_MODELISTS]; 134 SDL_Rect **SDL_modelist[NUM_MODELISTS];
135 enum SDL_ScreenOrientation userOrientation; 135 SDL_ScreenOrientation userOrientation;
136 int invert; 136 int invert;
137 char hiresFix; // using hires mode without defining hires resource 137 char hiresFix; // using hires mode without defining hires resource
138 // -------------- 138 // --------------
139 int useGXOpenDisplay; /* use GXOpenDispplay */ 139 int useGXOpenDisplay; /* use GXOpenDispplay */
140 int w, h; 140 int w, h;
141 enum SDL_ScreenOrientation gapiOrientation; 141 SDL_ScreenOrientation gapiOrientation;
142 142
143 void *buffer; // may be 8, 16, 24, 32 bpp 143 void *buffer; // may be 8, 16, 24, 32 bpp
144 PIXEL *videoMem; 144 PIXEL *videoMem;
145 BOOL needUpdate; 145 BOOL needUpdate;
146 struct GXKeyList keyList; 146 struct GXKeyList keyList;
147 struct GapiFunc gxFunc; 147 struct GapiFunc gxFunc;
148 struct GXDisplayProperties gxProperties; 148 struct GXDisplayProperties gxProperties;
149 enum GAPIVideoMode videoMode; 149 GAPIVideoMode videoMode;
150 int colorscale; 150 int colorscale;
151 int dstLineStep; // in bytes 151 int dstLineStep; // in bytes
152 int dstPixelStep; // in bytes 152 int dstPixelStep; // in bytes
153 int startOffset; // in bytes 153 int startOffset; // in bytes
154 int useVga; 154 int useVga;