From 8e8a8d88dfb03b9fae137f48cfca71cd88d8da50 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <slouken@libsdl.org>
Date: Fri, 24 Feb 2006 09:57:14 +0000
Subject: [PATCH] Updated MacOS Classic MPW build

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401428
---
 MPWmake.sea.bin                       | Bin 31360 -> 31232 bytes
 Makefile.in                           |  10 +
 include/SDL_config.h                  | 282 ++++++++++++++++++++++++--
 include/SDL_config_dreamcast.h        |   2 -
 include/SDL_config_macos.h            |  15 +-
 include/SDL_config_macosx.h           |   2 -
 include/SDL_opengl.h                  |   5 +-
 src/endian/.cvsignore                 |   6 -
 src/main/macos/SDL_main.c             |  40 ++--
 src/main/macos/exports/SDL.x          |  51 +++--
 src/main/macos/exports/gendef.pl      |  24 +++
 src/video/e_pow.h                     |   2 +-
 src/video/e_sqrt.h                    |  14 +-
 src/video/maccommon/SDL_lowvideo.h    |   8 +-
 src/video/maccommon/SDL_macevents_c.h |   2 +-
 src/video/maccommon/SDL_macgl_c.h     |   8 +-
 src/video/maccommon/SDL_macmouse_c.h  |   2 +-
 src/video/maccommon/SDL_macwm_c.h     |   2 +-
 src/video/macdsp/SDL_dspvideo.c       |   8 +-
 src/video/macdsp/SDL_dspvideo.h       |   2 +-
 src/video/macrom/SDL_romvideo.c       |   8 +-
 src/video/macrom/SDL_romvideo.h       |   2 +-
 src/video/math_private.h              |   1 +
 test/testplatform.c                   |   2 +-
 24 files changed, 397 insertions(+), 101 deletions(-)
 delete mode 100644 src/endian/.cvsignore

diff --git a/MPWmake.sea.bin b/MPWmake.sea.bin
index ebcb8c0bc32499f7cce96b05e04ca57f75f49711..8ef31229fa60b60bbe07b2e1c5b89c094e8d76ff 100644
GIT binary patch
delta 3155
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

delta 3338
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
E1GD&_L;wH)

diff --git a/Makefile.in b/Makefile.in
index ece42304..b5224d50 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -145,3 +145,13 @@ dist $(distfile):
 
 rpm: $(distfile)
 	rpmbuild -ta $?
+
+# Create a CVS snapshot that people can run update -d on
+CVSROOT = :pserver:guest@libsdl.org:/home/sdlweb/libsdl.org/cvs
+snapshot:
+	cvs -d $(CVSROOT) login
+	cvs -d $(CVSROOT) checkout -P SDL12
+	(cd SDL12 && ./autogen.sh && rm -rf autom4te.cache)
+	mv SDL12 SDL-1.2
+	tar zcvf $(HOME)/SDL-1.2.tar.gz SDL-1.2
+	rm -rf SDL-1.2
diff --git a/include/SDL_config.h b/include/SDL_config.h
index 0c177fd4..324ad585 100644
--- a/include/SDL_config.h
+++ b/include/SDL_config.h
@@ -1,3 +1,4 @@
+/* include/SDL_config.h.  Generated by configure.  */
 /*
     SDL - Simple DirectMedia Layer
     Copyright (C) 1997-2006 Sam Lantinga
@@ -23,32 +24,269 @@
 #ifndef _SDL_config_h
 #define _SDL_config_h
 
+/* This is a set of defines to configure the SDL features */
+
+/* General platform specific identifiers */
 #include "SDL_platform.h"
 
-/* Add any platform that doesn't build using the configure system */
-#if defined(__AMIGA__)
-#include "SDL_config_amiga.h"
-#elif defined(__DREAMCAST__)
-#include "SDL_config_dreamcast.h"
-#elif defined(__MACOS__)
-#include "SDL_config_macos.h"
-#elif defined(__MACOSX__)
-#include "SDL_config_macosx.h"
-#elif defined(__WIN32__)
-#include "SDL_config_win32.h"
-#else
-/* This is the minimal configuration that can be used to build SDL */
+/* C language features */
+/* #undef const */
+/* #undef inline */
+/* #undef volatile */
 
-#include <stdarg.h>
+/* C datatypes */
+/* #undef size_t */
+/* #undef int8_t */
+/* #undef uint8_t */
+/* #undef int16_t */
+/* #undef uint16_t */
+/* #undef int32_t */
+/* #undef uint32_t */
+/* #undef int64_t */
+/* #undef uint64_t */
+/* #undef uintptr_t */
+#define SDL_HAS_64BIT_TYPE 1
+
+/* Endianness */
+#define SDL_BYTEORDER 1234
+
+/* Comment this if you want to build without any C library requirements */
+#define HAVE_LIBC 1
+#if HAVE_LIBC
 
