diff -ur orig/SDL_mixer-1.2.11/configure.in SDL_mixer-1.2.11/configure.in
--- orig/SDL_mixer-1.2.11/configure.in	2009-11-12 06:41:28.000000000 +0000
+++ SDL_mixer-1.2.11/configure.in	2010-02-13 21:40:10.000000000 +0000
@@ -112,6 +112,10 @@
 fi
     
 case "$host" in
+    *mingw32ce*)
+        #VERSION_SOURCES="$srcdir/version.rc"
+        EXE=".exe"
+	;;
     *-*-cygwin* | *-*-mingw32*)
         VERSION_SOURCES="$srcdir/version.rc"
         EXE=".exe"
@@ -293,6 +297,9 @@
     if test x$enable_music_native_midi = xyes; then
         use_music_native_midi=no
         case "$host" in
+            *mingw32ce*)
+                use_music_native_midi=no
+                ;;
             *-*-cygwin* | *-*-mingw32*)
                 use_music_native_midi=yes
                 EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lwinmm"
@@ -465,6 +472,9 @@
     fi
 fi
 
+AC_CHECK_HEADERS([signal.h])
+AC_CHECK_FUNCS(setbuf)
+
 AC_ARG_ENABLE(music-mp3,
 AC_HELP_STRING([--enable-music-mp3], [enable MP3 music via smpeg [[default=yes]]]),
               [], enable_music_mp3=yes)
diff -ur orig/SDL_mixer-1.2.11/effects_internal.c SDL_mixer-1.2.11/effects_internal.c
--- orig/SDL_mixer-1.2.11/effects_internal.c	2009-10-13 00:06:53.000000000 +0100
+++ SDL_mixer-1.2.11/effects_internal.c	2010-02-13 21:15:00.000000000 +0000
@@ -30,6 +30,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include "SDL_getenv.h"
 #include "SDL_mixer.h"
 
 #define __MIX_INTERNAL_EFFECT__
@@ -41,7 +42,7 @@
 
 void _Mix_InitEffects(void)
 {
-    _Mix_effects_max_speed = (getenv(MIX_EFFECTSMAXSPEED) != NULL);
+    _Mix_effects_max_speed = (SDL_getenv(MIX_EFFECTSMAXSPEED) != NULL);
 }
 
 void _Mix_DeinitEffects(void)
diff -ur orig/SDL_mixer-1.2.11/playmus.c SDL_mixer-1.2.11/playmus.c
--- orig/SDL_mixer-1.2.11/playmus.c	2009-10-13 00:06:53.000000000 +0100
+++ SDL_mixer-1.2.11/playmus.c	2010-02-13 21:18:29.000000000 +0000
@@ -25,7 +25,10 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+
+#ifdef HAVE_SIGNAL_H
 #include <signal.h>
+#endif
 #ifdef unix
 #include <unistd.h>
 #endif
@@ -86,6 +89,8 @@
 		   Mix_PausedMusic() ? "yes" : "no");
 }
 
+#ifdef HAVE_SIGNAL_H
+
 void IntHandler(int sig)
 {
 	switch (sig) {
@@ -95,6 +100,8 @@
 	}
 }
 
+#endif
+
 int main(int argc, char *argv[])
 {
 	SDL_RWops *rwfp;
@@ -162,8 +169,10 @@
 		return(255);
 	}
 
+#ifdef HAVE_SIGNAL_H
 	signal(SIGINT, IntHandler);
 	signal(SIGTERM, CleanUp);
+#endif
 
 	/* Open the audio device */
 	if (Mix_OpenAudio(audio_rate, audio_format, audio_channels, audio_buffers) < 0) {
@@ -183,7 +192,7 @@
 	Mix_VolumeMusic(audio_volume);
 
 	/* Set the external music player, if any */
-	Mix_SetMusicCMD(getenv("MUSIC_CMD"));
+	Mix_SetMusicCMD(SDL_getenv("MUSIC_CMD"));
 
 	while (argv[i]) {
 		next_track = 0;
diff -ur orig/SDL_mixer-1.2.11/playwave.c SDL_mixer-1.2.11/playwave.c
--- orig/SDL_mixer-1.2.11/playwave.c	2009-11-05 00:37:12.000000000 +0000
+++ SDL_mixer-1.2.11/playwave.c	2010-02-13 21:19:20.000000000 +0000
@@ -25,7 +25,10 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+
+#ifdef HAVE_SIGNAL_H
 #include <signal.h>
+#endif
 #ifdef unix
 #include <unistd.h>
 #endif
@@ -363,8 +366,10 @@
 	int reverse_stereo = 0;
 	int reverse_sample = 0;
 
+#ifdef HAVE_SETBUF
 	setbuf(stdout, NULL);    /* rcg06132001 for debugging purposes. */
 	setbuf(stderr, NULL);    /* rcg06192001 for debugging purposes, too. */
+#endif
 	output_test_warnings();
 
 	/* Initialize variables */
@@ -411,8 +416,10 @@
 		fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError());
 		return(255);
 	}
+#ifdef HAVE_SIGNAL_H
 	signal(SIGINT, CleanUp);
 	signal(SIGTERM, CleanUp);
+#endif
 
 	/* Open the audio device */
 	if (Mix_OpenAudio(audio_rate, audio_format, audio_channels, 4096) < 0) {

