diff options
Diffstat (limited to 'packaging/nacl/ports/sdl/nacl.patch')
-rw-r--r-- | packaging/nacl/ports/sdl/nacl.patch | 6736 |
1 files changed, 416 insertions, 6320 deletions
diff --git a/packaging/nacl/ports/sdl/nacl.patch b/packaging/nacl/ports/sdl/nacl.patch index ddbb24d30..36846f48c 100644 --- a/packaging/nacl/ports/sdl/nacl.patch +++ b/packaging/nacl/ports/sdl/nacl.patch @@ -1,6362 +1,458 @@ -diff --git a/Makefile.in b/Makefile.in -index e29dc6d..bb485dd 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -36,13 +36,13 @@ TARGET = libSDL.la - SOURCES = @SOURCES@ - OBJECTS = @OBJECTS@ - --SDLMAIN_TARGET = libSDLmain.a -+SDLMAIN_TARGET = libSDLmain.la - SDLMAIN_SOURCES = @SDLMAIN_SOURCES@ - SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@ - - DIST = acinclude autogen.sh Borland.html Borland.zip BUGS build-scripts configure configure.in COPYING CREDITS CWprojects.sea.bin docs docs.html include INSTALL Makefile.dc Makefile.minimal Makefile.in MPWmake.sea.bin README* sdl-config.in sdl.m4 sdl.pc.in SDL.qpg.in SDL.spec SDL.spec.in src test TODO VisualCE.zip VisualC.html VisualC.zip Watcom-OS2.zip Watcom-Win32.zip symbian.zip WhatsNew Xcode.tar.gz - --HDRS = SDL.h SDL_active.h SDL_audio.h SDL_byteorder.h SDL_cdrom.h SDL_cpuinfo.h SDL_endian.h SDL_error.h SDL_events.h SDL_getenv.h SDL_joystick.h SDL_keyboard.h SDL_keysym.h SDL_loadso.h SDL_main.h SDL_mouse.h SDL_mutex.h SDL_name.h SDL_opengl.h SDL_platform.h SDL_quit.h SDL_rwops.h SDL_stdinc.h SDL_syswm.h SDL_thread.h SDL_timer.h SDL_types.h SDL_version.h SDL_video.h begin_code.h close_code.h -+HDRS = SDL.h SDL_active.h SDL_audio.h SDL_byteorder.h SDL_cdrom.h SDL_cpuinfo.h SDL_endian.h SDL_error.h SDL_events.h SDL_getenv.h SDL_joystick.h SDL_keyboard.h SDL_keysym.h SDL_loadso.h SDL_main.h SDL_mouse.h SDL_mutex.h SDL_name.h SDL_nacl.h SDL_opengl.h SDL_platform.h SDL_quit.h SDL_rwops.h SDL_stdinc.h SDL_syswm.h SDL_thread.h SDL_timer.h SDL_types.h SDL_version.h SDL_video.h begin_code.h close_code.h - - LT_AGE = @LT_AGE@ - LT_CURRENT = @LT_CURRENT@ -@@ -68,9 +68,9 @@ depend: - @SOURCES="$(SOURCES)" INCLUDE="$(INCLUDE)" output="$(depend)" \ - $(SHELL) $(auxdir)/makedep.sh - @for src in $(SDLMAIN_SOURCES); do \ -- obj=`echo $$src | sed -e 's|.*/||' -e 's|\.[^\.]*$$|.o|'`; \ -+ obj=`echo $$src | sed -e 's|.*/||' -e 's|\.[^\.]*$$|.lo|'`; \ - echo "\$$(objects)/$$obj: $$src" >>$(depend); \ -- echo " \$$(CC) \$$(CFLAGS) \$$(EXTRA_CFLAGS) -c $$src -o \$$@" >>$(depend); \ -+ echo " \$$(LIBTOOL) --mode=compile \$$(CC) \$$(CFLAGS) \$$(EXTRA_CFLAGS) -c $$src -o \$$@" >>$(depend); \ - done - - include $(depend) -@@ -79,8 +79,7 @@ $(objects)/$(TARGET): $(OBJECTS) - $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) - - $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS) -- $(AR) cru $@ $(SDLMAIN_OBJECTS) -- $(RANLIB) $@ -+ $(LIBTOOL) --mode=link $(CC) -o $@ $(SDLMAIN_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) - - install: all install-bin install-hdrs install-lib install-data install-man - install-bin: -@@ -95,8 +94,7 @@ install-hdrs: - install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir) - $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET) -- $(INSTALL) -m 644 $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) -- $(RANLIB) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) -+ $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) - install-data: - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal - $(INSTALL) -m 644 $(srcdir)/sdl.m4 $(DESTDIR)$(datadir)/aclocal/sdl.m4 -@@ -120,7 +118,7 @@ uninstall-hdrs: - -rmdir $(DESTDIR)$(includedir)/SDL - uninstall-lib: - $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET) -- rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) -+ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) - uninstall-data: - rm -f $(DESTDIR)$(datadir)/aclocal/sdl.m4 - rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl.pc diff --git a/configure.in b/configure.in -index a7e9b18..ea62977 100644 +index ab0e314..93c79be 100644 --- a/configure.in -+++ b/configure.in -@@ -181,7 +181,8 @@ if test x$enable_libc = xyes; then - AC_DEFINE(HAVE_MPROTECT) - ]), - ) -- AC_CHECK_FUNCS(malloc calloc realloc free getenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp sscanf snprintf vsnprintf iconv sigaction setjmp nanosleep) -+ # TODO(bradnelson): Add back in iconv once it builds on pnacl mac. -+ AC_CHECK_FUNCS(malloc calloc realloc free getenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp sscanf snprintf vsnprintf sigaction setjmp nanosleep) - - AC_CHECK_LIB(iconv, libiconv_open, [EXTRA_LDFLAGS="$EXTRA_LDFLAGS -liconv"]) - AC_CHECK_LIB(m, pow, [EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"]) -@@ -885,6 +886,50 @@ CheckVisibilityHidden() ++++ b/configure.in +@@ -957,7 +957,7 @@ AC_HELP_STRING([--enable-naclvideo], [enable the nacl video driver [[default=yes + AC_DEFINE(SDL_VIDEO_DRIVER_NACL) + SOURCES="$SOURCES $srcdir/src/video/nacl/*.c" + EXTRA_LDFLAGS="-lppapi_simple -l${NACL_CXX_LIB:-stdc++} $EXTRA_LDFLAGS" +- SDL_LIBS="-Wl,-unacl_main -Wl,-undefined=PSUserMainGet -lSDLmain $SDL_LIBS -lppapi_gles2 -lcli_main -lnacl_spawn -ltar -lppapi_simple -lnacl_io -lppapi -lm -l${NACL_CXX_LIB:-stdc++}" ++ SDL_LIBS="-lSDLmain $SDL_LIBS -lppapi_gles2 -lcli_main -lnacl_spawn -ltar -lppapi_simple_cpp -lnacl_io -lppapi -lm -l${NACL_CXX_LIB:-stdc++} -lppapi_cpp" + SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" fi - } - -+dnl Check for Native Client stuff -+CheckNativeClient() -+{ -+ AC_ARG_ENABLE(naclvideo, -+AC_HELP_STRING([--enable-naclvideo], [enable the nacl video driver [[default=yes]]]), -+ , enable_naclvideo=yes) -+ if test x$enable_video = xyes -a x$enable_naclvideo = xyes; then -+ AC_DEFINE(SDL_VIDEO_DRIVER_NACL) -+ SOURCES="$SOURCES $srcdir/src/video/nacl/*.cc" -+ EXTRA_LDFLAGS="-lnacl_io -l${NACL_CPP_LIB:-stdc++} $EXTRA_LDFLAGS" -+ SDL_LIBS="$SDL_LIBS -lppapi -lSDLmain -ltar" -+ fi -+ -+ AC_ARG_ENABLE(naclaudio, -+AC_HELP_STRING([--enable-naclaudio], [enable the nacl audio driver [[default=yes]]]), -+ , enable_naclaudio=yes) -+ if test x$enable_audio = xyes -a x$enable_naclaudio = xyes; then -+ AC_DEFINE(SDL_AUDIO_DRIVER_NACL) -+ SOURCES="$SOURCES $srcdir/src/audio/nacl/*.cc" -+ fi -+} -+ -+dnl Find Regal OpenGL library -+CheckOpenGLRegal() -+{ -+ if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then -+ AC_MSG_CHECKING(for OpenGL (Regal) support) -+ video_opengl=no -+ AC_TRY_COMPILE([ -+ #include <GL/Regal.h> -+ ],[ -+ ],[ -+ video_opengl=yes -+ ]) -+ AC_MSG_RESULT($video_opengl) -+ if test x$video_opengl = xyes; then -+ AC_DEFINE(SDL_VIDEO_OPENGL) -+ AC_DEFINE(SDL_VIDEO_OPENGL_REGAL) -+ EXTRA_LDFLAGS="-lRegal -lglslopt -lppapi_gles2 ${EXTRA_LDFLAGS}" -+ SDL_LIBS="-lRegal -lglslopt -lppapi_gles2 ${SDL_LIBS}" -+ fi -+ fi -+} -+ - dnl Do the iPod thing - CheckIPod() -@@ -2284,6 +2329,22 @@ case "$host" in +@@ -2449,7 +2449,7 @@ case "$host" in have_timers=yes fi + CheckPTHREAD +- SDLMAIN_SOURCES="$srcdir/src/main/nacl/*.c" ++ SDLMAIN_SOURCES="$srcdir/src/main/nacl/*.cc" ;; -+ *-nacl) -+ ARCH=nacl -+ CheckNativeClient -+ CheckOpenGLRegal -+ CheckDummyAudio -+ CheckDummyVideo -+ CheckInputEvents -+ # Set up files for the timer library -+ if test x$enable_timers = xyes; then -+ AC_DEFINE(SDL_TIMER_UNIX) -+ SOURCES="$SOURCES $srcdir/src/timer/unix/*.c" -+ have_timers=yes -+ fi -+ CheckPTHREAD -+ SDLMAIN_SOURCES="$srcdir/src/main/nacl/*.c" -+ ;; *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*) case "$host" in - *-*-linux*) ARCH=linux ;; -@@ -2838,9 +2899,9 @@ OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'` - OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.S,$(objects)/\1.lo,g'` - OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.rc,$(objects)/\1.o,g'` - --SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.o,g'` --SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.o,g'` --SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'` -+SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'` -+SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'` -+SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'` - - # Set runtime shared library paths as needed - -@@ -2866,6 +2927,9 @@ case "$ARCH" in - # Evil hack to allow static linking on Mac OS X - SDL_STATIC_LIBS="\${libdir}/libSDLmain.a \${libdir}/libSDL.a $EXTRA_LDFLAGS" - ;; -+ nacl) -+ SDL_STATIC_LIBS="-Wl,--start-group -lSDLmain $SDL_LIBS $EXTRA_LDFLAGS -lSDLmain -ltar -Wl,--end-group" -+ ;; - *) - SDL_STATIC_LIBS="$SDL_LIBS $EXTRA_LDFLAGS" - ;; -diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in -index 58593ca..150097d 100644 ---- a/include/SDL_config.h.in -+++ b/include/SDL_config.h.in -@@ -174,6 +174,7 @@ - #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC - #undef SDL_AUDIO_DRIVER_MINT - #undef SDL_AUDIO_DRIVER_MMEAUDIO -+#undef SDL_AUDIO_DRIVER_NACL - #undef SDL_AUDIO_DRIVER_NAS - #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC - #undef SDL_AUDIO_DRIVER_OSS -@@ -265,6 +266,7 @@ - #undef SDL_VIDEO_DRIVER_GEM - #undef SDL_VIDEO_DRIVER_GGI - #undef SDL_VIDEO_DRIVER_IPOD -+#undef SDL_VIDEO_DRIVER_NACL - #undef SDL_VIDEO_DRIVER_NANOX - #undef SDL_VIDEO_DRIVER_OS2FS - #undef SDL_VIDEO_DRIVER_PHOTON -@@ -295,6 +297,7 @@ - /* Enable OpenGL support */ - #undef SDL_VIDEO_OPENGL - #undef SDL_VIDEO_OPENGL_GLX -+#undef SDL_VIDEO_OPENGL_REGAL - #undef SDL_VIDEO_OPENGL_WGL - #undef SDL_VIDEO_OPENGL_OSMESA - #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC diff --git a/include/SDL_main.h b/include/SDL_main.h -index b7f6b2c..cdde128 100644 +index 067d15e..ae6a9a6 100644 --- a/include/SDL_main.h -+++ b/include/SDL_main.h -@@ -32,7 +32,7 @@ - #if defined(__WIN32__) || \ - (defined(__MWERKS__) && !defined(__BEOS__)) || \ - defined(__MACOS__) || defined(__MACOSX__) || \ -- defined(__SYMBIAN32__) || defined(QWS) -+ defined(__SYMBIAN32__) || defined(QWS) || defined(__native_client__) - - #ifdef __cplusplus - #define C_LINKAGE "C" -diff --git a/include/SDL_nacl.h b/include/SDL_nacl.h -new file mode 100644 -index 0000000..7bb5683 ---- /dev/null -+++ b/include/SDL_nacl.h -@@ -0,0 +1,26 @@ -+#ifndef _SDL_nacl_h -+#define _SDL_nacl_h -+ -+#include "begin_code.h" -+#include <ppapi/c/pp_instance.h> -+#include <ppapi/c/pp_resource.h> -+#include <ppapi/c/ppb.h> -+ -+/* Set up for C function definitions, even when using C++ */ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+void SDL_NACL_SetInstance(PP_Instance instance, PPB_GetInterface get_interface, -+ int width, int height); -+void SDL_NACL_PushEvent(PP_Resource input_event); -+void SDL_NACL_SetHasFocus(int has_focus); -+void SDL_NACL_SetPageVisible(int is_visible); -+ -+/* Ends C function definitions when using C++ */ -+#ifdef __cplusplus -+} -+#endif -+#include "close_code.h" -+ -+#endif /* _SDL_nacl_h */ -diff --git a/include/SDL_opengl.h b/include/SDL_opengl.h -index c479a3a..a0f4962 100644 ---- a/include/SDL_opengl.h -+++ b/include/SDL_opengl.h -@@ -33,7 +33,7 @@ - #endif - #include <windows.h> - #endif --#ifndef NO_SDL_GLEXT -+#if !defined(NO_SDL_GLEXT) && !defined(__native_client__) - #define __glext_h_ /* Don't let gl.h include glext.h */ - #endif - #if defined(__MACOSX__) -@@ -42,6 +42,10 @@ - #elif defined(__MACOS__) - #include <gl.h> /* Header File For The OpenGL Library */ - #include <glu.h> /* Header File For The GLU Library */ -+#elif defined(__native_client__) -+#include <GL/Regal.h> -+#define APIENTRY -+#define APIENTRYP APIENTRY * - #else - #include <GL/gl.h> /* Header File For The OpenGL Library */ - #include <GL/glu.h> /* Header File For The GLU Library */ -diff --git a/include/SDL_platform.h b/include/SDL_platform.h -index 11d8673..dd99403 100644 ---- a/include/SDL_platform.h -+++ b/include/SDL_platform.h -@@ -63,10 +63,14 @@ - #undef __IRIX__ - #define __IRIX__ 1 - #endif --#if defined(linux) || defined(__linux) || defined(__linux__) -+#if defined(linux) || defined(__linux) || defined(__linux__) && !defined(__native_client__) - #undef __LINUX__ - #define __LINUX__ 1 - #endif -+#if defined(__native_client__) -+#undef __NACL__ -+#define __NACL__ 1 -+#endif - #if defined(__APPLE__) - #undef __MACOSX__ - #define __MACOSX__ 1 -diff --git a/src/SDL_fatal.c b/src/SDL_fatal.c -index 15c0be7..82ceeef 100644 ---- a/src/SDL_fatal.c -+++ b/src/SDL_fatal.c -@@ -39,7 +39,11 @@ static void SDL_Parachute(int sig) - { - signal(sig, SIG_DFL); - SDL_Quit(); -+#ifdef __native_client__ -+ exit(sig); -+#else - raise(sig); -+#endif - } - - static int SDL_fatal_signals[] = { -diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c -index bdeacdc..ac43356 100644 ---- a/src/audio/SDL_audio.c -+++ b/src/audio/SDL_audio.c -@@ -36,6 +36,9 @@ - - /* Available audio drivers */ - static AudioBootStrap *bootstrap[] = { -+#if SDL_AUDIO_DRIVER_NACL -+ &NACLAUD_bootstrap, -+#endif - #if SDL_AUDIO_DRIVER_BSD - &BSD_AUDIO_bootstrap, - #endif -diff --git a/src/audio/SDL_sysaudio.h b/src/audio/SDL_sysaudio.h -index 50cf179..7b9a0a7 100644 ---- a/src/audio/SDL_sysaudio.h -+++ b/src/audio/SDL_sysaudio.h -@@ -156,6 +156,9 @@ extern AudioBootStrap MINTAUDIO_STFA_bootstrap; - extern AudioBootStrap MINTAUDIO_XBIOS_bootstrap; - extern AudioBootStrap MINTAUDIO_DMA8_bootstrap; - #endif -+#if SDL_AUDIO_DRIVER_NACL -+extern AudioBootStrap NACLAUD_bootstrap; -+#endif - #if SDL_AUDIO_DRIVER_DISK - extern AudioBootStrap DISKAUD_bootstrap; - #endif -diff --git a/src/audio/nacl/SDL_naclaudio.cc b/src/audio/nacl/SDL_naclaudio.cc -new file mode 100644 -index 0000000..7a02156 ---- /dev/null -+++ b/src/audio/nacl/SDL_naclaudio.cc -@@ -0,0 +1,140 @@ -+#include "SDL_config.h" -+#include "SDL_naclaudio.h" -+ -+#include <assert.h> -+ -+#include <ppapi/c/pp_instance.h> -+#include <ppapi/c/ppb.h> -+#include <ppapi/c/ppb_audio.h> -+#include <ppapi/c/ppb_audio_config.h> -+#include <ppapi/c/ppb_core.h> -+ -+extern PP_Instance g_nacl_pp_instance; -+extern PPB_GetInterface g_nacl_get_interface; -+extern const PPB_Core_1_0* g_nacl_core_interface; -+ -+const PPB_Audio_1_1* g_nacl_audio_interface; -+const PPB_AudioConfig_1_1* g_nacl_audio_config_interface; -+ -+extern "C" { -+ -+#include "SDL_rwops.h" -+#include "SDL_timer.h" -+#include "SDL_audio.h" -+#include "SDL_mutex.h" -+#include "../SDL_audiomem.h" -+#include "../SDL_audio_c.h" -+#include "../SDL_audiodev_c.h" -+ -+/* The tag name used by NACL audio */ -+#define NACLAUD_DRIVER_NAME "nacl" -+ -+const uint32_t kSampleFrameCount = 4096u; -+ -+/* Audio driver functions */ -+static int NACLAUD_OpenAudio(_THIS, SDL_AudioSpec* spec); -+static void NACLAUD_CloseAudio(_THIS); -+ -+static void AudioCallback(void* samples, uint32_t buffer_size, PP_TimeDelta, -+ void* data); -+ -+/* Audio driver bootstrap functions */ -+static int NACLAUD_Available(void) { -+ return g_nacl_pp_instance && g_nacl_get_interface; -+} -+ -+static void NACLAUD_DeleteDevice(SDL_AudioDevice* device) { -+ if (device->hidden->audio) { -+ g_nacl_audio_interface->StopPlayback(device->hidden->audio); -+ g_nacl_core_interface->ReleaseResource(device->hidden->audio); -+ device->hidden->audio = 0; -+ } -+} -+ -+static SDL_AudioDevice* NACLAUD_CreateDevice(int devindex) { -+ SDL_AudioDevice* _this; -+ -+ /* Initialize all variables that we clean on shutdown */ -+ _this = (SDL_AudioDevice*)SDL_malloc(sizeof(SDL_AudioDevice)); -+ if (_this) { -+ SDL_memset(_this, 0, (sizeof *_this)); -+ _this->hidden = -+ (struct SDL_PrivateAudioData*)SDL_malloc((sizeof *_this->hidden)); -+ } -+ if ((_this == NULL) || (_this->hidden == NULL)) { -+ SDL_OutOfMemory(); -+ if (_this) { -+ SDL_free(_this); -+ } -+ return (0); -+ } -+ SDL_memset(_this->hidden, 0, (sizeof *_this->hidden)); -+ -+ _this->hidden->mutex = SDL_CreateMutex(); -+ -+ // TODO: Move audio device creation to NACLAUD_OpenAudio. -+ g_nacl_audio_interface = -+ (const PPB_Audio_1_1*)g_nacl_get_interface(PPB_AUDIO_INTERFACE_1_1); -+ g_nacl_audio_config_interface = -+ (const PPB_AudioConfig_1_1*)g_nacl_get_interface( -+ PPB_AUDIO_CONFIG_INTERFACE_1_1); -+ -+ _this->hidden->sample_frame_count = -+ g_nacl_audio_config_interface->RecommendSampleFrameCount( -+ g_nacl_pp_instance, PP_AUDIOSAMPLERATE_44100, kSampleFrameCount); -+ -+ PP_Resource audio_config = g_nacl_audio_config_interface->CreateStereo16Bit( -+ g_nacl_pp_instance, PP_AUDIOSAMPLERATE_44100, -+ _this->hidden->sample_frame_count); -+ _this->hidden->audio = g_nacl_audio_interface->Create( -+ g_nacl_pp_instance, audio_config, AudioCallback, _this); -+ -+ // Start audio playback while we are still on the main thread. -+ g_nacl_audio_interface->StartPlayback(_this->hidden->audio); -+ -+ /* Set the function pointers */ -+ _this->OpenAudio = NACLAUD_OpenAudio; -+ _this->CloseAudio = NACLAUD_CloseAudio; -+ -+ _this->free = NACLAUD_DeleteDevice; -+ -+ return _this; -+} -+ -+AudioBootStrap NACLAUD_bootstrap = { -+ NACLAUD_DRIVER_NAME, "SDL nacl audio driver", -+ NACLAUD_Available, NACLAUD_CreateDevice -+}; -+ -+static void NACLAUD_CloseAudio(_THIS) { -+} -+ -+static void AudioCallback(void* samples, uint32_t buffer_size, PP_TimeDelta, -+ void* data) { -+ SDL_AudioDevice* _this = reinterpret_cast<SDL_AudioDevice*>(data); -+ -+ SDL_LockMutex(_this->hidden->mutex); -+ /* Only do anything if audio is enabled and not paused */ -+ if (_this->enabled && !_this->paused) { -+ SDL_memset(samples, _this->spec.silence, buffer_size); -+ SDL_LockMutex(_this->mixer_lock); -+ (*_this->spec.callback)(_this->spec.userdata, (Uint8*)samples, buffer_size); -+ SDL_UnlockMutex(_this->mixer_lock); -+ } else { -+ SDL_memset(samples, 0, buffer_size); -+ } -+ SDL_UnlockMutex(_this->hidden->mutex); -+ -+ return; -+} -+ -+static int NACLAUD_OpenAudio(_THIS, SDL_AudioSpec* spec) { -+ // We don't care what the user wants. -+ spec->freq = 44100; -+ spec->format = AUDIO_S16LSB; -+ spec->channels = 2; -+ spec->samples = _this->hidden->sample_frame_count; -+ return 1; -+} -+ -+} // extern "C" -diff --git a/src/audio/nacl/SDL_naclaudio.h b/src/audio/nacl/SDL_naclaudio.h ++++ b/include/SDL_main.h +@@ -54,7 +54,7 @@ + #define main SDL_main + + /** The prototype for the application's main() function */ +-extern C_LINKAGE int SDL_main(int argc, char *argv[]); ++extern C_LINKAGE int SDL_main(int argc, char *argv[]); + + + /** @name From the SDL library code -- needed for registering the app on Win32 */ +diff --git a/src/main/nacl/SDL_nacl_main.c b/src/main/nacl/SDL_nacl_main.c +deleted file mode 100644 +index ef26120..0000000 +--- a/src/main/nacl/SDL_nacl_main.c ++++ /dev/null +@@ -1,125 +0,0 @@ +-/* +- Simple DirectMedia Layer +- Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org> +- +- This software is provided 'as-is', without any express or implied +- warranty. In no event will the authors be held liable for any damages +- arising from the use of this software. +- +- Permission is granted to anyone to use this software for any purpose, +- including commercial applications, and to alter it and redistribute it +- freely, subject to the following restrictions: +- +- 1. The origin of this software must not be misrepresented; you must not +- claim that you wrote the original software. If you use this software +- in a product, an acknowledgment in the product documentation would be +- appreciated but is not required. +- 2. Altered source versions must be plainly marked as such, and must not be +- misrepresented as being the original software. +- 3. This notice may not be removed or altered from any source distribution. +-*/ +-#include "SDL_config.h" +- +-#if SDL_VIDEO_DRIVER_NACL +- +-/* Include the SDL main definition header */ +-#include "SDL_main.h" +-#include "../../SDL_trace.h" +- +-#include <errno.h> +-#include <ppapi_simple/ps_main.h> +-#include <ppapi_simple/ps_event.h> +-#include <ppapi_simple/ps_interface.h> +-#include <nacl_io/nacl_io.h> +-#include <sys/mount.h> +-#include <nacl_main.h> +-#include <unistd.h> +- +-extern void NACL_SetScreenResolution(int width, int height); +- +-static int +-ProcessArgs(int argc, char** argv) { +- const char* arg = getenv("SDL_TAR_EXTRACT"); +- if (arg != NULL) { +- const char* source; +- const char* target = "/"; +- char* sep; +- char buf[64]; +- int n; +- +- const char* q, *p = arg; +- while (*p) { +- while (*p && isspace((unsigned char)*p)) ++p; +- if (!*p) break; +- q = p; +- while (*p && !isspace((unsigned char)*p)) ++p; +- +- n = sizeof(buf) - 1; +- if (p - q < n) n = p - q; +- strncpy(buf, q, n); +- buf[n] = '\0'; +- +- sep = strchr(buf, ':'); +- source = buf; +- if (sep) { +- target = sep + 1; +- *sep = '\0'; +- } +- +- SDL_log("extracting tar file '%s' -> '%s'\n", source, target); +- if (nacl_startup_untar(argv[0], source, target) != 0) +- return 1; +- } +- } +- +- return 0; +-} +- +-/* This is started in a worker thread by ppapi_simple! */ +-int +-nacl_main(int argc, char *argv[]) +-{ +- SDL_TRACE("nacl_main\n"); +- PSEvent* ps_event; +- PP_Resource event; +- struct PP_Rect rect; +- int ready = 0; +- const PPB_View *ppb_view = PSInterfaceView(); +- +- if (ProcessArgs(argc, argv) != 0) { +- return 1; +- } +- +- /* Wait for the first PSE_INSTANCE_DIDCHANGEVIEW event before starting the app */ +- PSEventSetFilter(PSE_INSTANCE_DIDCHANGEVIEW); +- /* Process all waiting events without blocking */ +- while (!ready) { +- ps_event = PSEventWaitAcquire(); +- event = ps_event->as_resource; +- switch(ps_event->type) { +- /* From DidChangeView, contains a view resource */ +- case PSE_INSTANCE_DIDCHANGEVIEW: +- ppb_view->GetRect(event, &rect); +- NACL_SetScreenResolution(rect.size.width, rect.size.height); +- ready = 1; +- break; +- default: +- break; +- } +- PSEventRelease(ps_event); +- } +- +- /* +- * Startup in /mnt/http by default so resources hosted on the webserver +- * are accessible in the current working directory. +- */ +- if (getenv("PWD") == NULL) { +- if (chdir("/mnt/http") != 0) { +- SDL_log("chdir to /mnt/http failed: %s\n", strerror(errno)); +- } +- } +- +- return SDL_main(argc, argv); +-} +- +-#endif /* SDL_VIDEO_DRIVER_NACL */ +diff --git a/src/main/nacl/SDL_nacl_main.cc b/src/main/nacl/SDL_nacl_main.cc new file mode 100644 -index 0000000..ab52848 +index 0000000..ee80b9a --- /dev/null -+++ b/src/audio/nacl/SDL_naclaudio.h -@@ -0,0 +1,23 @@ ++++ b/src/main/nacl/SDL_nacl_main.cc +@@ -0,0 +1,129 @@ ++/* ++ Simple DirectMedia Layer ++ Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org> ++ ++ This software is provided 'as-is', without any express or implied ++ warranty. In no event will the authors be held liable for any damages ++ arising from the use of this software. ++ ++ Permission is granted to anyone to use this software for any purpose, ++ including commercial applications, and to alter it and redistribute it ++ freely, subject to the following restrictions: ++ ++ 1. The origin of this software must not be misrepresented; you must not ++ claim that you wrote the original software. If you use this software ++ in a product, an acknowledgment in the product documentation would be ++ appreciated but is not required. ++ 2. Altered source versions must be plainly marked as such, and must not be ++ misrepresented as being the original software. ++ 3. This notice may not be removed or altered from any source distribution. ++*/ +#include "SDL_config.h" + -+#ifndef _SDL_naclaudio_h -+#define _SDL_naclaudio_h -+ -+extern "C" { -+#include "SDL_audio.h" -+#include "../SDL_sysaudio.h" -+#include "SDL_mutex.h" -+} -+ -+#include <ppapi/c/ppb_audio.h> -+ -+/* Hidden "this" pointer for the video functions */ -+#define _THIS SDL_AudioDevice *_this -+ -+struct SDL_PrivateAudioData { -+ SDL_mutex* mutex; -+ int sample_frame_count; -+ PP_Resource audio; -+}; -+ -+#endif /* _SDL_naclaudio_h */ -diff --git a/src/cpuinfo/SDL_cpuinfo.c b/src/cpuinfo/SDL_cpuinfo.c -index 5c2d81f..7a757a3 100644 ---- a/src/cpuinfo/SDL_cpuinfo.c -+++ b/src/cpuinfo/SDL_cpuinfo.c -@@ -53,6 +53,8 @@ static void illegal_instruction(int sig) - } - #endif /* HAVE_SETJMP */ - -+ -+#if SDL_ASSEMBLY_ROUTINES - static __inline__ int CPU_haveCPUID(void) - { - int has_CPUID = 0; -@@ -280,6 +282,15 @@ done: - return features; - } - -+#else // SDL_ASSEMBLY_ROUTINES -+ -+static __inline__ int CPU_haveCPUID(void) { return 0; } -+static __inline__ int CPU_getCPUIDFeaturesExt(void) { return 0; } -+static __inline__ int CPU_getCPUIDFeatures(void) { return 0; } -+ -+#endif // SDL_ASSEMBLY_ROUTINES ++#if SDL_VIDEO_DRIVER_NACL + ++/* Include the SDL main definition header */ ++#include "SDL_main.h" ++#include "../../SDL_trace.h" + - static __inline__ int CPU_haveRDTSC(void) - { - if ( CPU_haveCPUID() ) { -diff --git a/src/main/nacl/pepper_instance.c b/src/main/nacl/pepper_instance.c -new file mode 100644 -index 0000000..7604d37 ---- /dev/null -+++ b/src/main/nacl/pepper_instance.c -@@ -0,0 +1,355 @@ -+/* -+ * Copyright (c) 2011 The Native Client Authors. All rights reserved. -+ * Use of this source code is governed by a BSD-style license that can be -+ * found in the LICENSE file. -+ */ -+#include <assert.h> +#include <errno.h> -+#include <fcntl.h> -+#include <libtar.h> -+#include <pthread.h> -+#include <stdio.h> -+#include <string.h> ++#include <ppapi_simple/ps_main.h> ++#include <ppapi_simple/ps_event.h> ++#include <ppapi_simple/ps_interface.h> ++#include <nacl_io/nacl_io.h> +#include <sys/mount.h> ++#include <nacl_main.h> +#include <unistd.h> + -+#include <SDL.h> -+#include <SDL_nacl.h> -+#include <SDL_video.h> -+#include <SDL_main.h> -+ -+#include <ppapi/c/pp_errors.h> -+#include <ppapi/c/pp_instance.h> -+#include <ppapi/c/ppb.h> -+#include <ppapi/c/ppb_input_event.h> -+#include <ppapi/c/ppb_messaging.h> -+#include <ppapi/c/ppb_var.h> -+#include <ppapi/c/ppb_view.h> -+#include <ppapi/c/ppp.h> -+#include <ppapi/c/ppp_input_event.h> -+#include <ppapi/c/ppp_instance.h> -+#include <ppapi/c/pp_rect.h> -+ -+#include "nacl_io/nacl_io.h" -+#include "nacl_io/ioctl.h" -+#include "nacl_io/log.h" -+ -+static PP_Instance g_instance; -+static PPB_GetInterface g_get_browser_interface; -+static struct PPB_Messaging_1_0* g_messaging_interface; -+static struct PPB_Var_1_1* g_var_interface; -+static struct PPB_InputEvent_1_0* g_input_event_interface; -+static struct PPB_View_1_1* g_view_interface; -+static int g_width = 0; -+static int g_height = 0; -+static int g_argc; -+static const char** g_argn; -+static const char** g_argv; -+static const char* g_tty_prefix; -+static pthread_t g_sdl_thread; -+ -+static void* sdl_thread_start(void*); -+static void ProcessArgs(); -+ -+static PP_Bool Instance_DidCreate(PP_Instance instance, uint32_t argc, -+ const char* argn[], const char* argv[]) { -+ int i; -+ -+ g_instance = instance; -+ g_input_event_interface->RequestInputEvents(instance, -+ PP_INPUTEVENT_CLASS_MOUSE); -+ g_input_event_interface->RequestFilteringInputEvents( -+ instance, PP_INPUTEVENT_CLASS_KEYBOARD); -+ -+ nacl_io_init_ppapi(instance, g_get_browser_interface); -+ -+ // Copy args so they can be processed later by the SDL thread. -+ g_argc = argc; -+ g_argn = (const char**)malloc(argc * sizeof(char*)); -+ g_argv = (const char**)malloc(argc * sizeof(char*)); -+ memset(g_argn, 0, argc * sizeof(char*)); -+ memset(g_argv, 0, argc * sizeof(char*)); -+ -+ for (i = 0; i < argc; i++) { -+ if (argn[i]) g_argn[i] = strdup(argn[i]); -+ if (argv[i]) g_argv[i] = strdup(argv[i]); -+ } -+ -+ return PP_TRUE; -+} -+ -+static void Instance_DidDestroy(PP_Instance instance) {} -+ -+static void Instance_DidChangeView(PP_Instance instance, -+ PP_Resource view_resource) { -+ struct PP_Rect view_rect; -+ if (g_width && g_height) return; -+ -+ if (g_view_interface->GetRect(view_resource, &view_rect) == PP_FALSE) { -+ fprintf(stderr, "SDL: Unable to get view rect!\n"); -+ return; -+ } -+ -+ if (view_rect.size.width == g_width && view_rect.size.height == g_height) -+ return; // Size didn't change, no need to update anything. -+ -+ g_width = view_rect.size.width; -+ g_height = view_rect.size.height; -+ -+ SDL_NACL_SetInstance(g_instance, g_get_browser_interface, g_width, g_height); -+ pthread_create(&g_sdl_thread, NULL, sdl_thread_start, NULL); -+} -+ -+/* -+ * Entry point for the main SDL thread. The job of this thread is to -+ * run SDL_main, which in most cases is the application's main() function -+ * re-defined by the pre-processor in SDL_main.h. -+ */ -+static void* sdl_thread_start(void* arg) { -+ char* argv[2]; -+ int rtn; -+ -+ ProcessArgs(); -+ fprintf(stderr, "SDL: calling SDL_main\n"); -+ argv[0] = (char*)"SDL applicaiton"; -+ argv[1] = NULL; -+ rtn = SDL_main(1, argv); -+ fprintf(stderr, "SDL: SDL_main returned: %d\n", rtn); -+ exit(rtn); -+ return NULL; -+} -+ -+static ssize_t TtyOutputHandler(const char* buf, size_t count, void* user_data) { -+ // We prepend the prefix_ to the data in buf, then package it up -+ // and post it as a message to javascript. -+ char* message = (char*)malloc(count + strlen(g_tty_prefix)); -+ strcpy(message, g_tty_prefix); -+ memcpy(message + strlen(g_tty_prefix), buf, count); -+ struct PP_Var var = g_var_interface->VarFromUtf8(message, count + strlen(g_tty_prefix)); -+ g_messaging_interface->PostMessage(g_instance, var); -+ g_var_interface->Release(var); -+ free(message); -+ return count; -+} -+ -+static void ProcessArgs() { -+ int i; -+ int rtn; -+ int mount_default = 1; -+ nacl_io_log("SDL: ProcessArgs %d\n", g_argc); -+ -+ // This could fail if the sdl_mount_http attributes -+ // above created a mount on "/". -+ fprintf(stderr, "SDL: creating memfs on root\n"); -+ -+ rtn = umount("/"); -+ if (rtn != 0) -+ fprintf(stderr, "SDL: umount failed: %s\n", strerror(errno)); -+ -+ rtn = mount("", "/", "memfs", 0, ""); -+ if (rtn != 0) -+ fprintf(stderr, "SDL: mount failed: %s\n", strerror(errno)); -+ -+ rtn = mkdir("/tmp", S_IRWXU | S_IRWXG); -+ if (rtn != 0) -+ fprintf(stderr, "SDL: mkdir /tmp failed: %s\n", strerror(errno)); -+ -+ rtn = mkdir("/home", S_IRWXU | S_IRWXG); -+ if (rtn != 0) -+ fprintf(stderr, "SDL: mkdir /home failed: %s\n", strerror(errno)); -+ -+ rtn = mount("", "/tmp", "html5fs", 0, "type=TEMPORARY"); -+ if (rtn != 0) -+ fprintf(stderr, "SDL: mount /tmp failed: %s\n", strerror(errno)); -+ -+ for (i = 0; i < g_argc; i++) { -+ if (!strcmp(g_argn[i], "ps_stdout")) { -+ int fd1 = open(g_argv[i], O_WRONLY); -+ dup2(fd1, 1); -+ } else if (!strcmp(g_argn[i], "ps_stderr")) { -+ int fd2 = open(g_argv[i], O_WRONLY); -+ dup2(fd2, 2); -+ } else if (!strcmp(g_argn[i], "ps_tty_prefix")) { -+ g_tty_prefix = g_argv[i]; -+ struct tioc_nacl_output handler; -+ handler.handler = TtyOutputHandler; -+ handler.user_data = NULL; -+ int tty_fd = open("/dev/tty", O_WRONLY); -+ if (tty_fd != -1) { -+ ioctl(tty_fd, TIOCNACLOUTPUT, &handler); -+ close(tty_fd); -+ } -+ } else if (!strcmp(g_argn[i], "fs_pers")) { -+ mount_default = 0; -+ char *ptr; -+ long sz = strtol(g_argv[i], &ptr, 10); -+ fprintf(stderr, "SDL: adding html5fs mount size: %ld\n", sz); -+ if (sz > 0) { -+ char params[255]; -+ sprintf(params, "type=PERSISTENT,expected_size=%ld", sz); -+ if (mount("", "/persistent", "html5fs", 0, params)) -+ fprintf (stderr, "mount failed"); -+ } else { -+ fprintf (stderr, "zero fs size"); -+ } -+ } -+ else if (!strcmp(g_argn[i], "fs_http")) { -+ mount_default = 0; -+ mount(g_argv[i], "/http", "httpfs", 0, ""); -+ } else if (!strcmp(g_argn[i], "sdl_mount_http")) { -+ const char* source; -+ const char* target = "/"; -+ char* sep; -+ char buf[64]; -+ int n; -+ -+ const char* q, *p = g_argv[i]; -+ while (*p) { -+ while (*p && isspace(*p)) ++p; -+ if (!*p) break; -+ q = p; -+ while (*p && !isspace(*p)) ++p; -+ -+ n = sizeof(buf) - 1; -+ if (p - q < n) n = p - q; -+ strncpy(buf, q, n); -+ buf[n] = '\0'; -+ -+ sep = strchr(buf, ':'); -+ source = buf; -+ if (sep) { -+ target = sep + 1; -+ *sep = '\0'; -+ } -+ -+ mount_default = 0; -+ fprintf(stderr, "SDL: adding http mount '%s' -> '%s'\n", source, -+ target); -+ rtn = mount(source, target, "httpfs", 0, ""); -+ if (rtn != 0) -+ fprintf(stderr, "SDL: mount failed: %s\n", strerror(errno)); -+ } -+ } -+ } -+ -+ if (mount_default) { -+ // Create an http mount by default -+ fprintf(stderr, "SDL: creating default http mount 1\n"); -+ rtn = chdir("/home"); -+ if (rtn != 0) -+ fprintf(stderr, "SDL: chdir failed: %s\n", strerror(errno)); -+ rtn = mount(".", "/home", "httpfs", 0, ""); -+ if (rtn != 0) -+ fprintf(stderr, "SDL: mount failed: %s\n", strerror(errno)); -+ } -+ -+ for (i = 0; i < g_argc; i++) { -+ nacl_io_log("SDL: arg=%s\n", g_argn[i]); -+ if (!strcasecmp(g_argn[i], "PWD")) { -+ int rtn = chdir(g_argv[i]); -+ if (rtn != 0) -+ nacl_io_log("SDL: chdir(%s) failed\n", g_argv[i]); -+ else -+ nacl_io_log("SDL: chdir(%s)\n", g_argv[i]); -+ } else if (!strcmp(g_argn[i], "sdl_tar_extract")) { -+ const char* source; -+ const char* target = "/"; -+ char* sep; -+ char buf[64]; -+ int n; -+ -+ const char* q, *p = g_argv[i]; -+ while (*p) { -+ while (*p && isspace(*p)) ++p; -+ if (!*p) break; -+ q = p; -+ while (*p && !isspace(*p)) ++p; -+ -+ n = sizeof(buf) - 1; -+ if (p - q < n) n = p - q; -+ strncpy(buf, q, n); -+ buf[n] = '\0'; -+ -+ sep = strchr(buf, ':'); -+ source = buf; -+ if (sep) { -+ target = sep + 1; -+ *sep = '\0'; -+ } -+ -+ fprintf(stderr, "SDL: extracting tar file '%s' -> '%s'\n", source, -+ target); -+ -+ TAR* tar; -+ rtn = tar_open(&tar, (char*)source, NULL, O_RDONLY, 0, 0); -+ if (rtn != 0) { -+ fprintf(stderr, "SDL: tar_open failed\n"); -+ assert(0); -+ continue; -+ } -+ -+ rtn = mkdir(target, S_IRWXU | S_IRWXG); -+ if (rtn != 0) -+ fprintf(stderr, "SDL: mkdir failed: %s\n", strerror(errno)); -+ -+ rtn = tar_extract_all(tar, (char*)target); -+ if (rtn != 0) { -+ fprintf(stderr, "SDL: tar_extract_all failed\n"); -+ assert(0); -+ } -+ -+ rtn = tar_close(tar); -+ if (rtn != 0) { -+ fprintf(stderr, "SDL: tar_clone failed\n"); -+ assert(0); ++extern "C" void NACL_SetScreenResolution(int width, int height); ++ ++static int ++ProcessArgs(int argc, char** argv) { ++ const char* arg = getenv("SDL_TAR_EXTRACT"); ++ if (arg != NULL) { ++ const char* source; ++ const char* target = "/"; ++ char* sep; ++ char buf[64]; ++ int n; ++ ++ const char* q, *p = arg; ++ while (*p) { ++ while (*p && isspace((unsigned char)*p)) ++p; ++ if (!*p) break; ++ q = p; ++ while (*p && !isspace((unsigned char)*p)) ++p; ++ ++ n = sizeof(buf) - 1; ++ if (p - q < n) n = p - q; ++ strncpy(buf, q, n); ++ buf[n] = '\0'; ++ ++ sep = strchr(buf, ':'); ++ source = buf; ++ if (sep) { ++ target = sep + 1; ++ *sep = '\0'; ++ } ++ ++ SDL_log("extracting tar file '%s' -> '%s'\n", source, target); ++ if (nacl_startup_untar(argv[0], source, target) != 0) ++ return 1; + } -+ } + } -+ } -+} -+ -+static void Instance_DidChangeFocus(PP_Instance instance, PP_Bool has_focus) {} -+ -+static PP_Bool Instance_HandleDocumentLoad(PP_Instance instance, -+ PP_Resource url_loader) { -+ return PP_FALSE; -+} -+ -+static PP_Bool InputEvent_HandleInputEvent(PP_Instance instance, -+ PP_Resource input_event) { -+ SDL_NACL_PushEvent(input_event); -+ return PP_TRUE; -+} -+ -+PP_EXPORT int32_t -+PPP_InitializeModule(PP_Module module, PPB_GetInterface get_browser) { -+ g_get_browser_interface = get_browser; -+ g_input_event_interface = -+ (struct PPB_InputEvent_1_0*)get_browser(PPB_INPUT_EVENT_INTERFACE_1_0); -+ g_messaging_interface = -+ (struct PPB_InputEvent_1_0*)get_browser(PPB_MESSAGING_INTERFACE_1_0); -+ g_var_interface = (struct PPB_Var_1_1*)get_browser(PPB_VAR_INTERFACE_1_1); -+ g_view_interface = (struct PPB_View_1_1*)get_browser(PPB_VIEW_INTERFACE_1_1); -+ return PP_OK; -+} -+ -+PP_EXPORT const void* PPP_GetInterface(const char* interface_name) { -+ if (strcmp(interface_name, PPP_INSTANCE_INTERFACE) == 0) { -+ static struct PPP_Instance_1_1 instance_interface = { -+ &Instance_DidCreate, -+ &Instance_DidDestroy, -+ &Instance_DidChangeView, -+ &Instance_DidChangeFocus, -+ &Instance_HandleDocumentLoad, -+ }; -+ return &instance_interface; -+ } else if (strcmp(interface_name, PPP_INPUT_EVENT_INTERFACE_0_1) == 0) { -+ static struct PPP_InputEvent_0_1 input_event_interface = { -+ &InputEvent_HandleInputEvent, -+ }; -+ return &input_event_interface; -+ } -+ return NULL; -+} + -+PP_EXPORT void PPP_ShutdownModule() {} -diff --git a/src/thread/pthread/SDL_systhread.c b/src/thread/pthread/SDL_systhread.c -index 479bf34..a3b9119 100644 ---- a/src/thread/pthread/SDL_systhread.c -+++ b/src/thread/pthread/SDL_systhread.c -@@ -81,12 +81,15 @@ void SDL_SYS_SetupThread(void) - int i; - sigset_t mask; - -+ // NativeClient does not yet support signals. -+#ifndef __NACL__ - /* Mask asynchronous signals for this thread */ - sigemptyset(&mask); - for ( i=0; sig_list[i]; ++i ) { - sigaddset(&mask, sig_list[i]); - } - pthread_sigmask(SIG_BLOCK, &mask, 0); -+#endif - - #ifdef PTHREAD_CANCEL_ASYNCHRONOUS - /* Allow ourselves to be asynchronously cancelled */ -diff --git a/src/video/SDL_sysvideo.h b/src/video/SDL_sysvideo.h -index 1c72e09..9fc1a85 100644 ---- a/src/video/SDL_sysvideo.h -+++ b/src/video/SDL_sysvideo.h -@@ -317,6 +317,9 @@ typedef struct VideoBootStrap { - SDL_VideoDevice *(*create)(int devindex); - } VideoBootStrap; - -+#if SDL_VIDEO_DRIVER_NACL -+extern VideoBootStrap NACL_bootstrap; -+#endif - #if SDL_VIDEO_DRIVER_QUARTZ - extern VideoBootStrap QZ_bootstrap; - #endif -diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c -index e84ef35..f8a5090 100644 ---- a/src/video/SDL_video.c -+++ b/src/video/SDL_video.c -@@ -33,6 +33,9 @@ - - /* Available video drivers */ - static VideoBootStrap *bootstrap[] = { -+#if SDL_VIDEO_DRIVER_NACL -+ &NACL_bootstrap, -+#endif - #if SDL_VIDEO_DRIVER_QUARTZ - &QZ_bootstrap, - #endif -@@ -764,6 +767,8 @@ SDL_Surface * SDL_SetVideoMode (int width, int height, int bpp, Uint32 flags) - #define __SDL_NOGETPROCADDR__ - #elif defined(__MINT__) - #define __SDL_NOGETPROCADDR__ -+#elif defined(__native_client__) -+#define __SDL_NOGETPROCADDR__ - #endif - #ifdef __SDL_NOGETPROCADDR__ - #define SDL_PROC(ret,func,params) video->func=func; -diff --git a/src/video/nacl/SDL_naclevents.cc b/src/video/nacl/SDL_naclevents.cc -new file mode 100644 -index 0000000..c9eaea8 ---- /dev/null -+++ b/src/video/nacl/SDL_naclevents.cc -@@ -0,0 +1,320 @@ -+#include "SDL_config.h" -+ -+#include "SDL_nacl.h" -+ -+extern "C" { -+#include "SDL.h" -+#include "../../events/SDL_sysevents.h" -+#include "../../events/SDL_events_c.h" -+} -+ -+#include "SDL_naclevents_c.h" -+#include "eventqueue.h" -+#include <ppapi/c/pp_point.h> -+#include <ppapi/c/pp_var.h> -+#include <ppapi/c/ppb_input_event.h> -+#include <ppapi/c/ppb_var.h> -+ -+#include <math.h> -+ -+extern const PPB_InputEvent_1_0 *g_nacl_input_event_interface; -+extern const PPB_MouseInputEvent_1_1 *g_nacl_mouse_input_event_interface; -+extern const PPB_WheelInputEvent_1_0 *g_nacl_wheel_input_event_interface; -+extern const PPB_KeyboardInputEvent_1_0 *g_nacl_keyboard_input_event_interface; -+extern const PPB_Var_1_1 *g_nacl_var_interface; -+ -+static EventQueue event_queue; -+ -+static Uint8 translateButton(int32_t button) { -+ switch (button) { -+ case PP_INPUTEVENT_MOUSEBUTTON_LEFT: -+ return SDL_BUTTON_LEFT; -+ case PP_INPUTEVENT_MOUSEBUTTON_MIDDLE: -+ return SDL_BUTTON_MIDDLE; -+ case PP_INPUTEVENT_MOUSEBUTTON_RIGHT: -+ return SDL_BUTTON_RIGHT; -+ case PP_INPUTEVENT_MOUSEBUTTON_NONE: -+ default: -+ return 0; -+ } -+} -+ -+// Translate ASCII code to browser keycode -+static uint8_t translateAscii(uint8_t ascii) { -+ if ('A' <= ascii && ascii <= 'Z') { -+ return ascii; -+ } else if ('a' <= ascii && ascii <= 'z') { -+ return toupper(ascii); -+ } else if ('0' <= ascii && ascii <= '9') { -+ return ascii; -+ } else if (' ' == ascii || '\r' == ascii || '\t' == ascii || -+ '\x1b' == ascii || '\b' == ascii) { -+ return ascii; -+ } else { -+ switch (ascii) { -+ case '!': return '1'; -+ case '@': return '2'; -+ case '#': return '3'; -+ case '$': return '4'; -+ case '%': return '5'; -+ case '^': return '6'; -+ case '&': return '7'; -+ case '*': return '8'; -+ case '(': return '9'; -+ case ')': return '0'; -+ case ';': case ':': return 186; -+ case '=': case '+': return 187; -+ case ',': case '<': return 188; -+ case '-': case '_': return 189; -+ case '.': case '>': return 190; -+ case '/': case '?': return 191; -+ case '`': case '~': return 192; -+ case '[': case '{': return 219; -+ case '\\': case '|': return 220; -+ case ']': case '}': return 221; -+ case '\'': case '"': return 222; -+ default: -+ break; -+ } -+ } -+ return 0; -+} -+ -+// Translate browser keycode to SDLKey -+static SDLKey translateKey(uint32_t code) { -+ if (code >= 'A' && code <= 'Z') -+ return (SDLKey)(code - 'A' + SDLK_a); -+ if (code >= SDLK_0 && code <= SDLK_9) -+ return (SDLKey)code; -+ const uint32_t f1_code = 112; -+ if (code >= f1_code && code < f1_code + 12) -+ return (SDLKey)(code - f1_code + SDLK_F1); -+ const uint32_t kp0_code = 96; -+ if (code >= kp0_code && code < kp0_code + 10) -+ return (SDLKey)(code - kp0_code + SDLK_KP0); -+ switch (code) { -+ case SDLK_BACKSPACE: -+ return SDLK_BACKSPACE; -+ case SDLK_TAB: -+ return SDLK_TAB; -+ case SDLK_RETURN: -+ return SDLK_RETURN; -+ case SDLK_PAUSE: -+ return SDLK_PAUSE; -+ case SDLK_ESCAPE: -+ return SDLK_ESCAPE; -+ case 16: -+ return SDLK_LSHIFT; -+ case 17: -+ return SDLK_LCTRL; -+ case 18: -+ return SDLK_LALT; -+ case 32: -+ return SDLK_SPACE; -+ case 37: -+ return SDLK_LEFT; -+ case 38: -+ return SDLK_UP; -+ case 39: -+ return SDLK_RIGHT; -+ case 40: -+ return SDLK_DOWN; -+ case 106: -+ return SDLK_KP_MULTIPLY; -+ case 107: -+ return SDLK_KP_PLUS; -+ case 109: -+ return SDLK_KP_MINUS; -+ case 110: -+ return SDLK_KP_PERIOD; -+ case 111: -+ return SDLK_KP_DIVIDE; -+ case 45: -+ return SDLK_INSERT; -+ case 46: -+ return SDLK_DELETE; -+ case 36: -+ return SDLK_HOME; -+ case 35: -+ return SDLK_END; -+ case 33: -+ return SDLK_PAGEUP; -+ case 34: -+ return SDLK_PAGEDOWN; -+ case 189: -+ return SDLK_MINUS; -+ case 187: -+ return SDLK_EQUALS; -+ case 219: -+ return SDLK_LEFTBRACKET; -+ case 221: -+ return SDLK_RIGHTBRACKET; -+ case 186: -+ return SDLK_SEMICOLON; -+ case 222: -+ return SDLK_QUOTE; -+ case 220: -+ return SDLK_BACKSLASH; -+ case 188: -+ return SDLK_COMMA; -+ case 190: -+ return SDLK_PERIOD; -+ case 191: -+ return SDLK_SLASH; -+ case 192: -+ return SDLK_BACKQUOTE; -+ default: -+ return SDLK_UNKNOWN; -+ } -+} -+ -+static SDL_Event *copyEvent(SDL_Event *event) { -+ SDL_Event *event_copy = (SDL_Event*)malloc(sizeof(SDL_Event)); -+ *event_copy = *event; -+ return event_copy; -+} -+ -+void SDL_NACL_PushEvent(PP_Resource input_event) { -+ static Uint8 last_scancode = 0; -+ SDL_keysym keysym; -+ static double wheel_clicks_x; -+ static double wheel_clicks_y; -+ SDL_Event event; -+ PP_InputEvent_Type type = g_nacl_input_event_interface->GetType(input_event); -+ -+ if (type == PP_INPUTEVENT_TYPE_MOUSEDOWN || -+ type == PP_INPUTEVENT_TYPE_MOUSEUP) { -+ event.type = (type == PP_INPUTEVENT_TYPE_MOUSEUP) ? SDL_MOUSEBUTTONUP -+ : SDL_MOUSEBUTTONDOWN; -+ event.button.button = translateButton( -+ g_nacl_mouse_input_event_interface->GetButton(input_event)); -+ PP_Point point = -+ g_nacl_mouse_input_event_interface->GetPosition(input_event); -+ event.button.x = point.x; -+ event.button.y = point.y; -+ event_queue.PushEvent(copyEvent(&event)); -+ } else if (type == PP_INPUTEVENT_TYPE_WHEEL) { -+ PP_FloatPoint ticks = -+ g_nacl_wheel_input_event_interface->GetTicks(input_event); -+ wheel_clicks_x += ticks.x; -+ wheel_clicks_y += ticks.y; -+ int sdl_wheel_clicks_x = trunc(wheel_clicks_x); -+ int sdl_wheel_clicks_y = trunc(wheel_clicks_y); -+ event.button.x = event.button.y = 0; -+ event.button.button = -+ (sdl_wheel_clicks_x > 0) ? SDL_BUTTON_X1 : SDL_BUTTON_X2; -+ for (int i = 0; i < abs(sdl_wheel_clicks_x); i++) { -+ event.type = SDL_MOUSEBUTTONDOWN; -+ event_queue.PushEvent(copyEvent(&event)); -+ event.type = SDL_MOUSEBUTTONUP; -+ event_queue.PushEvent(copyEvent(&event)); -+ } -+ event.button.button = -+ (sdl_wheel_clicks_y > 0) ? SDL_BUTTON_WHEELUP : SDL_BUTTON_WHEELDOWN; -+ for (int i = 0; i < abs(sdl_wheel_clicks_y); i++) { -+ event.type = SDL_MOUSEBUTTONDOWN; -+ event_queue.PushEvent(copyEvent(&event)); -+ event.type = SDL_MOUSEBUTTONUP; -+ event_queue.PushEvent(copyEvent(&event)); -+ } -+ wheel_clicks_x -= sdl_wheel_clicks_x; -+ wheel_clicks_y -= sdl_wheel_clicks_y; -+ } else if (type == PP_INPUTEVENT_TYPE_MOUSEMOVE) { -+ event.type = SDL_MOUSEMOTION; -+ PP_Point point = -+ g_nacl_mouse_input_event_interface->GetPosition(input_event); -+ event.motion.x = point.x; -+ event.motion.y = point.y; -+ event_queue.PushEvent(copyEvent(&event)); -+ } else if (type == PP_INPUTEVENT_TYPE_KEYDOWN || -+ type == PP_INPUTEVENT_TYPE_KEYUP || -+ type == PP_INPUTEVENT_TYPE_CHAR) { -+ // PPAPI sends us separate events for KEYDOWN and CHAR; the first one -+ // contains only the keycode, the second one - only the unicode text. -+ // SDL wants both in SDL_PRESSED event :( -+ // For now, ignore the keydown event for printable ascii (32-126) as we -+ // know we'll get a char event and can set sym directly. For everything -+ // else, risk sending an extra SDL_PRESSED with unicode text and zero -+ // keycode for scancode / sym. -+ // It seems that SDL 1.3 is better in this regard. -+ keysym.scancode = -+ g_nacl_keyboard_input_event_interface->GetKeyCode(input_event); -+ PP_Var unicode_var = -+ g_nacl_keyboard_input_event_interface->GetCharacterText(input_event); -+ uint32_t unicode_var_len; -+ keysym.unicode = -+ g_nacl_var_interface->VarToUtf8(unicode_var, &unicode_var_len)[0]; -+ g_nacl_var_interface->Release(unicode_var); -+ keysym.sym = translateKey(keysym.scancode); -+ if (type == PP_INPUTEVENT_TYPE_KEYDOWN) { -+ event.type = SDL_KEYDOWN; -+ last_scancode = keysym.scancode; -+ if (keysym.sym >= ' ' && keysym.sym <= 126) { -+ return; -+ } -+ } else if (type == PP_INPUTEVENT_TYPE_CHAR) { -+ event.type = SDL_KEYDOWN; -+ if (keysym.sym >= ' ' && keysym.sym <= 126) { -+ keysym.scancode = translateAscii(keysym.unicode); -+ keysym.sym = translateKey(keysym.scancode); -+ } else if (last_scancode) { -+ keysym.scancode = last_scancode; -+ keysym.sym = translateKey(keysym.scancode); -+ } -+ } else { // event->type == PP_INPUTEVENT_TYPE_KEYUP -+ event.type = SDL_KEYUP; -+ last_scancode = 0; -+ } -+ keysym.mod = KMOD_NONE; -+ event.key.keysym = keysym; -+ event_queue.PushEvent(copyEvent(&event)); -+ } else if (type == PP_INPUTEVENT_TYPE_MOUSEENTER || -+ type == PP_INPUTEVENT_TYPE_MOUSELEAVE) { -+ event.type = SDL_ACTIVEEVENT; -+ event.active.gain = (type == PP_INPUTEVENT_TYPE_MOUSEENTER) ? 1 : 0; -+ event.active.state = SDL_APPMOUSEFOCUS; -+ event_queue.PushEvent(copyEvent(&event)); -+ } -+} -+ -+void SDL_NACL_SetHasFocus(int has_focus) { -+ SDL_Event event; -+ event.type = SDL_ACTIVEEVENT; -+ event.active.gain = has_focus ? 1 : 0; -+ event.active.state = SDL_APPINPUTFOCUS; -+ event_queue.PushEvent(copyEvent(&event)); -+} -+ -+void SDL_NACL_SetPageVisible(int is_visible) { -+ SDL_Event event; -+ event.type = SDL_ACTIVEEVENT; -+ event.active.gain = is_visible ? 1 : 0; -+ event.active.state = SDL_APPACTIVE; -+ event_queue.PushEvent(copyEvent(&event)); -+} -+ -+void NACL_PumpEvents(_THIS) { -+ SDL_Event* event; -+ while (event = event_queue.PopEvent()) { -+ if (event->type == SDL_MOUSEBUTTONDOWN) { -+ SDL_PrivateMouseButton(SDL_PRESSED, event->button.button, -+ event->button.x, event->button.y); -+ } else if (event->type == SDL_MOUSEBUTTONUP) { -+ SDL_PrivateMouseButton(SDL_RELEASED, event->button.button, -+ event->button.x, event->button.y); -+ } else if (event->type == SDL_MOUSEMOTION) { -+ SDL_PrivateMouseMotion(0, 0, event->motion.x, event->motion.y); -+ } else if (event->type == SDL_KEYDOWN) { -+ SDL_PrivateKeyboard(SDL_PRESSED, &event->key.keysym); -+ } else if (event->type == SDL_KEYUP) { -+ SDL_PrivateKeyboard(SDL_RELEASED, &event->key.keysym); -+ } else if (event->type == SDL_ACTIVEEVENT) { -+ SDL_PrivateAppActive(event->active.gain, event->active.state); -+ } -+ free(event); -+ } -+} -+ -+void NACL_InitOSKeymap(_THIS) { -+ /* do nothing. */ -+} -diff --git a/src/video/nacl/SDL_naclevents_c.h b/src/video/nacl/SDL_naclevents_c.h -new file mode 100644 -index 0000000..71ae309 ---- /dev/null -+++ b/src/video/nacl/SDL_naclevents_c.h -@@ -0,0 +1,7 @@ -+#include "SDL_config.h" -+ -+#include "SDL_naclvideo.h" -+#include "SDL_nacl.h" -+ -+extern void NACL_InitOSKeymap(_THIS); -+extern void NACL_PumpEvents(_THIS); -diff --git a/src/video/nacl/SDL_naclvideo.cc b/src/video/nacl/SDL_naclvideo.cc -new file mode 100644 -index 0000000..f1ababa ---- /dev/null -+++ b/src/video/nacl/SDL_naclvideo.cc -@@ -0,0 +1,465 @@ -+#include "SDL_config.h" -+ -+#include <assert.h> -+ -+#include "SDL_naclvideo.h" -+#include "SDL_naclevents_c.h" -+ -+#include <ppapi/c/pp_completion_callback.h> -+#include <ppapi/c/pp_errors.h> -+#include <ppapi/c/pp_instance.h> -+#include <ppapi/c/pp_point.h> -+#include <ppapi/c/pp_rect.h> -+#include <ppapi/c/pp_size.h> -+#include <ppapi/c/pp_var.h> -+#include <ppapi/c/ppb_core.h> -+#include <ppapi/c/ppb_graphics_2d.h> -+#include <ppapi/c/ppb_graphics_3d.h> -+#include <ppapi/c/ppb_image_data.h> -+#include <ppapi/c/ppb_input_event.h> -+#include <ppapi/c/ppb_instance.h> -+#include <ppapi/c/ppb_opengles2.h> -+#include <ppapi/c/ppb_var.h> -+#include <ppapi/gles2/gl2ext_ppapi.h> -+ -+PP_Instance g_nacl_pp_instance; -+PPB_GetInterface g_nacl_get_interface; -+const PPB_Core_1_0 *g_nacl_core_interface; -+const PPB_Instance_1_0 *g_nacl_instance_interface; -+const PPB_ImageData_1_0 *g_nacl_image_data_interface; -+const PPB_Graphics2D_1_1 *g_nacl_graphics2d_interface; -+const PPB_Graphics3D_1_0 *g_nacl_graphics3d_interface; -+const PPB_OpenGLES2 *g_nacl_opengles2_interface; -+ -+const PPB_InputEvent_1_0 *g_nacl_input_event_interface; -+const PPB_MouseInputEvent_1_1 *g_nacl_mouse_input_event_interface; -+const PPB_WheelInputEvent_1_0 *g_nacl_wheel_input_event_interface; -+const PPB_KeyboardInputEvent_1_0 *g_nacl_keyboard_input_event_interface; -+const PPB_Var_1_1 *g_nacl_var_interface; -+ -+static int g_nacl_video_width; -+static int g_nacl_video_height; -+ -+static int kNaClFlushDelayMs = 20; -+ -+#include "SDL_nacl.h" -+ -+extern "C" { -+ -+#ifdef SDL_VIDEO_OPENGL_REGAL -+#include "SDL_opengl.h" -+#endif -+#include "SDL_video.h" -+#include "SDL_mouse.h" -+#include "../SDL_sysvideo.h" -+#include "../SDL_pixels_c.h" -+#include "../../events/SDL_events_c.h" -+ -+#define NACLVID_DRIVER_NAME "nacl" -+ -+void SDL_NACL_SetInstance(PP_Instance instance, PPB_GetInterface get_interface, -+ int width, int height) { -+ bool is_resize = g_nacl_pp_instance && (width != g_nacl_video_width || -+ height != g_nacl_video_height); -+ -+ g_nacl_pp_instance = instance; -+ g_nacl_get_interface = get_interface; -+ g_nacl_core_interface = -+ (const PPB_Core_1_0 *)get_interface(PPB_CORE_INTERFACE_1_0); -+ g_nacl_instance_interface = -+ (const PPB_Instance_1_0 *)get_interface(PPB_INSTANCE_INTERFACE_1_0); -+ g_nacl_image_data_interface = -+ (const PPB_ImageData_1_0 *)get_interface(PPB_IMAGEDATA_INTERFACE_1_0); -+ g_nacl_graphics2d_interface = -+ (const PPB_Graphics2D_1_1 *)get_interface(PPB_GRAPHICS_2D_INTERFACE_1_1); -+ g_nacl_graphics3d_interface = -+ (const PPB_Graphics3D_1_0 *)get_interface(PPB_GRAPHICS_3D_INTERFACE_1_0); -+ g_nacl_opengles2_interface = -+ (const PPB_OpenGLES2 *)get_interface(PPB_OPENGLES2_INTERFACE_1_0); -+ g_nacl_input_event_interface = -+ (const PPB_InputEvent_1_0 *)get_interface(PPB_INPUT_EVENT_INTERFACE_1_0); -+ g_nacl_mouse_input_event_interface = -+ (const PPB_MouseInputEvent_1_1 *)get_interface( -+ PPB_MOUSE_INPUT_EVENT_INTERFACE_1_1); -+ g_nacl_wheel_input_event_interface = -+ (const PPB_WheelInputEvent_1_0 *)get_interface( -+ PPB_WHEEL_INPUT_EVENT_INTERFACE_1_0); -+ g_nacl_keyboard_input_event_interface = -+ (const PPB_KeyboardInputEvent_1_0 *)get_interface( -+ PPB_KEYBOARD_INPUT_EVENT_INTERFACE_1_0); -+ g_nacl_var_interface = -+ (const PPB_Var_1_1 *)get_interface(PPB_VAR_INTERFACE_1_1); -+ g_nacl_video_width = width; -+ g_nacl_video_height = height; -+ if (is_resize && current_video) { -+ current_video->hidden->ow = width; -+ current_video->hidden->oh = height; -+ SDL_PrivateResize(width, height); -+ } -+} -+ -+static void flush(void *data, int32_t unused); -+ -+/* Initialization/Query functions */ -+static int NACL_VideoInit(_THIS, SDL_PixelFormat *vformat); -+static SDL_Rect **NACL_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags); -+static SDL_Surface *NACL_SetVideoMode(_THIS, SDL_Surface *current, int width, -+ int height, int bpp, Uint32 flags); -+static void NACL_VideoQuit(_THIS); -+static void NACL_UpdateRects(_THIS, int numrects, SDL_Rect *rects); -+ -+#ifdef SDL_VIDEO_OPENGL_REGAL -+static int NACL_GL_GetAttribute(_THIS, SDL_GLattr attrib, int *value); -+static int NACL_GL_MakeCurrent(_THIS); -+static void NACL_GL_SwapBuffers(_THIS); -+#endif -+ -+/* The implementation dependent data for the window manager cursor */ -+struct WMcursor { -+ // Fake cursor data to fool SDL into not using its broken (as it seems) -+ // software cursor emulation. -+}; -+ -+static void NACL_FreeWMCursor(_THIS, WMcursor *cursor); -+static WMcursor *NACL_CreateWMCursor(_THIS, Uint8 *data, Uint8 *mask, int w, -+ int h, int hot_x, int hot_y); -+static int NACL_ShowWMCursor(_THIS, WMcursor *cursor); -+static void NACL_WarpWMCursor(_THIS, Uint16 x, Uint16 y); -+ -+static int NACL_Available(void) { -+ return g_nacl_pp_instance != 0; -+} -+ -+static void NACL_DeleteDevice(SDL_VideoDevice *device) { -+ SDL_free(device->hidden); -+ SDL_free(device); -+} -+ -+static SDL_VideoDevice *NACL_CreateDevice(int devindex) { -+ SDL_VideoDevice *device; -+ -+ assert(g_nacl_pp_instance); -+ -+ /* Initialize all variables that we clean on shutdown */ -+ device = (SDL_VideoDevice *)SDL_malloc(sizeof(SDL_VideoDevice)); -+ if (device) { -+ SDL_memset(device, 0, (sizeof *device)); -+ device->hidden = -+ (struct SDL_PrivateVideoData *)SDL_malloc((sizeof *device->hidden)); -+ } -+ if (device == NULL || device->hidden == NULL) { -+ SDL_OutOfMemory(); -+ if (device) { -+ SDL_free(device); -+ } + return 0; -+ } -+ SDL_memset(device->hidden, 0, (sizeof *device->hidden)); -+ -+ device->hidden->ow = g_nacl_video_width; -+ device->hidden->oh = g_nacl_video_height; -+ -+ // TODO: query the fullscreen size -+ -+ /* Set the function pointers */ -+ device->VideoInit = NACL_VideoInit; -+ device->ListModes = NACL_ListModes; -+ device->SetVideoMode = NACL_SetVideoMode; -+ device->UpdateRects = NACL_UpdateRects; -+ device->VideoQuit = NACL_VideoQuit; -+ device->InitOSKeymap = NACL_InitOSKeymap; -+ device->PumpEvents = NACL_PumpEvents; -+ -+ device->FreeWMCursor = NACL_FreeWMCursor; -+ device->CreateWMCursor = NACL_CreateWMCursor; -+ device->ShowWMCursor = NACL_ShowWMCursor; -+ device->WarpWMCursor = NACL_WarpWMCursor; -+ -+#ifdef SDL_VIDEO_OPENGL_REGAL -+ device->GL_GetAttribute = NACL_GL_GetAttribute; -+ device->GL_MakeCurrent = NACL_GL_MakeCurrent; -+ device->GL_SwapBuffers = NACL_GL_SwapBuffers; -+#endif -+ -+ device->free = NACL_DeleteDevice; -+ -+ return device; -+} -+ -+VideoBootStrap NACL_bootstrap = { -+ NACLVID_DRIVER_NAME, "SDL Native Client video driver", -+ NACL_Available, NACL_CreateDevice -+}; -+ -+int NACL_VideoInit(_THIS, SDL_PixelFormat *vformat) { -+ fprintf(stderr, -+ "SDL: Congratulations you are using the SDL nacl video driver!\n"); -+ -+ /* Determine the screen depth (use default 8-bit depth) */ -+ /* we change this during the SDL_SetVideoMode implementation... */ -+ vformat->BitsPerPixel = 32; -+ vformat->BytesPerPixel = 4; -+ -+ _this->info.current_w = g_nacl_video_width; -+ _this->info.current_h = g_nacl_video_height; -+ -+ /* We're done! */ -+ return 0; -+} -+ -+SDL_Rect **NACL_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags) { -+ // TODO: list modes -+ return (SDL_Rect **)-1; +} + -+SDL_Surface *NACL_SetVideoMode(_THIS, SDL_Surface *current, int width, -+ int height, int bpp, Uint32 flags) { -+ -+ fprintf(stderr, "SDL: setvideomode %dx%d bpp=%d opengl=%d flags=%u\n", width, -+ height, bpp, flags & SDL_OPENGL ? 1 : 0, flags); -+ fflush(stderr); -+ -+ if (width > _this->hidden->ow || height > _this->hidden->oh) return NULL; -+ _this->hidden->bpp = bpp = 32; // Let SDL handle pixel format conversion. -+ _this->hidden->w = width; -+ _this->hidden->h = height; ++#undef main + -+ if (_this->hidden->context2d) { -+ g_nacl_core_interface->ReleaseResource(_this->hidden->context2d); -+ _this->hidden->context2d = 0; -+ } -+ -+ if (_this->hidden->context3d) { -+ g_nacl_core_interface->ReleaseResource(_this->hidden->context3d); -+ _this->hidden->context3d = 0; -+ } -+ -+ if (flags & SDL_OPENGL) { -+ int32_t attribs[] = { -+ PP_GRAPHICS3DATTRIB_ALPHA_SIZE, 8, -+ PP_GRAPHICS3DATTRIB_DEPTH_SIZE, 24, -+ PP_GRAPHICS3DATTRIB_STENCIL_SIZE, 8, -+ PP_GRAPHICS3DATTRIB_SAMPLES, 0, -+ PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS, 0, -+ PP_GRAPHICS3DATTRIB_WIDTH, width, -+ PP_GRAPHICS3DATTRIB_HEIGHT, height, -+ PP_GRAPHICS3DATTRIB_NONE -+ }; -+ _this->hidden->context3d = -+ g_nacl_graphics3d_interface->Create(g_nacl_pp_instance, 0, attribs); -+ -+ if (!g_nacl_instance_interface->BindGraphics(g_nacl_pp_instance, -+ _this->hidden->context3d)) { -+ fprintf(stderr, "***** Couldn't bind the graphic3d context *****\n"); -+ return NULL; -+ } -+ } else { -+ PP_Size size = PP_MakeSize(width, height); -+ _this->hidden->context2d = g_nacl_graphics2d_interface->Create( -+ g_nacl_pp_instance, &size, PP_FALSE /* is_always_opaque */); -+ assert(_this->hidden->context2d != 0); -+ -+ if (!g_nacl_instance_interface->BindGraphics(g_nacl_pp_instance, -+ _this->hidden->context2d)) { -+ fprintf(stderr, "***** Couldn't bind the graphic2d context *****\n"); -+ return NULL; -+ } -+ -+ if (_this->hidden->image_data) { -+ g_nacl_core_interface->ReleaseResource(_this->hidden->image_data); ++/* This is started in a worker thread by ppapi_simple! */ ++int ++main(int argc, char *argv[]) ++{ ++ SDL_TRACE("main\n"); ++ PSEvent* ps_event; ++ PP_Resource event; ++ struct PP_Rect rect; ++ int ready = 0; ++ const PPB_View *ppb_view = PSInterfaceView(); ++ ++ if (ProcessArgs(argc, argv) != 0) { ++ return 1; + } + -+ _this->hidden->image_data = g_nacl_image_data_interface->Create( -+ g_nacl_pp_instance, PP_IMAGEDATAFORMAT_BGRA_PREMUL, &size, -+ PP_FALSE /* init_to_zero */); -+ assert(_this->hidden->image_data != 0); -+ -+ current->pixels = -+ g_nacl_image_data_interface->Map(_this->hidden->image_data); -+ } -+ -+ /* Allocate the new pixel format for the screen */ -+ if (!SDL_ReallocFormat(current, bpp, 0xFF0000, 0xFF00, 0xFF, 0)) { -+ SDL_SetError("Couldn't allocate new pixel format for requested mode"); -+ return NULL; -+ } -+ -+ /* Set up the new mode framebuffer */ -+ current->flags = flags & (SDL_FULLSCREEN | SDL_OPENGL); -+ _this->hidden->bpp = bpp; -+ _this->hidden->w = current->w = width; -+ _this->hidden->h = current->h = height; -+ current->pitch = current->w * (bpp / 8); -+ -+ /* We're done */ -+ return current; -+} -+ -+static void NACL_UpdateRects(_THIS, int numrects, SDL_Rect *rects) { -+ if (_this->hidden->context2d == 0) // not initialized -+ return; -+ -+ assert(_this->hidden->image_data); -+ assert(_this->hidden->w > 0); -+ assert(_this->hidden->h > 0); -+ -+ // Clear alpha channel in the ImageData. -+ unsigned char *start = (unsigned char*)_this->screen->pixels; -+ unsigned char *end = -+ start + (_this->hidden->w * _this->hidden->h * _this->hidden->bpp / 8); -+ for (unsigned char *p = start + 3; p < end; p += 4) *p = 0xFF; -+ -+ // Flush on the main thread. -+ for (int i = 0; i < numrects; ++i) { -+ SDL_Rect &r = rects[i]; -+ PP_Point top_left = PP_MakePoint(0, 0); -+ PP_Rect src_rect = PP_MakeRectFromXYWH(r.x, r.y, r.w, r.h); -+ g_nacl_graphics2d_interface->PaintImageData(_this->hidden->context2d, -+ _this->hidden->image_data, -+ &top_left, &src_rect); -+ } -+ -+ g_nacl_graphics2d_interface->Flush(_this->hidden->context2d, -+ PP_BlockUntilComplete()); -+} -+ -+static void NACL_FreeWMCursor(_THIS, WMcursor *cursor) { -+ delete cursor; -+} -+ -+static WMcursor *NACL_CreateWMCursor(_THIS, Uint8 *data, Uint8 *mask, int w, -+ int h, int hot_x, int hot_y) { -+ return new WMcursor(); -+} -+ -+static int NACL_ShowWMCursor(_THIS, WMcursor *cursor) { -+ return 1; // Success! -+} -+ -+static void NACL_WarpWMCursor(_THIS, Uint16 x, Uint16 y) {} -+ -+/* Note: If we are terminated, this could be called in the middle of -+ another SDL video routine -- notably UpdateRects. -+*/ -+void NACL_VideoQuit(_THIS) { -+ if (_this->hidden->context2d) { -+ g_nacl_core_interface->ReleaseResource(_this->hidden->context2d); -+ _this->hidden->context2d = 0; -+ } -+ -+ if (_this->hidden->context3d) { -+ g_nacl_core_interface->ReleaseResource(_this->hidden->context3d); -+ _this->hidden->context3d = 0; -+ } -+ -+ if (_this->hidden->image_data) { -+ g_nacl_image_data_interface->Unmap(_this->hidden->image_data); -+ g_nacl_core_interface->ReleaseResource(_this->hidden->image_data); -+ _this->hidden->image_data = 0; -+ } -+ -+ // No need to free pixels as this is a pointer directly to -+ // the pixel data within the image_data. -+ _this->screen->pixels = NULL; -+} -+ -+#ifdef SDL_VIDEO_OPENGL_REGAL -+static void regalLogCallback(GLenum stream, GLsizei length, -+ const GLchar *message, GLvoid *context) { -+ fprintf(stderr, "regal: %s\n", message); -+} -+ -+static int NACL_GL_GetAttribute(_THIS, SDL_GLattr attrib, int *value) { -+ int unsupported = 0; -+ int nacl_attrib = 0; -+ -+ switch (attrib) { -+ case SDL_GL_RED_SIZE: -+ nacl_attrib = PP_GRAPHICS3DATTRIB_RED_SIZE; -+ break; -+ case SDL_GL_GREEN_SIZE: -+ nacl_attrib = PP_GRAPHICS3DATTRIB_GREEN_SIZE; -+ break; -+ case SDL_GL_BLUE_SIZE: -+ nacl_attrib = PP_GRAPHICS3DATTRIB_BLUE_SIZE; -+ break; -+ case SDL_GL_ALPHA_SIZE: -+ nacl_attrib = PP_GRAPHICS3DATTRIB_ALPHA_SIZE; -+ break; -+ case SDL_GL_DEPTH_SIZE: -+ nacl_attrib = PP_GRAPHICS3DATTRIB_DEPTH_SIZE; -+ break; -+ case SDL_GL_STENCIL_SIZE: -+ nacl_attrib = PP_GRAPHICS3DATTRIB_STENCIL_SIZE; -+ break; -+ case SDL_GL_MULTISAMPLEBUFFERS: -+ nacl_attrib = PP_GRAPHICS3DATTRIB_SAMPLE_BUFFERS; -+ break; -+ case SDL_GL_MULTISAMPLESAMPLES: -+ nacl_attrib = PP_GRAPHICS3DATTRIB_SAMPLES; -+ break; -+ // The rest of the these attributes are not part of PPAPI -+ case SDL_GL_DOUBLEBUFFER: -+ case SDL_GL_BUFFER_SIZE: -+ case SDL_GL_ACCUM_RED_SIZE: -+ case SDL_GL_ACCUM_GREEN_SIZE: -+ case SDL_GL_ACCUM_BLUE_SIZE: -+ case SDL_GL_ACCUM_ALPHA_SIZE: -+ case SDL_GL_STEREO: -+ case SDL_GL_ACCELERATED_VISUAL: -+ case SDL_GL_SWAP_CONTROL: -+ default: -+ unsupported = 1; -+ break; -+ } -+ -+ if (unsupported) { -+ SDL_SetError("OpenGL attribute is unsupported by NaCl: %d", attrib); -+ return -1; -+ } -+ -+ int32_t attribs[] = {nacl_attrib, 0, PP_GRAPHICS3DATTRIB_NONE, }; -+ -+ int retval = g_nacl_graphics3d_interface->GetAttribs(_this->hidden->context3d, -+ attribs); -+ if (retval != PP_OK) { -+ // TODO(sbc): GetAttribs seems to always return PP_ERROR_FAILED(-2). -+ // fprintf(stderr, "SDL: GetAttribs failed %#x -> %d\n", nacl_attrib, -+ // retval); -+ SDL_SetError("Error getting OpenGL attribute (%d) from NaCl: %d", attrib, -+ retval); -+ return -1; -+ } -+ -+ *value = attribs[1]; -+ return 0; -+} -+ -+static int NACL_GL_MakeCurrent(_THIS) { -+ if (!_this->hidden->context3d) { -+ assert(_this->hidden->context3d); -+ SDL_SetError("GL_MakeCurrent called without an OpenGL video mode set"); -+ return -1; -+ } -+ fprintf(stderr, "SDL: making GL context current\n"); -+ glSetCurrentContextPPAPI(_this->hidden->context3d); -+ -+ RegalMakeCurrent(_this->hidden->context3d, -+ (PPB_OpenGLES2 *)g_nacl_opengles2_interface); -+ glLogMessageCallbackREGAL(regalLogCallback); -+ return 0; -+} -+ -+static void NACL_GL_SwapBuffers(_THIS) { -+ if (!_this->hidden->context3d) { -+ assert(_this->hidden->context3d); -+ fprintf(stderr, -+ "SDL: GL_SwapBuffers called without an OpenGL video mode set\n"); -+ return; -+ } -+ g_nacl_graphics3d_interface->SwapBuffers(_this->hidden->context3d, -+ PP_BlockUntilComplete()); -+} -+#endif -+ -+} // extern "C" -diff --git a/src/video/nacl/SDL_naclvideo.h b/src/video/nacl/SDL_naclvideo.h -new file mode 100644 -index 0000000..7dde7dd ---- /dev/null -+++ b/src/video/nacl/SDL_naclvideo.h -@@ -0,0 +1,36 @@ -+#include "SDL_config.h" -+ -+#ifndef _SDL_naclvideo_h -+#define _SDL_naclvideo_h -+ -+extern "C" { -+#include "../SDL_sysvideo.h" -+#include "SDL_mutex.h" -+} -+ -+#include <ppapi/cpp/instance.h> -+#include <ppapi/cpp/graphics_2d.h> -+#include <ppapi/cpp/graphics_3d.h> -+#include <vector> -+ -+ -+/* Hidden "this" pointer for the video functions */ -+#define _THIS SDL_VideoDevice *_this -+ -+ -+/* Private display data */ -+ -+struct SDL_PrivateVideoData { -+ int bpp; -+ int w, h; -+ void *buffer; -+ -+ int ow, oh; // plugin output dimensions -+ int fsw, fsh; // fullscreen dimensions -+ -+ PP_Resource image_data; -+ PP_Resource context2d; // The PPAPI 2D drawing context. -+ PP_Resource context3d; // The PPAPI 3D drawing context. -+}; -+ -+#endif /* _SDL_naclvideo_h */ -diff --git a/src/video/nacl/eventqueue.h b/src/video/nacl/eventqueue.h -new file mode 100644 -index 0000000..0a6a0cd ---- /dev/null -+++ b/src/video/nacl/eventqueue.h -@@ -0,0 +1,40 @@ -+#ifndef _SDL_nacl_eventqueue_h -+#define _SDL_nacl_eventqueue_h -+ -+#include "SDL_mutex.h" -+ -+#include <queue> -+ -+class EventQueue { -+public: -+ EventQueue() { -+ mu_ = SDL_CreateMutex(); -+ } -+ -+ ~EventQueue() { -+ SDL_DestroyMutex(mu_); -+ } -+ -+ SDL_Event* PopEvent() { -+ SDL_LockMutex(mu_); -+ SDL_Event* event = NULL; -+ if (!queue_.empty()) { -+ event = queue_.front(); -+ queue_.pop(); ++ /* Wait for the first PSE_INSTANCE_DIDCHANGEVIEW event before starting the app */ ++ PSEventSetFilter(PSE_INSTANCE_DIDCHANGEVIEW); ++ /* Process all waiting events without blocking */ ++ while (!ready) { ++ ps_event = PSEventWaitAcquire(); ++ event = ps_event->as_resource; ++ switch(ps_event->type) { ++ /* From DidChangeView, contains a view resource */ ++ case PSE_INSTANCE_DIDCHANGEVIEW: ++ ppb_view->GetRect(event, &rect); ++ NACL_SetScreenResolution(rect.size.width, rect.size.height); ++ ready = 1; ++ break; ++ default: ++ break; ++ } ++ PSEventRelease(ps_event); + } -+ SDL_UnlockMutex(mu_); -+ return event; -+ } -+ -+ void PushEvent(SDL_Event* event) { -+ SDL_LockMutex(mu_); -+ queue_.push(event); -+ SDL_UnlockMutex(mu_); -+ } -+ -+private: -+ std::queue<SDL_Event*> queue_; -+ SDL_mutex* mu_; -+}; -+ -+#endif // _SDL_nacl_eventqueue_h -diff --git a/test/configure b/test/configure -index 30b56b6..10046ec 100755 ---- a/test/configure -+++ b/test/configure -@@ -1,18 +1,20 @@ - #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. --# Generated by GNU Autoconf 2.63. -+# Generated by GNU Autoconf 2.69. -+# -+# -+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -+# - # --# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, --# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - # This configure script is free software; the Free Software Foundation - # gives unlimited permission to copy, distribute and modify it. --## --------------------- ## --## M4sh Initialization. ## --## --------------------- ## -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## - - # Be more Bourne compatible - DUALCASE=1; export DUALCASE # for MKS sh --if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -@@ -20,23 +22,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST - else -- case `(set -o) 2>/dev/null` in -- *posix*) set -o posix ;; -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; - esac -- - fi - - -- -- --# PATH needs CR --# Avoid depending upon Character Ranges. --as_cr_letters='abcdefghijklmnopqrstuvwxyz' --as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' --as_cr_Letters=$as_cr_letters$as_cr_LETTERS --as_cr_digits='0123456789' --as_cr_alnum=$as_cr_Letters$as_cr_digits -- - as_nl=' - ' - export as_nl -@@ -44,7 +38,13 @@ export as_nl - as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo - as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo --if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' - else -@@ -55,7 +55,7 @@ else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; -- case $arg in -+ case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -@@ -78,13 +78,6 @@ if test "${PATH_SEPARATOR+set}" != set; then - } - fi - --# Support unset when possible. --if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then -- as_unset=unset --else -- as_unset=false --fi -- - - # IFS - # We need space, tab and new line, in precisely that order. Quoting is -@@ -94,15 +87,16 @@ fi - IFS=" "" $as_nl" - - # Find who we are. Look in the path if we contain no directory separator. --case $0 in -+as_myself= -+case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR - for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break --done -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done - IFS=$as_save_IFS - - ;; -@@ -114,12 +108,16 @@ if test "x$as_myself" = x; then - fi - if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -- { (exit 1); exit 1; } -+ exit 1 - fi - --# Work around bugs in pre-3.0 UWIN ksh. --for as_var in ENV MAIL MAILPATH --do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : - done - PS1='$ ' - PS2='> ' -@@ -131,330 +129,343 @@ export LC_ALL - LANGUAGE=C - export LANGUAGE - --# Required to use basename. --if expr a : '\(a\)' >/dev/null 2>&1 && -- test "X`expr 00001 : '.*\(...\)'`" = X001; then -- as_expr=expr --else -- as_expr=false --fi -- --if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -- as_basename=basename --else -- as_basename=false --fi -- -- --# Name of the executable. --as_me=`$as_basename -- "$0" || --$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -- X"$0" : 'X\(//\)$' \| \ -- X"$0" : 'X\(/\)' \| . 2>/dev/null || --$as_echo X/"$0" | -- sed '/^.*\/\([^/][^/]*\)\/*$/{ -- s//\1/ -- q -- } -- /^X\/\(\/\/\)$/{ -- s//\1/ -- q -- } -- /^X\/\(\/\).*/{ -- s//\1/ -- q -- } -- s/.*/./; q'` -- - # CDPATH. --$as_unset CDPATH -- -- -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+# Use a proper internal environment variable to ensure we don't fall -+ # into an infinite loop, continuously re-executing ourselves. -+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then -+ _as_can_reexec=no; export _as_can_reexec; -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; -+esac -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+as_fn_exit 255 -+ fi -+ # We don't want this to propagate to other subprocesses. -+ { _as_can_reexec=; unset _as_can_reexec;} - if test "x$CONFIG_SHELL" = x; then -- if (eval ":") 2>/dev/null; then -- as_have_required=yes -+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : -+ emulate sh -+ NULLCMD=: -+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which -+ # is contrary to our usage. Disable this feature. -+ alias -g '\${1+\"\$@\"}'='\"\$@\"' -+ setopt NO_GLOB_SUBST - else -- as_have_required=no -+ case \`(set -o) 2>/dev/null\` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; -+esac - fi -- -- if test $as_have_required = yes && (eval ": --(as_func_return () { -- (exit \$1) --} --as_func_success () { -- as_func_return 0 --} --as_func_failure () { -- as_func_return 1 --} --as_func_ret_success () { -- return 0 --} --as_func_ret_failure () { -- return 1 --} -+" -+ as_required="as_fn_return () { (exit \$1); } -+as_fn_success () { as_fn_return 0; } -+as_fn_failure () { as_fn_return 1; } -+as_fn_ret_success () { return 0; } -+as_fn_ret_failure () { return 1; } - - exitcode=0 --if as_func_success; then -- : --else -- exitcode=1 -- echo as_func_success failed. --fi -+as_fn_success || { exitcode=1; echo as_fn_success failed.; } -+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - --if as_func_failure; then -- exitcode=1 -- echo as_func_failure succeeded. --fi -- --if as_func_ret_success; then -- : - else -- exitcode=1 -- echo as_func_ret_success failed. --fi -- --if as_func_ret_failure; then -- exitcode=1 -- echo as_func_ret_failure succeeded. --fi -- --if ( set x; as_func_ret_success y && test x = \"\$1\" ); then -- : -+ exitcode=1; echo positional parameters were not saved. -+fi -+test x\$exitcode = x0 || exit 1 -+test -x / || exit 1" -+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO -+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO -+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && -+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" -+ if (eval "$as_required") 2>/dev/null; then : -+ as_have_required=yes - else -- exitcode=1 -- echo positional parameters were not saved. -+ as_have_required=no - fi -+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - --test \$exitcode = 0) || { (exit 1); exit 1; } -- --( -- as_lineno_1=\$LINENO -- as_lineno_2=\$LINENO -- test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && -- test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } --") 2> /dev/null; then -- : - else -- as_candidate_shells= -- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+as_found=false - for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- case $as_dir in -+ as_found=: -+ case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do -- as_candidate_shells="$as_candidate_shells $as_dir/$as_base" -+ # Try only shells that exist, to save several forks. -+ as_shell=$as_dir/$as_base -+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ CONFIG_SHELL=$as_shell as_have_required=yes -+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : -+ break 2 -+fi -+fi - done;; - esac -+ as_found=false - done -+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && -+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : -+ CONFIG_SHELL=$SHELL as_have_required=yes -+fi; } - IFS=$as_save_IFS - - -- for as_shell in $as_candidate_shells $SHELL; do -- # Try only shells that exist, to save several forks. -- if { test -f "$as_shell" || test -f "$as_shell.exe"; } && -- { ("$as_shell") 2> /dev/null <<\_ASEOF --if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -- emulate sh -- NULLCMD=: -- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -- # is contrary to our usage. Disable this feature. -- alias -g '${1+"$@"}'='"$@"' -- setopt NO_GLOB_SUBST --else -- case `(set -o) 2>/dev/null` in -- *posix*) set -o posix ;; --esac -- --fi -- -- --: --_ASEOF --}; then -- CONFIG_SHELL=$as_shell -- as_have_required=yes -- if { "$as_shell" 2> /dev/null <<\_ASEOF --if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -- emulate sh -- NULLCMD=: -- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -- # is contrary to our usage. Disable this feature. -- alias -g '${1+"$@"}'='"$@"' -- setopt NO_GLOB_SUBST --else -- case `(set -o) 2>/dev/null` in -- *posix*) set -o posix ;; -+ if test "x$CONFIG_SHELL" != x; then : -+ export CONFIG_SHELL -+ # We cannot yet assume a decent shell, so we have to provide a -+# neutralization value for shells without unset; and this also -+# works around shells that cannot unset nonexistent variables. -+# Preserve -v and -x to the replacement shell. -+BASH_ENV=/dev/null -+ENV=/dev/null -+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -+case $- in # (((( -+ *v*x* | *x*v* ) as_opts=-vx ;; -+ *v* ) as_opts=-v ;; -+ *x* ) as_opts=-x ;; -+ * ) as_opts= ;; - esac -- --fi -- -- --: --(as_func_return () { -- (exit $1) --} --as_func_success () { -- as_func_return 0 --} --as_func_failure () { -- as_func_return 1 --} --as_func_ret_success () { -- return 0 --} --as_func_ret_failure () { -- return 1 --} -- --exitcode=0 --if as_func_success; then -- : --else -- exitcode=1 -- echo as_func_success failed. --fi -- --if as_func_failure; then -- exitcode=1 -- echo as_func_failure succeeded. --fi -- --if as_func_ret_success; then -- : --else -- exitcode=1 -- echo as_func_ret_success failed. --fi -- --if as_func_ret_failure; then -- exitcode=1 -- echo as_func_ret_failure succeeded. --fi -- --if ( set x; as_func_ret_success y && test x = "$1" ); then -- : --else -- exitcode=1 -- echo positional parameters were not saved. -+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -+# Admittedly, this is quite paranoid, since all the known shells bail -+# out after a failed `exec'. -+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -+exit 255 -+fi -+ -+ if test x$as_have_required = xno; then : -+ $as_echo "$0: This script requires a shell more modern than all" -+ $as_echo "$0: the shells that I found on your system." -+ if test x${ZSH_VERSION+set} = xset ; then -+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" -+ $as_echo "$0: be upgraded to zsh 4.3.4 or later." -+ else -+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -+$0: including any error possibly output before this -+$0: message. Then install a modern shell, or manually run -+$0: the script under such a shell if you do have one." -+ fi -+ exit 1 - fi -- --test $exitcode = 0) || { (exit 1); exit 1; } -- --( -- as_lineno_1=$LINENO -- as_lineno_2=$LINENO -- test "x$as_lineno_1" != "x$as_lineno_2" && -- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } -- --_ASEOF --}; then -- break - fi -- - fi -+SHELL=${CONFIG_SHELL-/bin/sh} -+export SHELL -+# Unset more variables known to interfere with behavior of common tools. -+CLICOLOR_FORCE= GREP_OPTIONS= -+unset CLICOLOR_FORCE GREP_OPTIONS - -- done -- -- if test "x$CONFIG_SHELL" != x; then -- for as_var in BASH_ENV ENV -- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -- done -- export CONFIG_SHELL -- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} --fi -+## --------------------- ## -+## M4sh Shell Functions. ## -+## --------------------- ## -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset - -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status - -- if test $as_have_required = no; then -- echo This script requires a shell more modern than all the -- echo shells that I found on your system. Please install a -- echo modern shell, or manually run the script under such a -- echo shell if you do have one. -- { (exit 1); exit 1; } --fi -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ - -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - --fi - --fi -+} # as_fn_mkdir_p - -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append + -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith - - --(eval "as_func_return () { -- (exit \$1) --} --as_func_success () { -- as_func_return 0 --} --as_func_failure () { -- as_func_return 1 --} --as_func_ret_success () { -- return 0 --} --as_func_ret_failure () { -- return 1 --} -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error - --exitcode=0 --if as_func_success; then -- : -+if expr a : '\(a\)' >/dev/null 2>&1 && -+ test "X`expr 00001 : '.*\(...\)'`" = X001; then -+ as_expr=expr - else -- exitcode=1 -- echo as_func_success failed. --fi -- --if as_func_failure; then -- exitcode=1 -- echo as_func_failure succeeded. -+ as_expr=false - fi - --if as_func_ret_success; then -- : -+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then -+ as_basename=basename - else -- exitcode=1 -- echo as_func_ret_success failed. --fi -- --if as_func_ret_failure; then -- exitcode=1 -- echo as_func_ret_failure succeeded. -+ as_basename=false - fi - --if ( set x; as_func_ret_success y && test x = \"\$1\" ); then -- : -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname - else -- exitcode=1 -- echo positional parameters were not saved. -+ as_dirname=false - fi - --test \$exitcode = 0") || { -- echo No shell found that supports shell functions. -- echo Please tell bug-autoconf@gnu.org about your system, -- echo including any error possibly output before this message. -- echo This can help us improve future autoconf versions. -- echo Configuration will now proceed without shell functions. --} -- -+as_me=`$as_basename -- "$0" || -+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ -+ X"$0" : 'X\(//\)$' \| \ -+ X"$0" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X/"$0" | -+ sed '/^.*\/\([^/][^/]*\)\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\/\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` - -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits - -- as_lineno_1=$LINENO -- as_lineno_2=$LINENO -- test "x$as_lineno_1" != "x$as_lineno_2" && -- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - -- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO -- # uniformly replaced by the line number. The first 'sed' inserts a -- # line-number line after each line using $LINENO; the second 'sed' -- # does the real work. The second script uses 'N' to pair each -- # line-number line with the line containing $LINENO, and appends -- # trailing '-' during substitution so that $LINENO is not a special -- # case at line end. -- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the -- # scripts with optimization help from Paolo Bonzini. Blame Lee -- # E. McMahon (1931-1989) for sed's syntax. :-) -+ as_lineno_1=$LINENO as_lineno_1a=$LINENO -+ as_lineno_2=$LINENO as_lineno_2a=$LINENO -+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && -+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { -+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= -@@ -471,9 +482,12 @@ test \$exitcode = 0") || { - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || -- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 -- { (exit 1); exit 1; }; } -+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - -+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have -+ # already done that, so ensure we don't try to do so again and fall -+ # in an infinite loop. This has already happened in practice. -+ _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). -@@ -482,29 +496,18 @@ test \$exitcode = 0") || { - exit ++ mount("", /* source */ ++ "/persistent", /* target */ ++ "html5fs", /* filesystemtype */ ++ 0, /* mountflags */ ++ "type=PERSISTENT,expected_size=1048576"); /* data */ ++ ++ mount("", /* source. Use relative URL */ ++ "/http", /* target */ ++ "httpfs", /* filesystemtype */ ++ 0, /* mountflags */ ++ ""); /* data */ ++ ++ return SDL_main(argc, argv); ++} ++ ++#endif /* SDL_VIDEO_DRIVER_NACL */ +diff --git a/src/events/SDL_keyboard.c b/src/events/SDL_keyboard.c +index 5753927..da37fe6 100644 +--- a/src/events/SDL_keyboard.c ++++ b/src/events/SDL_keyboard.c +@@ -371,6 +371,13 @@ Uint8 * SDL_GetKeyState (int *numkeys) + *numkeys = SDLK_LAST; + return(SDL_KeyState); } - -- --if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -- as_dirname=dirname --else -- as_dirname=false --fi -- - ECHO_C= ECHO_N= ECHO_T= --case `echo -n x` in -+case `echo -n x` in #((((( - -n*) -- case `echo 'x\c'` in -+ case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. -- *) ECHO_C='\c';; -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; - esac;; - *) - ECHO_N='-n';; - esac --if expr a : '\(a\)' >/dev/null 2>&1 && -- test "X`expr 00001 : '.*\(...\)'`" = X001; then -- as_expr=expr --else -- as_expr=false --fi - - rm -f conf$$ conf$$.exe conf$$.file - if test -d conf$$.dir; then -@@ -519,49 +522,29 @@ if (echo >conf$$.file) 2>/dev/null; then - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -- # In both cases, we have to default to `cp -p'. -+ # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -- as_ln_s='cp -p' -+ as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else -- as_ln_s='cp -p' -+ as_ln_s='cp -pR' - fi - else -- as_ln_s='cp -p' -+ as_ln_s='cp -pR' - fi - rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file - rmdir conf$$.dir 2>/dev/null - - if mkdir -p . 2>/dev/null; then -- as_mkdir_p=: -+ as_mkdir_p='mkdir -p "$as_dir"' - else - test -d ./-p && rmdir ./-p - as_mkdir_p=false - fi - --if test -x / >/dev/null 2>&1; then -- as_test_x='test -x' --else -- if ls -dL / >/dev/null 2>&1; then -- as_ls_L_option=L -- else -- as_ls_L_option= -- fi -- as_test_x=' -- eval sh -c '\'' -- if test -d "$1"; then -- test -d "$1/."; -- else -- case $1 in -- -*)set "./$1";; -- esac; -- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in -- ???[sx]*):;;*)false;;esac;fi -- '\'' sh -- ' --fi --as_executable_p=$as_test_x -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p - - # Sed expression to map a string onto a valid CPP name. - as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -@@ -570,11 +553,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -- --exec 7<&0 </dev/null 6>&1 -+test -n "$DJDIR" || exec 7<&0 </dev/null -+exec 6>&1 - - # Name of the host. --# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, - # so uname gets run too. - ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -@@ -589,7 +572,6 @@ cross_compiling=no - subdirs= - MFLAGS= - MAKEFLAGS= --SHELL=${CONFIG_SHELL-/bin/sh} - - # Identity of this package. - PACKAGE_NAME= -@@ -597,6 +579,7 @@ PACKAGE_TARNAME= - PACKAGE_VERSION= - PACKAGE_STRING= - PACKAGE_BUGREPORT= -+PACKAGE_URL= - - ac_unique_file="README" - ac_subst_vars='LTLIBOBJS -@@ -655,6 +638,7 @@ bindir - program_transform_name - prefix - exec_prefix -+PACKAGE_URL - PACKAGE_BUGREPORT - PACKAGE_STRING - PACKAGE_VERSION -@@ -742,8 +726,9 @@ do - fi - - case $ac_option in -- *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -- *) ac_optarg=yes ;; -+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; -+ *=) ac_optarg= ;; -+ *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. -@@ -788,8 +773,7 @@ do - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -- { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 -- { (exit 1); exit 1; }; } -+ as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in -@@ -815,8 +799,7 @@ do - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -- { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 -- { (exit 1); exit 1; }; } -+ as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in -@@ -1020,8 +1003,7 @@ do - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -- { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 -- { (exit 1); exit 1; }; } -+ as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in -@@ -1037,8 +1019,7 @@ do - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && -- { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 -- { (exit 1); exit 1; }; } -+ as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in -@@ -1068,17 +1049,17 @@ do - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - -- -*) { $as_echo "$as_me: error: unrecognized option: $ac_option --Try \`$0 --help' for more information." >&2 -- { (exit 1); exit 1; }; } -+ -*) as_fn_error $? "unrecognized option: \`$ac_option' -+Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. -- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && -- { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 -- { (exit 1); exit 1; }; } -+ case $ac_envvar in #( -+ '' | [0-9]* | *[!_$as_cr_alnum]* ) -+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; -+ esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - -@@ -1087,7 +1068,7 @@ Try \`$0 --help' for more information." >&2 - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 -- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} -+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -@@ -1095,15 +1076,13 @@ done - - if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` -- { $as_echo "$as_me: error: missing argument to $ac_option" >&2 -- { (exit 1); exit 1; }; } -+ as_fn_error $? "missing argument to $ac_option" - fi - - if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; -- fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 -- { (exit 1); exit 1; }; } ;; -+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac - fi -@@ -1126,8 +1105,7 @@ do - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac -- { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 -- { (exit 1); exit 1; }; } -+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" - done - - # There might be people who depend on the old broken behavior: `$host' -@@ -1141,8 +1119,6 @@ target=$target_alias - if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe -- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. -- If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -@@ -1157,11 +1133,9 @@ test "$silent" = yes && exec 6>/dev/null - ac_pwd=`pwd` && test -n "$ac_pwd" && - ac_ls_di=`ls -di .` && - ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -- { $as_echo "$as_me: error: working directory cannot be determined" >&2 -- { (exit 1); exit 1; }; } -+ as_fn_error $? "working directory cannot be determined" - test "X$ac_ls_di" = "X$ac_pwd_ls_di" || -- { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 -- { (exit 1); exit 1; }; } -+ as_fn_error $? "pwd does not report name of working directory" - - - # Find the source files, if location was not specified. -@@ -1200,13 +1174,11 @@ else - fi - if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." -- { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 -- { (exit 1); exit 1; }; } -+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" - fi - ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" - ac_abs_confdir=`( -- cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2 -- { (exit 1); exit 1; }; } -+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` - # When building in place, set srcdir=. - if test "$ac_abs_confdir" = "$ac_pwd"; then -@@ -1246,7 +1218,7 @@ Configuration: - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit -- -q, --quiet, --silent do not print \`checking...' messages -+ -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files -@@ -1322,7 +1294,7 @@ Some influential environment variables: - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - LIBS libraries to pass to the linker, e.g. -l<library> -- CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if -+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if - you have headers in a nonstandard directory <include dir> - XMKMF Path to xmkmf, Makefile generator for X Window System - CPP C preprocessor -@@ -1330,6 +1302,7 @@ Some influential environment variables: - Use these variables to override the choices made by `configure' or to help - it to find libraries and programs with nonstandard names/locations. - -+Report bugs to the package provider. - _ACEOF - ac_status=$? - fi -@@ -1393,21 +1366,187 @@ test -n "$ac_init_help" && exit $ac_status - if $ac_init_version; then - cat <<\_ACEOF - configure --generated by GNU Autoconf 2.63 -+generated by GNU Autoconf 2.69 - --Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, --2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -+Copyright (C) 2012 Free Software Foundation, Inc. - This configure script is free software; the Free Software Foundation - gives unlimited permission to copy, distribute and modify it. - _ACEOF - exit - fi -+ -+## ------------------------ ## -+## Autoconf initialization. ## -+## ------------------------ ## -+ -+# ac_fn_c_try_compile LINENO -+# -------------------------- -+# Try to compile conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_compile () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ rm -f conftest.$ac_objext -+ if { { ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_compile") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval + -+} # ac_fn_c_try_compile -+ -+# ac_fn_c_try_run LINENO -+# ---------------------- -+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -+# that executables *can* be run. -+ac_fn_c_try_run () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ if { { ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' -+ { { case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: program exited with status $ac_status" >&5 -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=$ac_status -+fi -+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval -+ -+} # ac_fn_c_try_run -+ -+# ac_fn_c_try_link LINENO -+# ----------------------- -+# Try to link conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_link () ++// private (used in naclevents.c) ++void SDL_SetKeyState (SDLKey key, Uint8 state) +{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ rm -f conftest.$ac_objext conftest$ac_exeext -+ if { { ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_link") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ test -x conftest$ac_exeext -+ }; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=1 -+fi -+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information -+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would -+ # interfere with the next link command; also delete a directory that is -+ # left behind by Apple's compiler. We do this before executing the actions. -+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval -+ -+} # ac_fn_c_try_link -+ -+# ac_fn_c_try_cpp LINENO -+# ---------------------- -+# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_cpp () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ if { { ac_try="$ac_cpp conftest.$ac_ext" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } > conftest.i && { -+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -+ test ! -s conftest.err -+ }; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -+ as_fn_set_status $ac_retval -+ -+} # ac_fn_c_try_cpp - cat >config.log <<_ACEOF - This file contains any messages produced by compilers while - running configure, to aid debugging if configure makes a mistake. - - It was created by $as_me, which was --generated by GNU Autoconf 2.63. Invocation command line was -+generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -@@ -1443,8 +1582,8 @@ for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- $as_echo "PATH: $as_dir" --done -+ $as_echo "PATH: $as_dir" -+ done - IFS=$as_save_IFS - - } >&5 -@@ -1481,9 +1620,9 @@ do - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in -- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; -+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) -- ac_configure_args1="$ac_configure_args1 '$ac_arg'" -+ as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else -@@ -1499,13 +1638,13 @@ do - -* ) ac_must_keep_next=true ;; - esac - fi -- ac_configure_args="$ac_configure_args '$ac_arg'" -+ as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done - done --$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } --$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } -+{ ac_configure_args0=; unset ac_configure_args0;} -+{ ac_configure_args1=; unset ac_configure_args1;} - - # When interrupted or exit'd, cleanup temporary files, and complete - # config.log. We remove comments because anyway the quotes in there -@@ -1517,11 +1656,9 @@ trap 'exit_status=$? - { - echo - -- cat <<\_ASBOX --## ---------------- ## -+ $as_echo "## ---------------- ## - ## Cache variables. ## --## ---------------- ## --_ASBOX -+## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, - ( -@@ -1530,13 +1667,13 @@ _ASBOX - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( -- *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 - $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -- *) $as_unset $ac_var ;; -+ *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done -@@ -1555,11 +1692,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - ) - echo - -- cat <<\_ASBOX --## ----------------- ## -+ $as_echo "## ----------------- ## - ## Output variables. ## --## ----------------- ## --_ASBOX -+## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do -@@ -1572,11 +1707,9 @@ _ASBOX - echo - - if test -n "$ac_subst_files"; then -- cat <<\_ASBOX --## ------------------- ## -+ $as_echo "## ------------------- ## - ## File substitutions. ## --## ------------------- ## --_ASBOX -+## ------------------- ##" - echo - for ac_var in $ac_subst_files - do -@@ -1590,11 +1723,9 @@ _ASBOX - fi - - if test -s confdefs.h; then -- cat <<\_ASBOX --## ----------- ## -+ $as_echo "## ----------- ## - ## confdefs.h. ## --## ----------- ## --_ASBOX -+## ----------- ##" - echo - cat confdefs.h - echo -@@ -1608,46 +1739,53 @@ _ASBOX - exit $exit_status - ' 0 - for ac_signal in 1 2 13 15; do -- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal - done - ac_signal=0 - - # confdefs.h avoids OS command line length limits that DEFS can exceed. - rm -f -r conftest* confdefs.h - -+$as_echo "/* confdefs.h */" > confdefs.h -+ - # Predefined preprocessor variables. - - cat >>confdefs.h <<_ACEOF - #define PACKAGE_NAME "$PACKAGE_NAME" - _ACEOF - -- - cat >>confdefs.h <<_ACEOF - #define PACKAGE_TARNAME "$PACKAGE_TARNAME" - _ACEOF - -- - cat >>confdefs.h <<_ACEOF - #define PACKAGE_VERSION "$PACKAGE_VERSION" - _ACEOF - -- - cat >>confdefs.h <<_ACEOF - #define PACKAGE_STRING "$PACKAGE_STRING" - _ACEOF - -- - cat >>confdefs.h <<_ACEOF - #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" - _ACEOF - -+cat >>confdefs.h <<_ACEOF -+#define PACKAGE_URL "$PACKAGE_URL" -+_ACEOF -+ - - # Let the site file select an alternate cache file if it wants to. - # Prefer an explicitly selected file to automatically selected ones. - ac_site_file1=NONE - ac_site_file2=NONE - if test -n "$CONFIG_SITE"; then -- ac_site_file1=$CONFIG_SITE -+ # We do not want a PATH search for config.site. -+ case $CONFIG_SITE in #(( -+ -*) ac_site_file1=./$CONFIG_SITE;; -+ */*) ac_site_file1=$CONFIG_SITE;; -+ *) ac_site_file1=./$CONFIG_SITE;; -+ esac - elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -@@ -1658,19 +1796,23 @@ fi - for ac_site_file in "$ac_site_file1" "$ac_site_file2" - do - test "x$ac_site_file" = xNONE && continue -- if test -r "$ac_site_file"; then -- { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 - $as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 -- . "$ac_site_file" -+ . "$ac_site_file" \ -+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "failed to load site script $ac_site_file -+See \`config.log' for more details" "$LINENO" 5; } - fi - done - - if test -r "$cache_file"; then -- # Some versions of bash will fail to source /dev/null (special -- # files actually), so we avoid doing that. -- if test -f "$cache_file"; then -- { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 -+ # Some versions of bash will fail to source /dev/null (special files -+ # actually), so we avoid doing that. DJGPP emulates it as a regular file. -+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 - $as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; -@@ -1678,7 +1820,7 @@ $as_echo "$as_me: loading cache $cache_file" >&6;} - esac - fi - else -- { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 - $as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file - fi -@@ -1693,11 +1835,11 @@ for ac_var in $ac_precious_vars; do - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) -- { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 - $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) -- { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 - $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; -@@ -1707,17 +1849,17 @@ $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then -- { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 - $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else -- { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 - $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi -- { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 - $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} -- { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 - $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac -@@ -1729,35 +1871,20 @@ $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. -- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; -+ *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi - done - if $ac_cache_corrupted; then -- { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 - $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -- { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 - $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} -- { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 --$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 - fi -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -+## -------------------- ## -+## Main body of script. ## -+## -------------------- ## - - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' -@@ -1784,9 +1911,7 @@ for ac_dir in $srcdir/../build-scripts; do - fi - done - if test -z "$ac_aux_dir"; then -- { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir/../build-scripts" >&5 --$as_echo "$as_me: error: cannot find install-sh or install.sh in $srcdir/../build-scripts" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $srcdir/../build-scripts" "$LINENO" 5 - fi - - # These three variables are undocumented and unsupported, -@@ -1800,35 +1925,27 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - # Make sure we can run config.sub. - $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || -- { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 --$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - --{ $as_echo "$as_me:$LINENO: checking build system type" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 - $as_echo_n "checking build system type... " >&6; } --if test "${ac_cv_build+set}" = set; then -+if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 - else - ac_build_alias=$build_alias - test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` - test "x$ac_build_alias" = x && -- { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 --$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 - ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || -- { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 --$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - - fi --{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 - $as_echo "$ac_cv_build" >&6; } - case $ac_cv_build in - *-*-*) ;; --*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 --$as_echo "$as_me: error: invalid value of canonical build" >&2;} -- { (exit 1); exit 1; }; };; -+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; - esac - build=$ac_cv_build - ac_save_IFS=$IFS; IFS='-' -@@ -1844,28 +1961,24 @@ IFS=$ac_save_IFS - case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - --{ $as_echo "$as_me:$LINENO: checking host system type" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 - $as_echo_n "checking host system type... " >&6; } --if test "${ac_cv_host+set}" = set; then -+if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 - else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build - else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || -- { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 --$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 - fi - - fi --{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 - $as_echo "$ac_cv_host" >&6; } - case $ac_cv_host in - *-*-*) ;; --*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 --$as_echo "$as_me: error: invalid value of canonical host" >&2;} -- { (exit 1); exit 1; }; };; -+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; - esac - host=$ac_cv_host - ac_save_IFS=$IFS; IFS='-' -@@ -1891,9 +2004,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. - set dummy ${ac_tool_prefix}gcc; ac_word=$2 --{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if test "${ac_cv_prog_CC+set}" = set; then -+if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 - else - if test -n "$CC"; then -@@ -1904,24 +2017,24 @@ for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" -- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done --done -+ done - IFS=$as_save_IFS - - fi - fi - CC=$ac_cv_prog_CC - if test -n "$CC"; then -- { $as_echo "$as_me:$LINENO: result: $CC" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 - $as_echo "$CC" >&6; } - else -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -1931,9 +2044,9 @@ if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. - set dummy gcc; ac_word=$2 --{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -+if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 - else - if test -n "$ac_ct_CC"; then -@@ -1944,24 +2057,24 @@ for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" -- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done --done -+ done - IFS=$as_save_IFS - - fi - fi - ac_ct_CC=$ac_cv_prog_ac_ct_CC - if test -n "$ac_ct_CC"; then -- { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 - $as_echo "$ac_ct_CC" >&6; } - else -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -1970,7 +2083,7 @@ fi - else - case $cross_compiling:$ac_tool_warned in - yes:) --{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 - $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} - ac_tool_warned=yes ;; - esac -@@ -1984,9 +2097,9 @@ if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. - set dummy ${ac_tool_prefix}cc; ac_word=$2 --{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if test "${ac_cv_prog_CC+set}" = set; then -+if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 - else - if test -n "$CC"; then -@@ -1997,24 +2110,24 @@ for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" -- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done --done -+ done - IFS=$as_save_IFS - - fi - fi - CC=$ac_cv_prog_CC - if test -n "$CC"; then -- { $as_echo "$as_me:$LINENO: result: $CC" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 - $as_echo "$CC" >&6; } - else -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -2024,9 +2137,9 @@ fi - if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. - set dummy cc; ac_word=$2 --{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if test "${ac_cv_prog_CC+set}" = set; then -+if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 - else - if test -n "$CC"; then -@@ -2038,18 +2151,18 @@ for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" -- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done --done -+ done - IFS=$as_save_IFS - - if test $ac_prog_rejected = yes; then -@@ -2068,10 +2181,10 @@ fi - fi - CC=$ac_cv_prog_CC - if test -n "$CC"; then -- { $as_echo "$as_me:$LINENO: result: $CC" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 - $as_echo "$CC" >&6; } - else -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -2083,9 +2196,9 @@ if test -z "$CC"; then - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. - set dummy $ac_tool_prefix$ac_prog; ac_word=$2 --{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if test "${ac_cv_prog_CC+set}" = set; then -+if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 - else - if test -n "$CC"; then -@@ -2096,24 +2209,24 @@ for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done --done -+ done - IFS=$as_save_IFS - - fi - fi - CC=$ac_cv_prog_CC - if test -n "$CC"; then -- { $as_echo "$as_me:$LINENO: result: $CC" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 - $as_echo "$CC" >&6; } - else -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -2127,9 +2240,9 @@ if test -z "$CC"; then - do - # Extract the first word of "$ac_prog", so it can be a program name with args. - set dummy $ac_prog; ac_word=$2 --{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if test "${ac_cv_prog_ac_ct_CC+set}" = set; then -+if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 - else - if test -n "$ac_ct_CC"; then -@@ -2140,24 +2253,24 @@ for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" -- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done --done -+ done - IFS=$as_save_IFS - - fi - fi - ac_ct_CC=$ac_cv_prog_ac_ct_CC - if test -n "$ac_ct_CC"; then -- { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 - $as_echo "$ac_ct_CC" >&6; } - else -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -2170,7 +2283,7 @@ done - else - case $cross_compiling:$ac_tool_warned in - yes:) --{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 - $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} - ac_tool_warned=yes ;; - esac -@@ -2181,57 +2294,37 @@ fi - fi - - --test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 - $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH --See \`config.log' for more details." >&5 --$as_echo "$as_me: error: no acceptable C compiler found in \$PATH --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; }; } -+as_fn_error $? "no acceptable C compiler found in \$PATH -+See \`config.log' for more details" "$LINENO" 5; } - - # Provide some information about the compiler. --$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 -+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 - set X $ac_compile - ac_compiler=$2 --{ (ac_try="$ac_compiler --version >&5" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compiler --version >&5") 2>&5 -- ac_status=$? -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } --{ (ac_try="$ac_compiler -v >&5" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compiler -v >&5") 2>&5 -- ac_status=$? -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } --{ (ac_try="$ac_compiler -V >&5" -+for ac_option in --version -v -V -qversion; do -+ { { ac_try="$ac_compiler $ac_option >&5" - case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; - esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compiler -V >&5") 2>&5 -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } -+ if test -s conftest.err; then -+ sed '10a\ -+... rest of stderr output deleted ... -+ 10q' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ fi -+ rm -f conftest.er1 conftest.err -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } -+done - --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - int -@@ -2247,8 +2340,8 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" - # Try to create an executable without -o first, disregard a.out. - # It will help us diagnose broken compilers, and finding out an intuition - # of exeext. --{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 --$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -+$as_echo_n "checking whether the C compiler works... " >&6; } - ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - - # The possible output files: -@@ -2264,17 +2357,17 @@ do - done - rm -f $ac_rmfiles - --if { (ac_try="$ac_link_default" -+if { { ac_try="$ac_link_default" - case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; - esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; then -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. - # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' - # in a Makefile. We should not override ac_cv_exeext if it was cached, -@@ -2291,7 +2384,7 @@ do - # certainly right. - break;; - *.* ) -- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; -+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi -@@ -2310,84 +2403,41 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= - else - ac_file='' - fi -- --{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 --$as_echo "$ac_file" >&6; } --if test -z "$ac_file"; then -- $as_echo "$as_me: failed program was:" >&5 -+if test -z "$ac_file"; then : -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+$as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - --{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 - $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables --See \`config.log' for more details." >&5 --$as_echo "$as_me: error: C compiler cannot create executables --See \`config.log' for more details." >&2;} -- { (exit 77); exit 77; }; }; } -+as_fn_error 77 "C compiler cannot create executables -+See \`config.log' for more details" "$LINENO" 5; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } - fi -- -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -+$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -+$as_echo "$ac_file" >&6; } - ac_exeext=$ac_cv_exeext - --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 --$as_echo_n "checking whether the C compiler works... " >&6; } --# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 --# If not cross compiling, check that we can run a simple program. --if test "$cross_compiling" != yes; then -- if { ac_try='./$ac_file' -- { (case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- cross_compiling=no -- else -- if test "$cross_compiling" = maybe; then -- cross_compiling=yes -- else -- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. --If you meant to cross compile, use \`--host'. --See \`config.log' for more details." >&5 --$as_echo "$as_me: error: cannot run C compiled programs. --If you meant to cross compile, use \`--host'. --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; }; } -- fi -- fi --fi --{ $as_echo "$as_me:$LINENO: result: yes" >&5 --$as_echo "yes" >&6; } -- - rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out - ac_clean_files=$ac_clean_files_save --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 --$as_echo_n "checking whether we are cross compiling... " >&6; } --{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 --$as_echo "$cross_compiling" >&6; } -- --{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 - $as_echo_n "checking for suffix of executables... " >&6; } --if { (ac_try="$ac_link" -+if { { ac_try="$ac_link" - case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; - esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; then -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) - # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will - # work properly (i.e., refer to `conftest.exe'), while it won't with -@@ -2402,32 +2452,83 @@ for ac_file in conftest.exe conftest conftest.*; do - esac - done - else -- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 - $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link --See \`config.log' for more details." >&5 --$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; }; } -+as_fn_error $? "cannot compute suffix of executables: cannot compile and link -+See \`config.log' for more details" "$LINENO" 5; } - fi -- --rm -f conftest$ac_cv_exeext --{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -+rm -f conftest conftest$ac_cv_exeext -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 - $as_echo "$ac_cv_exeext" >&6; } - - rm -f conftest.$ac_ext - EXEEXT=$ac_cv_exeext - ac_exeext=$EXEEXT --{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include <stdio.h> -+int -+main () -+{ -+FILE *f = fopen ("conftest.out", "w"); -+ return ferror (f) || fclose (f) != 0; -+ -+ ; -+ return 0; ++ SDL_KeyState[key] = state; +} -+_ACEOF -+ac_clean_files="$ac_clean_files conftest.out" -+# Check that the compiler produces executables we can run. If not, either -+# the compiler is broken, or we cross compile. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -+$as_echo_n "checking whether we are cross compiling... " >&6; } -+if test "$cross_compiling" != yes; then -+ { { ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } -+ if { ac_try='./conftest$ac_cv_exeext' -+ { { case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ cross_compiling=no -+ else -+ if test "$cross_compiling" = maybe; then -+ cross_compiling=yes -+ else -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error $? "cannot run C compiled programs. -+If you meant to cross compile, use \`--host'. -+See \`config.log' for more details" "$LINENO" 5; } -+ fi -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -+$as_echo "$cross_compiling" >&6; } + -+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -+ac_clean_files=$ac_clean_files_save -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 - $as_echo_n "checking for suffix of object files... " >&6; } --if test "${ac_cv_objext+set}" = set; then -+if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 - else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - int -@@ -2439,17 +2540,17 @@ main () - } - _ACEOF - rm -f conftest.o conftest.obj --if { (ac_try="$ac_compile" -+if { { ac_try="$ac_compile" - case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; - esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; then -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in -@@ -2462,31 +2563,23 @@ else - $as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - --{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 - $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile --See \`config.log' for more details." >&5 --$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; }; } -+as_fn_error $? "cannot compute suffix of object files: cannot compile -+See \`config.log' for more details" "$LINENO" 5; } - fi -- - rm -f conftest.$ac_cv_objext conftest.$ac_ext - fi --{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 - $as_echo "$ac_cv_objext" >&6; } - OBJEXT=$ac_cv_objext - ac_objext=$OBJEXT --{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 - $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } --if test "${ac_cv_c_compiler_gnu+set}" = set; then -+if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 - else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - int -@@ -2500,37 +2593,16 @@ main () - return 0; - } - _ACEOF --rm -f conftest.$ac_objext --if { (ac_try="$ac_compile" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compile") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest.$ac_objext; then -+if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes - else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- ac_compiler_gnu=no -+ ac_compiler_gnu=no - fi -- - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_c_compiler_gnu=$ac_compiler_gnu - - fi --{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 - $as_echo "$ac_cv_c_compiler_gnu" >&6; } - if test $ac_compiler_gnu = yes; then - GCC=yes -@@ -2539,20 +2611,16 @@ else - fi - ac_test_CFLAGS=${CFLAGS+set} - ac_save_CFLAGS=$CFLAGS --{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 - $as_echo_n "checking whether $CC accepts -g... " >&6; } --if test "${ac_cv_prog_cc_g+set}" = set; then -+if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 - else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - int -@@ -2563,35 +2631,11 @@ main () - return 0; - } - _ACEOF --rm -f conftest.$ac_objext --if { (ac_try="$ac_compile" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compile") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest.$ac_objext; then -+if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes - else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- CFLAGS="" -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ CFLAGS="" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - int -@@ -2602,36 +2646,12 @@ main () - return 0; - } - _ACEOF --rm -f conftest.$ac_objext --if { (ac_try="$ac_compile" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compile") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest.$ac_objext; then -- : --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -+if ac_fn_c_try_compile "$LINENO"; then : - -- ac_c_werror_flag=$ac_save_c_werror_flag -+else -+ ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - int -@@ -2642,42 +2662,17 @@ main () - return 0; - } - _ACEOF --rm -f conftest.$ac_objext --if { (ac_try="$ac_compile" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compile") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest.$ac_objext; then -+if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- - fi -- - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -- - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi -- - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag - fi --{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 - $as_echo "$ac_cv_prog_cc_g" >&6; } - if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -@@ -2694,23 +2689,18 @@ else - CFLAGS= - fi - fi --{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 - $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } --if test "${ac_cv_prog_cc_c89+set}" = set; then -+if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 - else - ac_cv_prog_cc_c89=no - ac_save_CC=$CC --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include <stdarg.h> - #include <stdio.h> --#include <sys/types.h> --#include <sys/stat.h> -+struct stat; - /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ - struct buf { int x; }; - FILE * (*rcsopen) (struct buf *, struct stat *, int); -@@ -2762,32 +2752,9 @@ for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" - do - CC="$ac_save_CC $ac_arg" -- rm -f conftest.$ac_objext --if { (ac_try="$ac_compile" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compile") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest.$ac_objext; then -+ if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- - fi -- - rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break - done -@@ -2798,17 +2765,19 @@ fi - # AC_CACHE_VAL - case "x$ac_cv_prog_cc_c89" in - x) -- { $as_echo "$as_me:$LINENO: result: none needed" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 - $as_echo "none needed" >&6; } ;; - xno) -- { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 - $as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" -- { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 - $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; - esac -+if test "x$ac_cv_prog_cc_c89" != xno; then : - -+fi - - ac_ext=c - ac_cpp='$CPP $CPPFLAGS' -@@ -2819,26 +2788,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - --{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 - $as_echo_n "checking for an ANSI C-conforming const... " >&6; } --if test "${ac_cv_c_const+set}" = set; then -+if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 - else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - int - main () + SDLMod SDL_GetModState (void) { --/* FIXME: Include the comments suggested by Paul. */ -+ - #ifndef __cplusplus -- /* Ultrix mips cc rejects this. */ -+ /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset[2]; -- const charset cs; -+ const charset cs = { 0, 0 }; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; -@@ -2855,8 +2820,9 @@ main () - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; -- { /* SCO 3.2v4 cc rejects this. */ -- char *t; -+ { /* SCO 3.2v4 cc rejects this sort of thing. */ -+ char tx; -+ char *t = &tx; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; -@@ -2872,10 +2838,10 @@ main () - iptr p = 0; - ++p; - } -- { /* AIX XL C 1.02.0.0 rejects this saying -+ { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ -- struct s { int j; const int *ap[3]; }; -- struct s *b; b->j = 5; -+ struct s { int j; const int *ap[3]; } bx; -+ struct s *b = &bx; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -@@ -2888,41 +2854,18 @@ main () - return 0; - } - _ACEOF --rm -f conftest.$ac_objext --if { (ac_try="$ac_compile" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compile") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest.$ac_objext; then -+if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes - else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- ac_cv_c_const=no -+ ac_cv_c_const=no - fi -- - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi --{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 - $as_echo "$ac_cv_c_const" >&6; } - if test $ac_cv_c_const = no; then - --cat >>confdefs.h <<\_ACEOF --#define const /**/ --_ACEOF -+$as_echo "#define const /**/" >>confdefs.h - - fi - -@@ -2955,9 +2898,9 @@ case "$host" in - MATHLIB="" - # Extract the first word of "osmesa-config", so it can be a program name with args. - set dummy osmesa-config; ac_word=$2 --{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if test "${ac_cv_path_OSMESA_CONFIG+set}" = set; then -+if ${ac_cv_path_OSMESA_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 - else - case $OSMESA_CONFIG in -@@ -2970,14 +2913,14 @@ for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_OSMESA_CONFIG="$as_dir/$ac_word$ac_exec_ext" -- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done --done -+ done - IFS=$as_save_IFS - - test -z "$ac_cv_path_OSMESA_CONFIG" && ac_cv_path_OSMESA_CONFIG="no" -@@ -2986,10 +2929,10 @@ esac - fi - OSMESA_CONFIG=$ac_cv_path_OSMESA_CONFIG - if test -n "$OSMESA_CONFIG"; then -- { $as_echo "$as_me:$LINENO: result: $OSMESA_CONFIG" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OSMESA_CONFIG" >&5 - $as_echo "$OSMESA_CONFIG" >&6; } - else -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } - fi - -@@ -3015,7 +2958,7 @@ esac - SDL_VERSION=1.2.10 - - # Check whether --with-sdl-prefix was given. --if test "${with_sdl_prefix+set}" = set; then -+if test "${with_sdl_prefix+set}" = set; then : - withval=$with_sdl_prefix; sdl_prefix="$withval" - else - sdl_prefix="" -@@ -3023,14 +2966,14 @@ fi - - - # Check whether --with-sdl-exec-prefix was given. --if test "${with_sdl_exec_prefix+set}" = set; then -+if test "${with_sdl_exec_prefix+set}" = set; then : - withval=$with_sdl_exec_prefix; sdl_exec_prefix="$withval" - else - sdl_exec_prefix="" - fi - - # Check whether --enable-sdltest was given. --if test "${enable_sdltest+set}" = set; then -+if test "${enable_sdltest+set}" = set; then : - enableval=$enable_sdltest; - else - enable_sdltest=yes -@@ -3055,9 +2998,9 @@ fi - fi - # Extract the first word of "sdl-config", so it can be a program name with args. - set dummy sdl-config; ac_word=$2 --{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } --if test "${ac_cv_path_SDL_CONFIG+set}" = set; then -+if ${ac_cv_path_SDL_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 - else - case $SDL_CONFIG in -@@ -3070,14 +3013,14 @@ for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- for ac_exec_ext in '' $ac_executable_extensions; do -- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" -- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi - done --done -+ done - IFS=$as_save_IFS - - test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" -@@ -3086,16 +3029,16 @@ esac - fi - SDL_CONFIG=$ac_cv_path_SDL_CONFIG - if test -n "$SDL_CONFIG"; then -- { $as_echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SDL_CONFIG" >&5 - $as_echo "$SDL_CONFIG" >&6; } - else -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } - fi - - - min_sdl_version=$SDL_VERSION -- { $as_echo "$as_me:$LINENO: checking for SDL - version >= $min_sdl_version" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL - version >= $min_sdl_version" >&5 - $as_echo_n "checking for SDL - version >= $min_sdl_version... " >&6; } - no_sdl="" - if test "$SDL_CONFIG" = "no" ; then -@@ -3118,14 +3061,10 @@ $as_echo_n "checking for SDL - version >= $min_sdl_version... " >&6; } - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" - rm -f conf.sdltest -- if test "$cross_compiling" = yes; then -+ if test "$cross_compiling" = yes; then : - echo $ac_n "cross compiling; assumed OK... $ac_c" - else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - #include <stdio.h> -@@ -3186,53 +3125,26 @@ int main (int argc, char *argv[]) - - - _ACEOF --rm -f conftest$ac_exeext --if { (ac_try="$ac_link" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_link") 2>&5 -- ac_status=$? -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -- { (case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); }; }; then -- : --else -- $as_echo "$as_me: program exited with status $ac_status" >&5 --$as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -+if ac_fn_c_try_run "$LINENO"; then : - --( exit $ac_status ) --no_sdl=yes -+else -+ no_sdl=yes - fi --rm -rf conftest.dSYM --rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ -+ conftest.$ac_objext conftest.beam conftest.$ac_ext - fi - -- - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_sdl" = x ; then -- { $as_echo "$as_me:$LINENO: result: yes" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 - $as_echo "yes" >&6; } - : - else -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 - $as_echo "no" >&6; } - if test "$SDL_CONFIG" = "no" ; then - echo "*** The sdl-config script installed by SDL could not be found" -@@ -3247,11 +3159,7 @@ $as_echo "no" >&6; } - CFLAGS="$CFLAGS $SDL_CFLAGS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" - LIBS="$LIBS $SDL_LIBS" -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - #include <stdio.h> -@@ -3270,27 +3178,7 @@ main () - return 0; - } - _ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (ac_try="$ac_link" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_link") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest$ac_exeext && { -- test "$cross_compiling" = yes || -- $as_test_x conftest$ac_exeext -- }; then -+if ac_fn_c_try_link "$LINENO"; then : - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding SDL or finding the wrong" - echo "*** version of SDL. If it is not finding SDL, you'll need to set your" -@@ -3301,18 +3189,13 @@ $as_echo "$ac_try_echo") >&5 - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- echo "*** The test program failed to compile or link. See the file config.log for the" -+ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means SDL was incorrectly installed" - echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl-config script: $SDL_CONFIG" - fi -- --rm -rf conftest.dSYM --rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -- conftest$ac_exeext conftest.$ac_ext -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - CXXFLAGS="$ac_save_CXXFLAGS" - LIBS="$ac_save_LIBS" -@@ -3320,9 +3203,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - fi - SDL_CFLAGS="" - SDL_LIBS="" -- { { $as_echo "$as_me:$LINENO: error: *** SDL version $SDL_VERSION not found!" >&5 --$as_echo "$as_me: error: *** SDL version $SDL_VERSION not found!" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "*** SDL version $SDL_VERSION not found!" "$LINENO" 5 - - fi - -@@ -3337,14 +3218,14 @@ ac_cpp='$CPP $CPPFLAGS' - ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' - ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' - ac_compiler_gnu=$ac_cv_c_compiler_gnu --{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 - $as_echo_n "checking how to run the C preprocessor... " >&6; } - # On Suns, sometimes $CPP names a directory. - if test -n "$CPP" && test -d "$CPP"; then - CPP= - fi - if test -z "$CPP"; then -- if test "${ac_cv_prog_CPP+set}" = set; then -+ if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 - else - # Double quotes because CPP needs to be expanded -@@ -3359,11 +3240,7 @@ do - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #ifdef __STDC__ - # include <limits.h> -@@ -3372,78 +3249,34 @@ cat >>conftest.$ac_ext <<_ACEOF - #endif - Syntax error - _ACEOF --if { (ac_try="$ac_cpp conftest.$ac_ext" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null && { -- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -- test ! -s conftest.err -- }; then -- : --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -+if ac_fn_c_try_cpp "$LINENO"; then : - -+else - # Broken: fails on valid input. - continue - fi -- --rm -f conftest.err conftest.$ac_ext -+rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include <ac_nonexistent.h> - _ACEOF --if { (ac_try="$ac_cpp conftest.$ac_ext" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null && { -- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -- test ! -s conftest.err -- }; then -+if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. - continue - else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- - # Passes both tests. - ac_preproc_ok=: - break - fi -- --rm -f conftest.err conftest.$ac_ext -+rm -f conftest.err conftest.i conftest.$ac_ext - - done - # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. --rm -f conftest.err conftest.$ac_ext --if $ac_preproc_ok; then -+rm -f conftest.i conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then : - break - fi - -@@ -3455,7 +3288,7 @@ fi - else - ac_cv_prog_CPP=$CPP - fi --{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 - $as_echo "$CPP" >&6; } - ac_preproc_ok=false - for ac_c_preproc_warn_flag in '' yes -@@ -3466,100 +3299,49 @@ do - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #ifdef __STDC__ - # include <limits.h> - #else - # include <assert.h> --#endif -- Syntax error --_ACEOF --if { (ac_try="$ac_cpp conftest.$ac_ext" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null && { -- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -- test ! -s conftest.err -- }; then -- : --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -+#endif -+ Syntax error -+_ACEOF -+if ac_fn_c_try_cpp "$LINENO"; then : - -+else - # Broken: fails on valid input. - continue - fi -- --rm -f conftest.err conftest.$ac_ext -+rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include <ac_nonexistent.h> - _ACEOF --if { (ac_try="$ac_cpp conftest.$ac_ext" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null && { -- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -- test ! -s conftest.err -- }; then -+if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. - continue - else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- - # Passes both tests. - ac_preproc_ok=: - break - fi -- --rm -f conftest.err conftest.$ac_ext -+rm -f conftest.err conftest.i conftest.$ac_ext - - done - # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. --rm -f conftest.err conftest.$ac_ext --if $ac_preproc_ok; then -- : -+rm -f conftest.i conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then : -+ - else -- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 - $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check --See \`config.log' for more details." >&5 --$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; }; } -+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -+See \`config.log' for more details" "$LINENO" 5; } - fi - - ac_ext=c -@@ -3569,12 +3351,12 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ - ac_compiler_gnu=$ac_cv_c_compiler_gnu - - --{ $as_echo "$as_me:$LINENO: checking for X" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 - $as_echo_n "checking for X... " >&6; } - - - # Check whether --with-x was given. --if test "${with_x+set}" = set; then -+if test "${with_x+set}" = set; then : - withval=$with_x; - fi - -@@ -3584,10 +3366,8 @@ if test "x$with_x" = xno; then - have_x=disabled - else - case $x_includes,$x_libraries in #( -- *\'*) { { $as_echo "$as_me:$LINENO: error: cannot use X directory names containing '" >&5 --$as_echo "$as_me: error: cannot use X directory names containing '" >&2;} -- { (exit 1); exit 1; }; };; #( -- *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then -+ *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( -+ *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then : - $as_echo_n "(cached) " >&6 - else - # One or both of the vars are not set, and there is no cached value. -@@ -3604,7 +3384,7 @@ libdir: - @echo libdir='${LIBDIR}' - _ACEOF - if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then -- # GNU make sometimes prints "make[1]: Entering...", which would confuse us. -+ # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. - for ac_var in incroot usrlibdir libdir; do - eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" - done -@@ -3635,21 +3415,25 @@ fi - # Check X11 before X11Rn because it is often a symlink to the current release. - ac_x_header_dirs=' - /usr/X11/include -+/usr/X11R7/include - /usr/X11R6/include - /usr/X11R5/include - /usr/X11R4/include - - /usr/include/X11 -+/usr/include/X11R7 - /usr/include/X11R6 - /usr/include/X11R5 - /usr/include/X11R4 - - /usr/local/X11/include -+/usr/local/X11R7/include - /usr/local/X11R6/include - /usr/local/X11R5/include - /usr/local/X11R4/include - - /usr/local/include/X11 -+/usr/local/include/X11R7 - /usr/local/include/X11R6 - /usr/local/include/X11R5 - /usr/local/include/X11R4 -@@ -3671,37 +3455,14 @@ ac_x_header_dirs=' - if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Xlib.h. - # First, try using that file with no special directory specified. -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include <X11/Xlib.h> - _ACEOF --if { (ac_try="$ac_cpp conftest.$ac_ext" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } >/dev/null && { -- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -- test ! -s conftest.err -- }; then -+if ac_fn_c_try_cpp "$LINENO"; then : - # We can compile using X headers with no special include directory. - ac_x_includes= - else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- - for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Xlib.h"; then - ac_x_includes=$ac_dir -@@ -3709,8 +3470,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 - fi - done - fi -- --rm -f conftest.err conftest.$ac_ext -+rm -f conftest.err conftest.i conftest.$ac_ext - fi # $ac_x_includes = no - - if test "$ac_x_libraries" = no; then -@@ -3719,11 +3479,7 @@ if test "$ac_x_libraries" = no; then - # Don't add to $LIBS permanently. - ac_save_LIBS=$LIBS - LIBS="-lX11 $LIBS" -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - #include <X11/Xlib.h> - int -@@ -3734,35 +3490,12 @@ XrmInitialize () - return 0; - } - _ACEOF --rm -f conftest.$ac_objext conftest$ac_exeext --if { (ac_try="$ac_link" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_link") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest$ac_exeext && { -- test "$cross_compiling" = yes || -- $as_test_x conftest$ac_exeext -- }; then -+if ac_fn_c_try_link "$LINENO"; then : - LIBS=$ac_save_LIBS - # We can link X programs with no special library path. - ac_x_libraries= - else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- LIBS=$ac_save_LIBS -+ LIBS=$ac_save_LIBS - for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` - do - # Don't even attempt the hair of trying to link an X program! -@@ -3774,10 +3507,8 @@ do - done - done - fi -- --rm -rf conftest.dSYM --rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -- conftest$ac_exeext conftest.$ac_ext -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext - fi # $ac_x_libraries = no - - case $ac_x_includes,$ac_x_libraries in #( -@@ -3798,7 +3529,7 @@ fi - fi # $with_x != no - - if test "$have_x" != yes; then -- { $as_echo "$as_me:$LINENO: result: $have_x" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 - $as_echo "$have_x" >&6; } - no_x=yes - else -@@ -3809,7 +3540,7 @@ else - ac_cv_have_x="have_x=yes\ - ac_x_includes='$x_includes'\ - ac_x_libraries='$x_libraries'" -- { $as_echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 - $as_echo "libraries $x_libraries, headers $x_includes" >&6; } - fi - -@@ -3826,14 +3557,10 @@ if test x$have_x = xyes; then - fi - fi - --{ $as_echo "$as_me:$LINENO: checking for OpenGL support" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL support" >&5 - $as_echo_n "checking for OpenGL support... " >&6; } - have_opengl=no --cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ + return(SDL_ModState); +diff --git a/src/video/nacl/SDL_naclevents.c b/src/video/nacl/SDL_naclevents.c +index a2f7e19..461e1ca 100644 +--- a/src/video/nacl/SDL_naclevents.c ++++ b/src/video/nacl/SDL_naclevents.c +@@ -29,6 +29,7 @@ + + #include <math.h> + #include <ppapi_simple/ps_event.h> ++#include <ppapi/c/ppb_input_event.h> - #include "SDL_opengl.h" -@@ -3847,36 +3574,13 @@ main () - return 0; + #define PPAPI_KEY_CTRL 17 + #define PPAPI_KEY_ALT 18 +@@ -176,12 +177,15 @@ static SDLKey translateKey(uint32_t code) { + } } - _ACEOF --rm -f conftest.$ac_objext --if { (ac_try="$ac_compile" --case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" --$as_echo "$ac_try_echo") >&5 -- (eval "$ac_compile") 2>conftest.er1 -- ac_status=$? -- grep -v '^ *+' conftest.er1 >conftest.err -- rm -f conftest.er1 -- cat conftest.err >&5 -- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -- (exit $ac_status); } && { -- test -z "$ac_c_werror_flag" || -- test ! -s conftest.err -- } && test -s conftest.$ac_objext; then -+if ac_fn_c_try_compile "$LINENO"; then : - - have_opengl=yes - --else -- $as_echo "$as_me: failed program was:" >&5 --sed 's/^/| /' conftest.$ac_ext >&5 -- -- - fi -- - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext --{ $as_echo "$as_me:$LINENO: result: $have_opengl" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_opengl" >&5 - $as_echo "$have_opengl" >&6; } - if test x$have_opengl = xyes; then - CFLAGS="$CFLAGS -DHAVE_OPENGL" -@@ -3915,13 +3619,13 @@ _ACEOF - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( -- *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 - $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( -- *) $as_unset $ac_var ;; -+ *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done -@@ -3929,8 +3633,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) -- # `set' does not quote correctly, so add quotes (double-quote -- # substitution turns \\\\ into \\, and sed turns \\ into \). -+ # `set' does not quote correctly, so add quotes: double-quote -+ # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" -@@ -3952,12 +3656,23 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - :end' >>confcache - if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then -- test "x$cache_file" != "x/dev/null" && -- { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 -+ if test "x$cache_file" != "x/dev/null"; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 - $as_echo "$as_me: updating cache $cache_file" >&6;} -- cat confcache >$cache_file -+ if test ! -f "$cache_file" || test -h "$cache_file"; then -+ cat confcache >"$cache_file" -+ else -+ case $cache_file in #( -+ */* | ?:*) -+ mv -f confcache "$cache_file"$$ && -+ mv -f "$cache_file"$$ "$cache_file" ;; #( -+ *) -+ mv -f confcache "$cache_file" ;; -+ esac -+ fi -+ fi - else -- { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 - $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi - fi -@@ -4007,14 +3722,15 @@ DEFS=`sed -n "$ac_script" confdefs.h` - - ac_libobjs= - ac_ltlibobjs= -+U= - for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. -- ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" -- ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" -+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' - done - LIBOBJS=$ac_libobjs - -@@ -4022,13 +3738,14 @@ LTLIBOBJS=$ac_ltlibobjs - - - --: ${CONFIG_STATUS=./config.status} -+: "${CONFIG_STATUS=./config.status}" - ac_write_fail=0 - ac_clean_files_save=$ac_clean_files - ac_clean_files="$ac_clean_files $CONFIG_STATUS" --{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 - $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} --cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+as_write_fail=0 -+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 - #! $SHELL - # Generated by $as_me. - # Run this file to recreate the current configuration. -@@ -4038,17 +3755,18 @@ cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - debug=false - ac_cs_recheck=false - ac_cs_silent=false --SHELL=\${CONFIG_SHELL-$SHELL} --_ACEOF - --cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 --## --------------------- ## --## M4sh Initialization. ## --## --------------------- ## -+SHELL=\${CONFIG_SHELL-$SHELL} -+export SHELL -+_ASEOF -+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -+## -------------------- ## -+## M4sh Initialization. ## -+## -------------------- ## - - # Be more Bourne compatible - DUALCASE=1; export DUALCASE # for MKS sh --if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then -+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which -@@ -4056,23 +3774,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST - else -- case `(set -o) 2>/dev/null` in -- *posix*) set -o posix ;; -+ case `(set -o) 2>/dev/null` in #( -+ *posix*) : -+ set -o posix ;; #( -+ *) : -+ ;; - esac -- - fi - - -- -- --# PATH needs CR --# Avoid depending upon Character Ranges. --as_cr_letters='abcdefghijklmnopqrstuvwxyz' --as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' --as_cr_Letters=$as_cr_letters$as_cr_LETTERS --as_cr_digits='0123456789' --as_cr_alnum=$as_cr_Letters$as_cr_digits -- - as_nl=' - ' - export as_nl -@@ -4080,7 +3790,13 @@ export as_nl - as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo - as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo --if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then -+# Prefer a ksh shell builtin over an external printf program on Solaris, -+# but without wasting forks for bash or zsh. -+if test -z "$BASH_VERSION$ZSH_VERSION" \ -+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then -+ as_echo='print -r --' -+ as_echo_n='print -rn --' -+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' - else -@@ -4091,7 +3807,7 @@ else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; -- case $arg in -+ case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; -@@ -4114,13 +3830,6 @@ if test "${PATH_SEPARATOR+set}" != set; then - } - fi - --# Support unset when possible. --if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then -- as_unset=unset --else -- as_unset=false --fi -- - - # IFS - # We need space, tab and new line, in precisely that order. Quoting is -@@ -4130,15 +3839,16 @@ fi - IFS=" "" $as_nl" - - # Find who we are. Look in the path if we contain no directory separator. --case $0 in -+as_myself= -+case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR - for as_dir in $PATH - do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. -- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break --done -+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break -+ done - IFS=$as_save_IFS - - ;; -@@ -4150,12 +3860,16 @@ if test "x$as_myself" = x; then - fi - if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 -- { (exit 1); exit 1; } -+ exit 1 - fi - --# Work around bugs in pre-3.0 UWIN ksh. --for as_var in ENV MAIL MAILPATH --do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -+# Unset variables that we do not need and which cause bugs (e.g. in -+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -+# suppresses any "Segmentation fault" message there. '((' could -+# trigger a bug in pdksh 5.2.14. -+for as_var in BASH_ENV ENV MAIL MAILPATH -+do eval test x\${$as_var+set} = xset \ -+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : - done - PS1='$ ' - PS2='> ' -@@ -4167,7 +3881,89 @@ export LC_ALL - LANGUAGE=C - export LANGUAGE - --# Required to use basename. -+# CDPATH. -+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH -+ -+ -+# as_fn_error STATUS ERROR [LINENO LOG_FD] -+# ---------------------------------------- -+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -+# script with STATUS, using 1 if that was 0. -+as_fn_error () -+{ -+ as_status=$1; test $as_status -eq 0 && as_status=1 -+ if test "$4"; then -+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 -+ fi -+ $as_echo "$as_me: error: $2" >&2 -+ as_fn_exit $as_status -+} # as_fn_error -+ -+ -+# as_fn_set_status STATUS -+# ----------------------- -+# Set $? to STATUS, without forking. -+as_fn_set_status () -+{ -+ return $1 -+} # as_fn_set_status -+ -+# as_fn_exit STATUS -+# ----------------- -+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -+as_fn_exit () -+{ -+ set +e -+ as_fn_set_status $1 -+ exit $1 -+} # as_fn_exit -+ -+# as_fn_unset VAR -+# --------------- -+# Portably unset VAR. -+as_fn_unset () -+{ -+ { eval $1=; unset $1;} -+} -+as_unset=as_fn_unset -+# as_fn_append VAR VALUE -+# ---------------------- -+# Append the text in VALUE to the end of the definition contained in VAR. Take -+# advantage of any shell optimizations that allow amortized linear growth over -+# repeated appends, instead of the typical quadratic growth present in naive -+# implementations. -+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : -+ eval 'as_fn_append () -+ { -+ eval $1+=\$2 -+ }' -+else -+ as_fn_append () -+ { -+ eval $1=\$$1\$2 -+ } -+fi # as_fn_append -+ -+# as_fn_arith ARG... -+# ------------------ -+# Perform arithmetic evaluation on the ARGs, and store the result in the -+# global $as_val. Take advantage of shells that can avoid forks. The arguments -+# must be portable across $(()) and expr. -+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : -+ eval 'as_fn_arith () -+ { -+ as_val=$(( $* )) -+ }' -+else -+ as_fn_arith () -+ { -+ as_val=`expr "$@" || test $? -eq 1` -+ } -+fi # as_fn_arith -+ -+ - if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -@@ -4181,8 +3977,12 @@ else - as_basename=false - fi - -+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -+ as_dirname=dirname -+else -+ as_dirname=false -+fi --# Name of the executable. - as_me=`$as_basename -- "$0" || - $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ -@@ -4202,76 +4002,25 @@ $as_echo X/"$0" | - } - s/.*/./; q'` - --# CDPATH. --$as_unset CDPATH -- -- -- -- as_lineno_1=$LINENO -- as_lineno_2=$LINENO -- test "x$as_lineno_1" != "x$as_lineno_2" && -- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { -- -- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO -- # uniformly replaced by the line number. The first 'sed' inserts a -- # line-number line after each line using $LINENO; the second 'sed' -- # does the real work. The second script uses 'N' to pair each -- # line-number line with the line containing $LINENO, and appends -- # trailing '-' during substitution so that $LINENO is not a special -- # case at line end. -- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the -- # scripts with optimization help from Paolo Bonzini. Blame Lee -- # E. McMahon (1931-1989) for sed's syntax. :-) -- sed -n ' -- p -- /[$]LINENO/= -- ' <$as_myself | -- sed ' -- s/[$]LINENO.*/&-/ -- t lineno -- b -- :lineno -- N -- :loop -- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ -- t loop -- s/-\n.*// -- ' >$as_me.lineno && -- chmod +x "$as_me.lineno" || -- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 -- { (exit 1); exit 1; }; } -- -- # Don't try to exec as it changes $[0], causing all sort of problems -- # (the dirname of $[0] is not the place where we might find the -- # original and so on. Autoconf is especially sensitive to this). -- . "./$as_me.lineno" -- # Exit status is that of the last command. -- exit --} -- -- --if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then -- as_dirname=dirname --else -- as_dirname=false --fi -+# Avoid depending upon Character Ranges. -+as_cr_letters='abcdefghijklmnopqrstuvwxyz' -+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -+as_cr_Letters=$as_cr_letters$as_cr_LETTERS -+as_cr_digits='0123456789' -+as_cr_alnum=$as_cr_Letters$as_cr_digits - - ECHO_C= ECHO_N= ECHO_T= --case `echo -n x` in -+case `echo -n x` in #((((( - -n*) -- case `echo 'x\c'` in -+ case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. -- *) ECHO_C='\c';; -+ xy) ECHO_C='\c';; -+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null -+ ECHO_T=' ';; - esac;; - *) - ECHO_N='-n';; - esac --if expr a : '\(a\)' >/dev/null 2>&1 && -- test "X`expr 00001 : '.*\(...\)'`" = X001; then -- as_expr=expr --else -- as_expr=false --fi - - rm -f conf$$ conf$$.exe conf$$.file - if test -d conf$$.dir; then -@@ -4286,49 +4035,85 @@ if (echo >conf$$.file) 2>/dev/null; then - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. -- # In both cases, we have to default to `cp -p'. -+ # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || -- as_ln_s='cp -p' -+ as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else -- as_ln_s='cp -p' -+ as_ln_s='cp -pR' - fi - else -- as_ln_s='cp -p' -+ as_ln_s='cp -pR' - fi - rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file - rmdir conf$$.dir 2>/dev/null - -+ -+# as_fn_mkdir_p -+# ------------- -+# Create "$as_dir" as a directory, including parents if necessary. -+as_fn_mkdir_p () -+{ -+ -+ case $as_dir in #( -+ -*) as_dir=./$as_dir;; -+ esac -+ test -d "$as_dir" || eval $as_mkdir_p || { -+ as_dirs= -+ while :; do -+ case $as_dir in #( -+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -+ *) as_qdir=$as_dir;; -+ esac -+ as_dirs="'$as_qdir' $as_dirs" -+ as_dir=`$as_dirname -- "$as_dir" || -+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -+ X"$as_dir" : 'X\(//\)[^/]' \| \ -+ X"$as_dir" : 'X\(//\)$' \| \ -+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -+$as_echo X"$as_dir" | -+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)[^/].*/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\/\)$/{ -+ s//\1/ -+ q -+ } -+ /^X\(\/\).*/{ -+ s//\1/ -+ q -+ } -+ s/.*/./; q'` -+ test -d "$as_dir" && break -+ done -+ test -z "$as_dirs" || eval "mkdir $as_dirs" -+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" -+ -+ -+} # as_fn_mkdir_p - if mkdir -p . 2>/dev/null; then -- as_mkdir_p=: -+ as_mkdir_p='mkdir -p "$as_dir"' - else - test -d ./-p && rmdir ./-p - as_mkdir_p=false - fi - --if test -x / >/dev/null 2>&1; then -- as_test_x='test -x' --else -- if ls -dL / >/dev/null 2>&1; then -- as_ls_L_option=L -- else -- as_ls_L_option= -- fi -- as_test_x=' -- eval sh -c '\'' -- if test -d "$1"; then -- test -d "$1/."; -- else -- case $1 in -- -*)set "./$1";; -- esac; -- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in -- ???[sx]*):;;*)false;;esac;fi -- '\'' sh -- ' --fi --as_executable_p=$as_test_x ++static SDL_bool SDL_NeedModUpdate = SDL_TRUE; ++ + void HandleInputEvent(_THIS, PP_Resource event) { + static Uint8 last_scancode = 0; + static int alt_down = 0; + static int ctrl_down = 0; + PP_InputEvent_Type type; + PP_InputEvent_Modifier modifiers; ++ SDLMod sdl_mod; + Uint8 button; + Uint8 state; + Uint8 gained; +@@ -197,9 +201,49 @@ void HandleInputEvent(_THIS, PP_Resource event) { + int sdl_wheel_clicks_y; + int i; + ++ // defining modifiers array for conversion ++ static const size_t modcnt = 6; ++ static const int ppapi_mods[modcnt] = { ++ PP_INPUTEVENT_MODIFIER_SHIFTKEY, ++ PP_INPUTEVENT_MODIFIER_CONTROLKEY, ++ PP_INPUTEVENT_MODIFIER_ALTKEY, ++ PP_INPUTEVENT_MODIFIER_METAKEY, ++ PP_INPUTEVENT_MODIFIER_CAPSLOCKKEY, ++ PP_INPUTEVENT_MODIFIER_NUMLOCKKEY ++ }; ++ static const SDLMod sdl_mods[modcnt] = { ++ KMOD_LSHIFT, ++ KMOD_LCTRL, ++ KMOD_LALT, ++ KMOD_LMETA, ++ KMOD_CAPS, ++ KMOD_NUM ++ }; ++ static const SDLKey sdl_keys[modcnt] = { ++ SDLK_LSHIFT, ++ SDLK_LCTRL, ++ SDLK_LALT, ++ SDLK_LMETA, ++ SDLK_CAPSLOCK, ++ SDLK_NUMLOCK ++ }; ++ static const SDLKey sdl_rkeys[modcnt] = { ++ SDLK_RSHIFT, ++ SDLK_RCTRL, ++ SDLK_RALT, ++ SDLK_RMETA, ++ SDLK_CAPSLOCK, ++ SDLK_NUMLOCK ++ }; + -+# as_fn_executable_p FILE -+# ----------------------- -+# Test if FILE is an executable regular file. -+as_fn_executable_p () -+{ -+ test -f "$1" && test -x "$1" -+} # as_fn_executable_p -+as_test_x='test -x' -+as_executable_p=as_fn_executable_p - - # Sed expression to map a string onto a valid CPP name. - as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" -@@ -4338,13 +4123,19 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - exec 6>&1 -+## ----------------------------------- ## -+## Main body of $CONFIG_STATUS script. ## -+## ----------------------------------- ## -+_ASEOF -+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - --# Save the log message, to keep $[0] and so on meaningful, and to -+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -+# Save the log message, to keep $0 and so on meaningful, and to - # report actual input values of CONFIG_FILES etc. instead of their - # values after options handling. - ac_log=" - This file was extended by $as_me, which was --generated by GNU Autoconf 2.63. Invocation command line was -+generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS -@@ -4371,13 +4162,15 @@ _ACEOF - - cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - ac_cs_usage="\ --\`$as_me' instantiates files from templates according to the --current configuration. -+\`$as_me' instantiates files and other configuration actions -+from templates according to the current configuration. Unless the files -+and actions are specified as TAGs, all are instantiated by default. - --Usage: $0 [OPTION]... [FILE]... -+Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit -+ --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files -@@ -4388,16 +4181,17 @@ Usage: $0 [OPTION]... [FILE]... - Configuration files: - $config_files - --Report bugs to <bug-autoconf@gnu.org>." -+Report bugs to the package provider." - - _ACEOF - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" - ac_cs_version="\\ - config.status --configured by $0, generated by GNU Autoconf 2.63, -- with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -+configured by $0, generated by GNU Autoconf 2.69, -+ with options \\"\$ac_cs_config\\" - --Copyright (C) 2008 Free Software Foundation, Inc. -+Copyright (C) 2012 Free Software Foundation, Inc. - This config.status script is free software; the Free Software Foundation - gives unlimited permission to copy, distribute and modify it." - -@@ -4412,11 +4206,16 @@ ac_need_defaults=: - while test $# != 0 - do - case $1 in -- --*=*) -+ --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; -+ --*=) -+ ac_option=`expr "X$1" : 'X\([^=]*\)='` -+ ac_optarg= -+ ac_shift=: -+ ;; - *) - ac_option=$1 - ac_optarg=$2 -@@ -4430,14 +4229,17 @@ do - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; -+ --config | --confi | --conf | --con | --co | --c ) -+ $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; -+ '') as_fn_error $? "missing file argument" ;; - esac -- CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" -+ as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; -@@ -4446,11 +4248,10 @@ do - ac_cs_silent=: ;; - - # This is an error. -- -*) { $as_echo "$as_me: error: unrecognized option: $1 --Try \`$0 --help' for more information." >&2 -- { (exit 1); exit 1; }; } ;; -+ -*) as_fn_error $? "unrecognized option: \`$1' -+Try \`$0 --help' for more information." ;; - -- *) ac_config_targets="$ac_config_targets $1" -+ *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac -@@ -4467,7 +4268,7 @@ fi - _ACEOF - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - if \$ac_cs_recheck; then -- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' -@@ -4498,9 +4299,7 @@ do - case $ac_config_target in - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - -- *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 --$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} -- { (exit 1); exit 1; }; };; -+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac - done - -@@ -4521,26 +4320,24 @@ fi - # after its creation but before its name has been assigned to `$tmp'. - $debug || - { -- tmp= -+ tmp= ac_tmp= - trap 'exit_status=$? -- { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -+ : "${ac_tmp:=$tmp}" -+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status - ' 0 -- trap '{ (exit 1); exit 1; }' 1 2 13 15 -+ trap 'as_fn_exit 1' 1 2 13 15 - } - # Create a (secure) tmp directory for tmp files. - - { - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && -- test -n "$tmp" && test -d "$tmp" -+ test -d "$tmp" - } || - { - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") --} || --{ -- $as_echo "$as_me: cannot create a temporary directory in ." >&2 -- { (exit 1); exit 1; } --} -+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -+ac_tmp=$tmp - - # Set up the scripts for CONFIG_FILES section. - # No need to generate them if there are no CONFIG_FILES. -@@ -4548,7 +4345,13 @@ $debug || - if test -n "$CONFIG_FILES"; then - - --ac_cr='
' -+ac_cr=`echo X | tr X '\015'` -+# On cygwin, bash can eat \r inside `` if the user requested igncr. -+# But we know of no other shell where ac_cr would be empty at this -+# point, so we can use a bashism as a fallback. -+if test "x$ac_cr" = x; then -+ eval ac_cr=\$\'\\r\' -+fi - ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` - if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -@@ -4556,7 +4359,7 @@ else - ac_cs_awk_cr=$ac_cr - fi - --echo 'BEGIN {' >"$tmp/subs1.awk" && -+echo 'BEGIN {' >"$ac_tmp/subs1.awk" && - _ACEOF - - -@@ -4565,24 +4368,18 @@ _ACEOF - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" - } >conf$$subs.sh || -- { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 --$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} -- { (exit 1); exit 1; }; } --ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` - ac_delim='%!_!# ' - for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || -- { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 --$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then -- { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 --$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -@@ -4590,7 +4387,7 @@ done - rm -f conf$$subs.sh - - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 --cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && - _ACEOF - sed -n ' - h -@@ -4604,7 +4401,7 @@ s/'"$ac_delim"'$// - t delim - :nl - h --s/\(.\{148\}\).*/\1/ -+s/\(.\{148\}\)..*/\1/ - t more1 - s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ - p -@@ -4618,7 +4415,7 @@ s/.\{148\}// - t nl - :delim - h --s/\(.\{148\}\).*/\1/ -+s/\(.\{148\}\)..*/\1/ - t more2 - s/["\\]/\\&/g; s/^/"/; s/$/"/ - p -@@ -4638,7 +4435,7 @@ t delim - rm -f conf$$subs.awk - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - _ACAWK --cat >>"\$tmp/subs1.awk" <<_ACAWK && -+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -@@ -4670,23 +4467,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" - else - cat --fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ -- || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 --$as_echo "$as_me: error: could not setup config files machinery" >&2;} -- { (exit 1); exit 1; }; } -+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ -+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 - _ACEOF - --# VPATH may cause trouble with some makes, so we remove $(srcdir), --# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -+# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and - # trailing colons and then remove the whole line if VPATH becomes empty - # (actually we leave an empty line to preserve line numbers). - if test "x$srcdir" = x.; then -- ac_vpsub='/^[ ]*VPATH[ ]*=/{ --s/:*\$(srcdir):*/:/ --s/:*\${srcdir}:*/:/ --s/:*@srcdir@:*/:/ --s/^\([^=]*=[ ]*\):*/\1/ -+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -+h -+s/// -+s/^/:/ -+s/[ ]*$/:/ -+s/:\$(srcdir):/:/g -+s/:\${srcdir}:/:/g -+s/:@srcdir@:/:/g -+s/^:*// - s/:*$// -+x -+s/\(=[ ]*\).*/\1/ -+G -+s/\n// - s/^[^=]*=[ ]*$// - }' - fi -@@ -4704,9 +4507,7 @@ do - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; -- :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 --$as_echo "$as_me: error: invalid tag $ac_tag" >&2;} -- { (exit 1); exit 1; }; };; -+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac -@@ -4725,7 +4526,7 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - for ac_f - do - case $ac_f in -- -) ac_f="$tmp/stdin";; -+ -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. -@@ -4734,12 +4535,10 @@ $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || -- { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 --$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} -- { (exit 1); exit 1; }; };; -+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac -- ac_file_inputs="$ac_file_inputs '$ac_f'" -+ as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't -@@ -4750,7 +4549,7 @@ $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" -- { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 - $as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. -@@ -4762,10 +4561,8 @@ $as_echo "$as_me: creating $ac_file" >&6;} - esac - - case $ac_tag in -- *:-:* | *:-) cat >"$tmp/stdin" \ -- || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 --$as_echo "$as_me: error: could not create $ac_file" >&2;} -- { (exit 1); exit 1; }; } ;; -+ *:-:* | *:-) cat >"$ac_tmp/stdin" \ -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac -@@ -4793,47 +4590,7 @@ $as_echo X"$ac_file" | - q - } - s/.*/./; q'` -- { as_dir="$ac_dir" -- case $as_dir in #( -- -*) as_dir=./$as_dir;; -- esac -- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { -- as_dirs= -- while :; do -- case $as_dir in #( -- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( -- *) as_qdir=$as_dir;; -- esac -- as_dirs="'$as_qdir' $as_dirs" -- as_dir=`$as_dirname -- "$as_dir" || --$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ -- X"$as_dir" : 'X\(//\)[^/]' \| \ -- X"$as_dir" : 'X\(//\)$' \| \ -- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || --$as_echo X"$as_dir" | -- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ -- s//\1/ -- q -- } -- /^X\(\/\/\)[^/].*/{ -- s//\1/ -- q -- } -- /^X\(\/\/\)$/{ -- s//\1/ -- q -- } -- /^X\(\/\).*/{ -- s//\1/ -- q -- } -- s/.*/./; q'` -- test -d "$as_dir" && break -- done -- test -z "$as_dirs" || eval "mkdir $as_dirs" -- } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 --$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} -- { (exit 1); exit 1; }; }; } -+ as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - - case "$ac_dir" in -@@ -4881,7 +4638,6 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - # If the template does not know about datarootdir, expand it. - # FIXME: This hack should be removed a few years after 2.60. - ac_datarootdir_hack=; ac_datarootdir_seen= -- - ac_sed_dataroot=' - /datarootdir/ { - p -@@ -4891,12 +4647,11 @@ ac_sed_dataroot=' - /@docdir@/p - /@infodir@/p - /@localedir@/p --/@mandir@/p --' -+/@mandir@/p' - case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in - *datarootdir*) ac_datarootdir_seen=yes;; - *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) -- { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 - $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} - _ACEOF - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -@@ -4906,7 +4661,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g -- s&\\\${datarootdir}&$datarootdir&g' ;; -+ s&\\\${datarootdir}&$datarootdir&g' ;; - esac - _ACEOF - -@@ -4932,27 +4687,24 @@ s&@abs_builddir@&$ac_abs_builddir&;t t - s&@abs_top_builddir@&$ac_abs_top_builddir&;t t - $ac_datarootdir_hack - " --eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ -- || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 --$as_echo "$as_me: error: could not create $ac_file" >&2;} -- { (exit 1); exit 1; }; } -+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ -+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - - test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && -- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && -- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && -- { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' --which seems to be undefined. Please make sure it is defined." >&5 -+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && -+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ -+ "$ac_tmp/out"`; test -z "$ac_out"; } && -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -+which seems to be undefined. Please make sure it is defined" >&5 - $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' --which seems to be undefined. Please make sure it is defined." >&2;} -+which seems to be undefined. Please make sure it is defined" >&2;} - -- rm -f "$tmp/stdin" -+ rm -f "$ac_tmp/stdin" - case $ac_file in -- -) cat "$tmp/out" && rm -f "$tmp/out";; -- *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; -+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; -+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ -- || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 --$as_echo "$as_me: error: could not create $ac_file" >&2;} -- { (exit 1); exit 1; }; } -+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - - -@@ -4962,15 +4714,12 @@ $as_echo "$as_me: error: could not create $ac_file" >&2;} - done # for ac_tag - - --{ (exit 0); exit 0; } -+as_fn_exit 0 - _ACEOF --chmod +x $CONFIG_STATUS - ac_clean_files=$ac_clean_files_save - - test $ac_write_fail = 0 || -- { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 --$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} -- { (exit 1); exit 1; }; } -+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - - # configure is writing to config.log, and then calls config.status. -@@ -4991,10 +4740,10 @@ if test "$no_create" != yes; then - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. -- $ac_cs_success || { (exit 1); exit 1; } -+ $ac_cs_success || as_fn_exit 1 - fi - if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -- { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 - $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} - fi - + type = dd->ppb_input_event->GetType(event); + modifiers = dd->ppb_input_event->GetModifiers(event); + ++ // alt_down and ctrl_down correction ++ // needed when one of these keys were pressed outside of the module ++ alt_down = modifiers & PP_INPUTEVENT_MODIFIER_ALTKEY ? 1 : 0; ++ ctrl_down = modifiers & PP_INPUTEVENT_MODIFIER_CONTROLKEY ? 1 : 0; ++ + switch (type) { + case PP_INPUTEVENT_TYPE_MOUSEDOWN: + case PP_INPUTEVENT_TYPE_MOUSEUP: +@@ -216,13 +260,13 @@ void HandleInputEvent(_THIS, PP_Resource event) { + sdl_wheel_clicks_y = trunc(wheel_clicks_y); + button = (sdl_wheel_clicks_x > 0) ? SDL_BUTTON_X1 : SDL_BUTTON_X2; + for (i = 0; i < abs(sdl_wheel_clicks_x); i++) { +- SDL_PrivateMouseButton(SDL_MOUSEBUTTONDOWN, button, 0, 0); +- SDL_PrivateMouseButton(SDL_MOUSEBUTTONUP, button, 0, 0); ++ SDL_PrivateMouseButton(SDL_PRESSED, button, 0, 0); ++ SDL_PrivateMouseButton(SDL_RELEASED, button, 0, 0); + } + button = (sdl_wheel_clicks_y > 0) ? SDL_BUTTON_WHEELUP : SDL_BUTTON_WHEELDOWN; + for (i = 0; i < abs(sdl_wheel_clicks_y); i++) { +- SDL_PrivateMouseButton(SDL_MOUSEBUTTONDOWN, button, 0, 0); +- SDL_PrivateMouseButton(SDL_MOUSEBUTTONUP, button, 0, 0); ++ SDL_PrivateMouseButton(SDL_PRESSED, button, 0, 0); ++ SDL_PrivateMouseButton(SDL_RELEASED, button, 0, 0); + } + wheel_clicks_x -= sdl_wheel_clicks_x; + wheel_clicks_y -= sdl_wheel_clicks_y; +@@ -318,6 +362,34 @@ void HandleInputEvent(_THIS, PP_Resource event) { + state = SDL_RELEASED; + last_scancode = 0; + } ++ ++ if (SDL_NeedModUpdate) { ++ // copying keyboard modifiers from PPAPI ++ sdl_mod = KMOD_NONE; ++ for (i = 0; i < modcnt; ++i) { ++ if (sdl_keys[i] == keysym.sym) // if key is a modifier ++ continue; // then do not copy it ++ if (modifiers & ppapi_mods[i]) { ++ sdl_mod |= sdl_mods[i]; ++ SDL_SetKeyState(sdl_keys[i], SDL_PRESSED); ++ } else { ++ SDL_SetKeyState(sdl_keys[i], SDL_RELEASED); ++ } ++ } ++ SDL_SetModState(sdl_mod); ++ SDL_NeedModUpdate = SDL_FALSE; ++ } ++ ++ if (modifiers & PP_INPUTEVENT_MODIFIER_ISRIGHT) { ++ // convert left modifier keycode to the right one ++ for (i = 0; i < modcnt; ++i) { ++ if (keysym.sym == sdl_keys[i]) { ++ keysym.sym = sdl_rkeys[i]; ++ break; ++ } ++ } ++ } ++ + keysym.mod = KMOD_NONE; + SDL_TRACE("Key event: %d: %s\n", state, SDL_GetKeyName(keysym.sym)); + SDL_PrivateKeyboard(state, &keysym); +@@ -352,6 +424,7 @@ static void HandleEvent(_THIS, PSEvent* ps_event) { + + /* From DidChangeFocus, contains a PP_Bool with the current focus state. */ + case PSE_INSTANCE_DIDCHANGEFOCUS: ++ SDL_NeedModUpdate = SDL_TRUE; + break; + + /* When the 3D context is lost, no resource. */ |