-typedef signed char int8_t;
-typedef unsigned char uint8_t;
-typedef signed short int16_t;
-typedef unsigned short uint16_t;
-typedef signed int int32_t;
-typedef unsigned int uint32_t;
-typedef unsigned int size_t;
-typedef unsigned long uintptr_t;
+/* Useful headers */
+#define HAVE_ALLOCA_H 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_STDIO_H 1
+#define STDC_HEADERS 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STDARG_H 1
+#define HAVE_MALLOC_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STRING_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_CTYPE_H 1
+#define HAVE_MATH_H 1
+#define HAVE_SIGNAL_H 1
+/* #undef HAVE_ALTIVEC_H */
+
+/* C library functions */
+#define HAVE_MALLOC 1
+#define HAVE_CALLOC 1
+#define HAVE_REALLOC 1
+#define HAVE_FREE 1
+#define HAVE_ALLOCA 1
+#ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
+#define HAVE_GETENV 1
+#define HAVE_PUTENV 1
+#define HAVE_UNSETENV 1
 #endif
+#define HAVE_QSORT 1
+#define HAVE_ABS 1
+#define HAVE_BCOPY 1
+#define HAVE_MEMSET 1
+#define HAVE_MEMCPY 1
+#define HAVE_MEMMOVE 1
+#define HAVE_MEMCMP 1
+#define HAVE_STRLEN 1
+/* #undef HAVE_STRLCPY */
+/* #undef HAVE_STRLCAT */
+#define HAVE_STRDUP 1
+/* #undef HAVE__STRREV */
+/* #undef HAVE__STRUPR */
+/* #undef HAVE__STRLWR */
+/* #undef HAVE_INDEX */
+/* #undef HAVE_RINDEX */
+#define HAVE_STRCHR 1
+#define HAVE_STRRCHR 1
+#define HAVE_STRSTR 1
+/* #undef HAVE_ITOA */
+/* #undef HAVE__LTOA */
+/* #undef HAVE__UITOA */
+/* #undef HAVE__ULTOA */
+#define HAVE_STRTOL 1
+/* #undef HAVE__I64TOA */
+/* #undef HAVE__UI64TOA */
+#define HAVE_STRTOLL 1
+#define HAVE_STRTOD 1
+#define HAVE_ATOI 1
+#define HAVE_ATOF 1
+#define HAVE_STRCMP 1
+#define HAVE_STRNCMP 1
+/* #undef HAVE_STRICMP */
+#define HAVE_STRCASECMP 1
+#define HAVE_SSCANF 1
+#define HAVE_SNPRINTF 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_SIGACTION 1
+#define HAVE_SETJMP 1
+#define HAVE_NANOSLEEP 1
+/* #undef HAVE_CLOCK_GETTIME */
+#define HAVE_DLVSYM 1
+
+#else
+/* We may need some replacement for stdarg.h here */
+#include <stdarg.h>
+#endif /* HAVE_LIBC */
+
+/* Allow disabling of core subsystems */
+/* #undef SDL_AUDIO_DISABLED */
+/* #undef SDL_CDROM_DISABLED */
+/* #undef SDL_CPUINFO_DISABLED */
+/* #undef SDL_EVENTS_DISABLED */
+/* #undef SDL_FILE_DISABLED */
+/* #undef SDL_JOYSTICK_DISABLED */
+/* #undef SDL_LOADSO_DISABLED */
+/* #undef SDL_THREADS_DISABLED */
+/* #undef SDL_TIMERS_DISABLED */
+/* #undef SDL_VIDEO_DISABLED */
+
+/* Enable various audio drivers */
+/* #undef SDL_AUDIO_DRIVER_AHI */
+#define SDL_AUDIO_DRIVER_ALSA 1
+#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC "libasound.so.2"
+#define SDL_AUDIO_DRIVER_ARTS 1
+#define SDL_AUDIO_DRIVER_ARTS_DYNAMIC "libartsc.so.0"
+/* #undef SDL_AUDIO_DRIVER_BAUDIO */
+/* #undef SDL_AUDIO_DRIVER_COREAUDIO */
+/* #undef SDL_AUDIO_DRIVER_DART */
+/* #undef SDL_AUDIO_DRIVER_DC */
+#define SDL_AUDIO_DRIVER_DISK 1
+/* #undef SDL_AUDIO_DRIVER_DMEDIA */
+/* #undef SDL_AUDIO_DRIVER_DSOUND */
+#define SDL_AUDIO_DRIVER_ESD 1
+/* #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC */
+/* #undef SDL_AUDIO_DRIVER_MINT */
+/* #undef SDL_AUDIO_DRIVER_MMEAUDIO */
+#define SDL_AUDIO_DRIVER_NAS 1
+/* #undef SDL_AUDIO_DRIVER_OPENBSD */
+#define SDL_AUDIO_DRIVER_OSS 1
+/* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */
+/* #undef SDL_AUDIO_DRIVER_PAUD */
+/* #undef SDL_AUDIO_DRIVER_QNXNTO */
+/* #undef SDL_AUDIO_DRIVER_SNDMGR */
+/* #undef SDL_AUDIO_DRIVER_SUNAUDIO */
+/* #undef SDL_AUDIO_DRIVER_WAVEOUT */
+
+/* Enable various cdrom drivers */
+/* #undef SDL_CDROM_AIX */
+/* #undef SDL_CDROM_BEOS */
+/* #undef SDL_CDROM_BSDI */
+/* #undef SDL_CDROM_DC */
+/* #undef SDL_CDROM_DUMMY */
+/* #undef SDL_CDROM_FREEBSD */
+#define SDL_CDROM_LINUX 1
+/* #undef SDL_CDROM_MACOS */
+/* #undef SDL_CDROM_MACOSX */
+/* #undef SDL_CDROM_MINT */
+/* #undef SDL_CDROM_OPENBSD */
+/* #undef SDL_CDROM_OS2 */
+/* #undef SDL_CDROM_OSF */
+/* #undef SDL_CDROM_QNX */
+/* #undef SDL_CDROM_WIN32 */
+
+/* Enable various input drivers */
+/* #undef SDL_INPUT_TSLIB */
+/* #undef SDL_JOYSTICK_AMIGA */
+/* #undef SDL_JOYSTICK_BEOS */
+/* #undef SDL_JOYSTICK_DC */
+/* #undef SDL_JOYSTICK_DUMMY */
+/* #undef SDL_JOYSTICK_IOKIT */
+#define SDL_JOYSTICK_LINUX 1
+/* #undef SDL_JOYSTICK_LINUXEV */
+/* #undef SDL_JOYSTICK_MACOS */
+/* #undef SDL_JOYSTICK_MINT */
+/* #undef SDL_JOYSTICK_OS2 */
+/* #undef SDL_JOYSTICK_RISCOS */
+/* #undef SDL_JOYSTICK_WINMM */
+/* #undef SDL_JOYSTICK_USBHID */
+
+/* Enable various shared object loading systems */
+/* #undef SDL_LOADSO_BEOS */
+/* #undef SDL_LOADSO_DLCOMPAT */
+#define SDL_LOADSO_DLOPEN 1
+/* #undef SDL_LOADSO_LDG */
+/* #undef SDL_LOADSO_MACOS */
+/* #undef SDL_LOADSO_OS2 */
+/* #undef SDL_LOADSO_WIN32 */
+
+/* Enable various threading systems */
+/* #undef SDL_THREAD_AMIGA */
+/* #undef SDL_THREAD_BEOS */
+/* #undef SDL_THREAD_DC */
+/* #undef SDL_THREAD_EPOC */
+/* #undef SDL_THREAD_OS2 */
+/* #undef SDL_THREAD_PTH */
+#define SDL_THREAD_PTHREAD 1
+#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1
+/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */
+/* #undef SDL_THREAD_SPROC */
+/* #undef SDL_THREAD_WIN32 */
+
+/* Enable various timer systems */
+/* #undef SDL_TIMER_AMIGA */
+/* #undef SDL_TIMER_BEOS */
+/* #undef SDL_TIMER_DC */
+/* #undef SDL_TIMER_EPOC */
+/* #undef SDL_TIMER_MACOS */
+/* #undef SDL_TIMER_MINT */
+/* #undef SDL_TIMER_OS2 */
+/* #undef SDL_TIMER_RISCOS */
+#define SDL_TIMER_UNIX 1
+/* #undef SDL_TIMER_WIN32 */
+/* #undef SDL_TIMER_WINCE */
+
+/* Enable various video drivers */
+/* #undef SDL_VIDEO_DRIVER_AALIB */
+/* #undef SDL_VIDEO_DRIVER_BWINDOW */
+/* #undef SDL_VIDEO_DRIVER_CYBERGRAPHICS */
+/* #undef SDL_VIDEO_DRIVER_DC */
+/* #undef SDL_VIDEO_DRIVER_DDRAW */
+#define SDL_VIDEO_DRIVER_DGA 1
+/* #undef SDL_VIDEO_DRIVER_DIRECTFB */
+/* #undef SDL_VIDEO_DRIVER_DRAWSPROCKET */
+#define SDL_VIDEO_DRIVER_DUMMY 1
+/* #undef SDL_VIDEO_DRIVER_EPOC */
+#define SDL_VIDEO_DRIVER_FBCON 1
+/* #undef SDL_VIDEO_DRIVER_GAPI */
+/* #undef SDL_VIDEO_DRIVER_GEM */
+/* #undef SDL_VIDEO_DRIVER_GGI */
+/* #undef SDL_VIDEO_DRIVER_IPOD */
+/* #undef SDL_VIDEO_DRIVER_NANOX */
+/* #undef SDL_VIDEO_DRIVER_OS2FS */
+/* #undef SDL_VIDEO_DRIVER_PHOTON */
+/* #undef SDL_VIDEO_DRIVER_PICOGUI */
+/* #undef SDL_VIDEO_DRIVER_PS2GS */
+/* #undef SDL_VIDEO_DRIVER_QTOPIA */
+/* #undef SDL_VIDEO_DRIVER_QUARTZ */
+/* #undef SDL_VIDEO_DRIVER_RISCOS */
+/* #undef SDL_VIDEO_DRIVER_SVGALIB */
+/* #undef SDL_VIDEO_DRIVER_TOOLBOX */
+/* #undef SDL_VIDEO_DRIVER_VGL */
+/* #undef SDL_VIDEO_DRIVER_WINDIB */
+/* #undef SDL_VIDEO_DRIVER_WSCONS */
+#define SDL_VIDEO_DRIVER_X11 1
+#define SDL_VIDEO_DRIVER_X11_DGAMOUSE 1
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6"
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6"
+#define SDL_VIDEO_DRIVER_X11_VIDMODE 1
+#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
+#define SDL_VIDEO_DRIVER_X11_XME 1
+#define SDL_VIDEO_DRIVER_X11_XV 1
+/* #undef SDL_VIDEO_DRIVER_XBIOS */
+
+/* Enable OpenGL support */
+#define SDL_VIDEO_OPENGL 1
+#define SDL_VIDEO_OPENGL_GLX 1
+/* #undef SDL_VIDEO_OPENGL_WGL */
+/* #undef SDL_VIDEO_OPENGL_OSMESA */
+/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */
+
+/* Enable assembly routines */
+#define SDL_ASSEMBLY_ROUTINES 1
+/* #undef SDL_HERMES_BLITTERS */
+/* #undef SDL_ALTIVEC_BLITTERS */
 
 #endif /* _SDL_config_h */
diff --git a/include/SDL_config_dreamcast.h b/include/SDL_config_dreamcast.h
index 8260db40..884a54a9 100644
--- a/include/SDL_config_dreamcast.h
+++ b/include/SDL_config_dreamcast.h
@@ -41,10 +41,8 @@
 #define HAVE_REALLOC	1
 #define HAVE_FREE	1
 #define HAVE_ALLOCA	1
-#ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
 #define HAVE_GETENV	1
 #define HAVE_PUTENV	1
-#endif
 #define HAVE_MEMSET	1
 #define HAVE_MEMCPY	1
 #define HAVE_MEMMOVE	1
diff --git a/include/SDL_config_macos.h b/include/SDL_config_macos.h
index 81ccb08c..0e22f556 100644
--- a/include/SDL_config_macos.h
+++ b/include/SDL_config_macos.h
@@ -25,14 +25,17 @@
 
 /* This is a set of defines to configure the SDL features */
 
-#define SDL_HAS_64BIT_TYPE	1
+typedef signed char	int8_t;
+typedef unsigned char	uint8_t;
+typedef signed short	int16_t;
+typedef unsigned short	uint16_t;
+typedef signed int	int32_t;
+typedef unsigned int	uint32_t;
 
 /* Useful headers */
-#define HAVE_SYS_TYPES_H	1
 #define HAVE_STDIO_H	1
 #define STDC_HEADERS	1
 #define HAVE_STRING_H	1
-#define HAVE_INTTYPES_H	1
 #define HAVE_SIGNAL_H	1
 
 /* C library functions */
@@ -41,10 +44,6 @@
 #define HAVE_REALLOC	1
 #define HAVE_FREE	1
 #define HAVE_ALLOCA	1
-#ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
-#define HAVE_GETENV	1
-#define HAVE_PUTENV	1
-#endif
 #define HAVE_MEMSET	1
 #define HAVE_MEMCPY	1
 #define HAVE_MEMMOVE	1
@@ -63,7 +62,7 @@
 #define SDL_LOADSO_MACOS	1
 
 /* Enable various threading systems */
-#define SDL_THREAD_DISABLED	1
+#define SDL_THREADS_DISABLED	1
 
 /* Enable various timer systems */
 #define SDL_TIMER_MACOS	1
diff --git a/include/SDL_config_macosx.h b/include/SDL_config_macosx.h
index 06fa5016..b3cbbae4 100644
--- a/include/SDL_config_macosx.h
+++ b/include/SDL_config_macosx.h
@@ -41,10 +41,8 @@
 #define HAVE_REALLOC	1
 #define HAVE_FREE	1
 #define HAVE_ALLOCA	1
-#ifndef _WIN32 /* Don't use C runtime versions of these on Windows */
 #define HAVE_GETENV	1
 #define HAVE_PUTENV	1
-#endif
 #define HAVE_MEMSET	1
 #define HAVE_MEMCPY	1
 #define HAVE_MEMMOVE	1
diff --git a/include/SDL_opengl.h b/include/SDL_opengl.h
index 6360fd2f..36c0a309 100644
--- a/include/SDL_opengl.h
+++ b/include/SDL_opengl.h
@@ -34,9 +34,12 @@
 #ifndef NO_SDL_GLEXT
 #define __glext_h_  /* Don't let gl.h include glext.h */
 #endif
-#ifdef __MACOSX__
+#if defined(__MACOSX__)
 #include <OpenGL/gl.h>	/* Header File For The OpenGL Library */
 #include <OpenGL/glu.h>	/* Header File For The GLU Library */
+#elif defined(__MACOS__)
+#include <gl.h>		/* Header File For The OpenGL Library */
+#include <glu.h>	/* Header File For The GLU Library */
 #else
 #include <GL/gl.h>	/* Header File For The OpenGL Library */
 #include <GL/glu.h>	/* Header File For The GLU Library */
diff --git a/src/endian/.cvsignore b/src/endian/.cvsignore
deleted file mode 100644
index 899d5355..00000000
--- a/src/endian/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-Makefile.in
-Makefile
-.libs
-*.o
-*.lo
-*.la
diff --git a/src/main/macos/SDL_main.c b/src/main/macos/SDL_main.c
index 2e745a6a..348638b0 100644
--- a/src/main/macos/SDL_main.c
+++ b/src/main/macos/SDL_main.c
@@ -24,10 +24,6 @@
    in the MacOS environment. (stdio/stderr is *not* directed for Mach-O builds)
  */
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>	
 #if defined(__APPLE__) && defined(__MACH__)
 #include <Carbon/Carbon.h>
 #elif TARGET_API_MAC_CARBON && (UNIVERSAL_INTERFACES_VERSION > 0x0335)
@@ -89,7 +85,7 @@ static int ParseCommandLine(char *cmdline, char **argv)
 	argc = 0;
 	for ( bufp = cmdline; *bufp; ) {
 		/* Skip leading whitespace */
-		while ( isspace(*bufp) ) {
+		while ( SDL_isspace(*bufp) ) {
 			++bufp;
 		}
 		/* Skip over argument */
@@ -113,7 +109,7 @@ static int ParseCommandLine(char *cmdline, char **argv)
 				++argc;
 			}
 			/* Skip over word */
-			while ( *bufp && ! isspace(*bufp) ) {
+			while ( *bufp && ! SDL_isspace(*bufp) ) {
 				++bufp;
 			}
 		}
@@ -176,7 +172,7 @@ static int getCurrentAppName (StrFileName name) {
     if ( noErr != GetProcessInformation (&process, &process_info) )
        return 0;
     
-    memcpy (name, process_fsp.name, process_fsp.name[0] + 1);
+    SDL_memcpy(name, process_fsp.name, process_fsp.name[0] + 1);
     return 1;
 }
 
@@ -205,8 +201,8 @@ static int getPrefsFile (FSSpec *prefs_fsp, int create) {
     if (app_name[0] > MAX_NAME )
         app_name[0] = MAX_NAME;
         
-    memcpy (prefs_name + 1, app_name + 1, app_name[0]);    
-    memcpy (prefs_name + app_name[0] + 1, SUFFIX, strlen (SUFFIX));
+    SDL_memcpy(prefs_name + 1, app_name + 1, app_name[0]);    
+    SDL_memcpy(prefs_name + app_name[0] + 1, SUFFIX, strlen (SUFFIX));
     prefs_name[0] = app_name[0] + strlen (SUFFIX);
    
     /* Make the file spec for prefs file */
@@ -215,7 +211,7 @@ static int getPrefsFile (FSSpec *prefs_fsp, int create) {
             return 0;
         else {
             /* Create the prefs file */
-            memcpy (prefs_fsp->name, prefs_name, prefs_name[0] + 1);
+            SDL_memcpy(prefs_fsp->name, prefs_name, prefs_name[0] + 1);
             prefs_fsp->parID   = directory_id;
             prefs_fsp->vRefNum = volume_ref_number;
                 
@@ -241,11 +237,11 @@ static int readPrefsResource (PrefsRecord *prefs) {
 		HLock(prefs_handle);
 		
 		/* Get command line string */	
-		memcpy (prefs->command_line, *prefs_handle, (*prefs_handle)[0]+1);
+		SDL_memcpy(prefs->command_line, *prefs_handle, (*prefs_handle)[0]+1);
 
 		/* Get video driver name */
 		offset += (*prefs_handle)[0] + 1;	
-		memcpy (prefs->video_driver_name, *prefs_handle + offset, (*prefs_handle)[offset] + 1);		
+		SDL_memcpy(prefs->video_driver_name, *prefs_handle + offset, (*prefs_handle)[offset] + 1);		
 		
 		/* Get save-to-file option (1 or 0) */
 		offset += (*prefs_handle)[offset] + 1;
@@ -278,11 +274,11 @@ static int writePrefsResource (PrefsRecord *prefs, short resource_file) {
         
         /* Command line text */
         offset = 0;
-        memcpy (*prefs_handle, prefs->command_line, prefs->command_line[0] + 1);
+        SDL_memcpy(*prefs_handle, prefs->command_line, prefs->command_line[0] + 1);
         
         /* Video driver name */
         offset += prefs->command_line[0] + 1;
-        memcpy (*prefs_handle + offset, prefs->video_driver_name, prefs->video_driver_name[0] + 1);
+        SDL_memcpy(*prefs_handle + offset, prefs->video_driver_name, prefs->video_driver_name[0] + 1);
         
         /* Output-to-file option */
         offset += prefs->video_driver_name[0] + 1;
@@ -436,9 +432,9 @@ int main(int argc, char *argv[])
 
 	 if ( readPreferences (&prefs) ) {
 		
-        if (memcmp (prefs.video_driver_name+1, "DSp", 3) == 0)
+        if (SDL_memcmp(prefs.video_driver_name+1, "DSp", 3) == 0)
             videodriver = 1;
-        else if (memcmp (prefs.video_driver_name+1, "toolbox", 7) == 0)
+        else if (SDL_memcmp(prefs.video_driver_name+1, "toolbox", 7) == 0)
             videodriver = 2;
 	 }
 	 	
@@ -540,12 +536,12 @@ int main(int argc, char *argv[])
     /* Set pseudo-environment variables for video driver, update prefs */
 	switch ( videodriver ) {
 	   case VIDEO_ID_DRAWSPROCKET: 
-	      putenv ("SDL_VIDEODRIVER=DSp");
-	      memcpy (prefs.video_driver_name, "\pDSp", 4);
+	      SDL_putenv("SDL_VIDEODRIVER=DSp");
+	      SDL_memcpy(prefs.video_driver_name, "\pDSp", 4);
 	      break;
 	   case VIDEO_ID_TOOLBOX:
-	      putenv ("SDL_VIDEODRIVER=toolbox");
-	      memcpy (prefs.video_driver_name, "\ptoolbox", 8);
+	      SDL_putenv("SDL_VIDEODRIVER=toolbox");
+	      SDL_memcpy(prefs.video_driver_name, "\ptoolbox", 8);
 	      break;
 	}
 
@@ -582,9 +578,9 @@ int main(int argc, char *argv[])
         if ( appNameText[i] == ' ' ) appNameText[i] = '_';
 
     /* Copy app name & full command text to command-line C-string */      
-    memcpy (commandLine, appNameText + 1, appNameText[0]);
+    SDL_memcpy(commandLine, appNameText + 1, appNameText[0]);
     commandLine[appNameText[0]] = ' ';
-    memcpy (commandLine + appNameText[0] + 1, prefs.command_line + 1, prefs.command_line[0]);
+    SDL_memcpy(commandLine + appNameText[0] + 1, prefs.command_line + 1, prefs.command_line[0]);
     commandLine[ appNameText[0] + 1 + prefs.command_line[0] ] = '\0';
 
     /* Parse C-string into argv and argc */
diff --git a/src/main/macos/exports/SDL.x b/src/main/macos/exports/SDL.x
index 2226778c..11514ecb 100644
--- a/src/main/macos/exports/SDL.x
+++ b/src/main/macos/exports/SDL.x
@@ -37,18 +37,6 @@
 	SDL_HasSSE
 	SDL_HasSSE2
 	SDL_HasAltiVec
-	SDL_ReadLE16
-	SDL_ReadBE16
-	SDL_ReadLE32
-	SDL_ReadBE32
-	SDL_ReadLE64
-	SDL_ReadBE64
-	SDL_WriteLE16
-	SDL_WriteBE16
-	SDL_WriteLE32
-	SDL_WriteBE32
-	SDL_WriteLE64
-	SDL_WriteBE64
 	SDL_SetError
 	SDL_GetError
 	SDL_ClearError
@@ -61,8 +49,6 @@
 	SDL_SetEventFilter
 	SDL_GetEventFilter
 	SDL_EventState
-	SDL_putenv
-	SDL_getenv
 	SDL_NumJoysticks
 	SDL_JoystickName
 	SDL_JoystickOpen
@@ -119,8 +105,21 @@
 	SDL_RWFromConstMem
 	SDL_AllocRW
 	SDL_FreeRW
+	SDL_ReadLE16
+	SDL_ReadBE16
+	SDL_ReadLE32
+	SDL_ReadBE32
+	SDL_ReadLE64
+	SDL_ReadBE64
+	SDL_WriteLE16
+	SDL_WriteBE16
+	SDL_WriteLE32
+	SDL_WriteBE32
+	SDL_WriteLE64
+	SDL_WriteBE64
 	SDL_GetWMInfo
 	SDL_CreateThread
+	SDL_CreateThread
 	SDL_ThreadID
 	SDL_GetThreadID
 	SDL_WaitThread
@@ -188,4 +187,28 @@
 	SDL_WM_ToggleFullScreen
 	SDL_WM_GrabInput
 	SDL_SoftStretch
+	SDL_putenv
+	SDL_getenv
+	SDL_qsort
+	SDL_revcpy
+	SDL_strlen
+	SDL_strlcpy
+	SDL_strlcat
+	SDL_strdup
+	SDL_strrev
+	SDL_strupr
+	SDL_strlwr
+	SDL_strchr
+	SDL_strrchr
+	SDL_strstr
+	SDL_ltoa
+	SDL_ultoa
+	SDL_strtol
+	SDL_strtod
+	SDL_strcmp
+	SDL_strncmp
+	SDL_strcasecmp
+	SDL_sscanf
+	SDL_snprintf
+	SDL_vsnprintf
 	SDL_InitQuickDraw
diff --git a/src/main/macos/exports/gendef.pl b/src/main/macos/exports/gendef.pl
index 942214b0..13d818bf 100644
--- a/src/main/macos/exports/gendef.pl
+++ b/src/main/macos/exports/gendef.pl
@@ -23,4 +23,28 @@ while ( ($file = shift(@ARGV)) ) {
 }
 
 # Special exports to include for this platform
+print "\tSDL_putenv\n";
+print "\tSDL_getenv\n";
+print "\tSDL_qsort\n";
+print "\tSDL_revcpy\n";
+print "\tSDL_strlen\n";
+print "\tSDL_strlcpy\n";
+print "\tSDL_strlcat\n";
+print "\tSDL_strdup\n";
+print "\tSDL_strrev\n";
+print "\tSDL_strupr\n";
+print "\tSDL_strlwr\n";
+print "\tSDL_strchr\n";
+print "\tSDL_strrchr\n";
+print "\tSDL_strstr\n";
+print "\tSDL_ltoa\n";
+print "\tSDL_ultoa\n";
+print "\tSDL_strtol\n";
+print "\tSDL_strtod\n";
+print "\tSDL_strcmp\n";
+print "\tSDL_strncmp\n";
+print "\tSDL_strcasecmp\n";
+print "\tSDL_sscanf\n";
+print "\tSDL_snprintf\n";
+print "\tSDL_vsnprintf\n";
 print "\tSDL_InitQuickDraw\n";
diff --git a/src/video/e_pow.h b/src/video/e_pow.h
index e9a5b165..0aa372a6 100644
--- a/src/video/e_pow.h
+++ b/src/video/e_pow.h
@@ -296,7 +296,7 @@ ivln2_l  =  1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
 	z  = one-(r-z);
 	GET_HIGH_WORD(j,z);
 	j += (n<<20);
-	if((j>>20)<=0) z = scalbn(z,n);	/* subnormal output */
+	if((j>>20)<=0) z = SDL_NAME(scalbn)(z,n);	/* subnormal output */
 	else SET_HIGH_WORD(z,j);
 	return s*z;
 }
diff --git a/src/video/e_sqrt.h b/src/video/e_sqrt.h
index 9a019b08..657380ea 100644
--- a/src/video/e_sqrt.h
+++ b/src/video/e_sqrt.h
@@ -88,9 +88,9 @@ static char rcsid[] = "$NetBSD: e_sqrt.c,v 1.8 1995/05/10 20:46:17 jtc Exp $";
 #include "math_private.h"
 
 #ifdef __STDC__
-	double copysign(double x, double y)
+	double SDL_NAME(copysign)(double x, double y)
 #else
-	double copysign(x,y)
+	double SDL_NAME(copysign)(x,y)
 	double x,y;
 #endif
 {
@@ -102,9 +102,9 @@ static char rcsid[] = "$NetBSD: e_sqrt.c,v 1.8 1995/05/10 20:46:17 jtc Exp $";
 }
 
 #ifdef __STDC__
-	double scalbn (double x, int n)
+	double SDL_NAME(scalbn) (double x, int n)
 #else
-	double scalbn (x,n)
+	double SDL_NAME(scalbn) (x,n)
 	double x; int n;
 #endif
 {
@@ -120,13 +120,13 @@ static char rcsid[] = "$NetBSD: e_sqrt.c,v 1.8 1995/05/10 20:46:17 jtc Exp $";
 	    }
         if (k==0x7ff) return x+x;		/* NaN or Inf */
         k = k+n;
-        if (k >  0x7fe) return huge*copysign(huge,x); /* overflow  */
+        if (k >  0x7fe) return huge*SDL_NAME(copysign)(huge,x); /* overflow  */
         if (k > 0) 				/* normal result */
 	    {SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); return x;}
         if (k <= -54) {
             if (n > 50000) 	/* in case integer overflow in n+k */
-		return huge*copysign(huge,x);	/*overflow*/
-	    else return tiny*copysign(tiny,x); 	/*underflow*/
+		return huge*SDL_NAME(copysign)(huge,x);	/*overflow*/
+	    else return tiny*SDL_NAME(copysign)(tiny,x); 	/*underflow*/
 	}
         k += 54;				/* subnormal result */
 	SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20));
diff --git a/src/video/maccommon/SDL_lowvideo.h b/src/video/maccommon/SDL_lowvideo.h
index d902c6e6..4151412d 100644
--- a/src/video/maccommon/SDL_lowvideo.h
+++ b/src/video/maccommon/SDL_lowvideo.h
@@ -36,7 +36,13 @@
 #endif
 
 #if SDL_VIDEO_OPENGL
-#include "SDL_opengl.h"
+#ifdef MACOSX
+#include <OpenGL/gl.h> /* OpenGL.framework */
+#include <AGL/agl.h>   /* AGL.framework */
+#else
+#include <gl.h>
+#include <agl.h>
+#endif /* MACOSX */
 #endif
 
 #include "SDL_video.h"
diff --git a/src/video/maccommon/SDL_macevents_c.h b/src/video/maccommon/SDL_macevents_c.h
index 32bd1fa0..8ea92ae4 100644
--- a/src/video/maccommon/SDL_macevents_c.h
+++ b/src/video/maccommon/SDL_macevents_c.h
@@ -21,7 +21,7 @@
 */
 #include "SDL_config.h"
 
-#include "SDL_romvideo.h"
+#include "../macrom/SDL_romvideo.h"
 
 /* Functions exported by SDL_macevents.c for the video subsystem
 */
diff --git a/src/video/maccommon/SDL_macgl_c.h b/src/video/maccommon/SDL_macgl_c.h
index 1ac470bb..c4332791 100644
--- a/src/video/maccommon/SDL_macgl_c.h
+++ b/src/video/maccommon/SDL_macgl_c.h
@@ -25,7 +25,13 @@
 #include "SDL_config.h"
 
 #if SDL_VIDEO_OPENGL
-#include "SDL_opengl.h"
+#ifdef MACOSX
+#include <OpenGL/gl.h> /* OpenGL.framework */
+#include <AGL/agl.h>   /* AGL.framework */
+#else
+#include <gl.h>
+#include <agl.h>
+#endif /* MACOSX */
 #endif
 
 /* OpenGL functions */
diff --git a/src/video/maccommon/SDL_macmouse_c.h b/src/video/maccommon/SDL_macmouse_c.h
index 12df7be3..deba5928 100644
--- a/src/video/maccommon/SDL_macmouse_c.h
+++ b/src/video/maccommon/SDL_macmouse_c.h
@@ -21,7 +21,7 @@
 */
 #include "SDL_config.h"
 
-#include "SDL_romvideo.h"
+#include "../macrom/SDL_romvideo.h"
 
 /* Functions to be exported */
 extern void Mac_FreeWMCursor(_THIS, WMcursor *cursor);
diff --git a/src/video/maccommon/SDL_macwm_c.h b/src/video/maccommon/SDL_macwm_c.h
index 35ea2c03..5f56b699 100644
--- a/src/video/maccommon/SDL_macwm_c.h
+++ b/src/video/maccommon/SDL_macwm_c.h
@@ -21,7 +21,7 @@
 */
 #include "SDL_config.h"
 
-#include "SDL_romvideo.h"
+#include "../macrom/SDL_romvideo.h"
 
 /* Functions to be exported */
 extern void Mac_SetCaption(_THIS, const char *title, const char *icon);
diff --git a/src/video/macdsp/SDL_dspvideo.c b/src/video/macdsp/SDL_dspvideo.c
index bd1c0672..a0f0210f 100644
--- a/src/video/macdsp/SDL_dspvideo.c
+++ b/src/video/macdsp/SDL_dspvideo.c
@@ -144,10 +144,10 @@
 #include "../SDL_blit.h"
 #include "../SDL_pixels_c.h"
 #include "SDL_dspvideo.h"
-#include "SDL_macgl_c.h"
-#include "SDL_macwm_c.h"
-#include "SDL_macmouse_c.h"
-#include "SDL_macevents_c.h"
+#include "../maccommon/SDL_macgl_c.h"
+#include "../maccommon/SDL_macwm_c.h"
+#include "../maccommon/SDL_macmouse_c.h"
+#include "../maccommon/SDL_macevents_c.h"
 
 /* Initialization/Query functions */
 static int DSp_VideoInit(_THIS, SDL_PixelFormat *vformat);
diff --git a/src/video/macdsp/SDL_dspvideo.h b/src/video/macdsp/SDL_dspvideo.h
index 2a786f88..3b49da60 100644
--- a/src/video/macdsp/SDL_dspvideo.h
+++ b/src/video/macdsp/SDL_dspvideo.h
@@ -30,7 +30,7 @@
 #include <DrawSprocket.h>
 #endif
 
-#include "SDL_lowvideo.h"
+#include "../maccommon/SDL_lowvideo.h"
 
 /* DrawSprocket specific information */
 struct DSpInfo {
diff --git a/src/video/macrom/SDL_romvideo.c b/src/video/macrom/SDL_romvideo.c
index 6a58fe1e..af3b8248 100644
--- a/src/video/macrom/SDL_romvideo.c
+++ b/src/video/macrom/SDL_romvideo.c
@@ -46,10 +46,10 @@
 #include "SDL_syswm.h"
 #include "../SDL_sysvideo.h"
 #include "SDL_romvideo.h"
-#include "SDL_macgl_c.h"
-#include "SDL_macwm_c.h"
-#include "SDL_macmouse_c.h"
-#include "SDL_macevents_c.h"
+#include "../maccommon/SDL_macgl_c.h"
+#include "../maccommon/SDL_macwm_c.h"
+#include "../maccommon/SDL_macmouse_c.h"
+#include "../maccommon/SDL_macevents_c.h"
 
 /* Initialization/Query functions */
 static int ROM_VideoInit(_THIS, SDL_PixelFormat *vformat);
diff --git a/src/video/macrom/SDL_romvideo.h b/src/video/macrom/SDL_romvideo.h
index 12e616c8..96910d41 100644
--- a/src/video/macrom/SDL_romvideo.h
+++ b/src/video/macrom/SDL_romvideo.h
@@ -24,6 +24,6 @@
 #ifndef _SDL_romvideo_h
 #define _SDL_romvideo_h
 
-#include "SDL_lowvideo.h"
+#include "../maccommon/SDL_lowvideo.h"
 
 #endif /* _SDL_romvideo_h */
diff --git a/src/video/math_private.h b/src/video/math_private.h
index 1339ef0c..1087d7de 100644
--- a/src/video/math_private.h
+++ b/src/video/math_private.h
@@ -17,6 +17,7 @@
 #ifndef _MATH_PRIVATE_H_
 #define _MATH_PRIVATE_H_
 
+#include "SDL_name.h"
 #include "SDL_endian.h"
 
 #define huge		really_big /* huge is a reserved keyword in VC++ 6.0 */
diff --git a/test/testplatform.c b/test/testplatform.c
index b973a3f1..d67991b3 100644
--- a/test/testplatform.c
+++ b/test/testplatform.c
@@ -78,7 +78,7 @@ int TestEndian(SDL_bool verbose)
 		printf("Detected a %s endian machine.\n",
 			(SDL_BYTEORDER == SDL_LIL_ENDIAN) ? "little" : "big");
 	}
-	if ( *((char *)&value) == '1' ) {
+	if ( (*((char *)&value) >> 4) == 0x1 ) {
 		real_byteorder = SDL_BIG_ENDIAN;
 	} else {
 		real_byteorder = SDL_LIL_ENDIAN;
-- 
2.18.1