Date: Sun, 25 Jul 2004 23:10:03 +0800
From: Chris Taylor
Subject: SDL for Macintosh Programmer's Workshop: removed dynamic loading
I'm working on a game called D2X which uses SDL, and I recently ported
it to Mac OS 9. I used MPW to build it. It uses OpenGL. To get it to
work, I had to build SDL so it doesn't dynamically load OpenGL. This is
because I don't think MPW supports dynamic loading. The following patch
makes sure when SDL is built under MPW, dynamic loading of shared
libraries is disabled.
--- a/src/video/SDL_video.c Sun Jul 25 18:43:07 2004 +0000
+++ b/src/video/SDL_video.c Sun Jul 25 19:43:56 2004 +0000
@@ -743,12 +743,11 @@
/* Load GL symbols (before MakeCurrent, where we need glGetString). */
if ( flags & (SDL_OPENGL | SDL_OPENGLBLIT) ) {
-#ifdef __QNXNTO__
- #if (_NTO_VERSION < 630)
- #define __SDL_NOGETPROCADDR__
- #endif /* 6.3.0 */
-#endif /* __QNXNTO__ */
-
+#if (defined(macintosh) && !defined(__MWERKS__))
+#define __SDL_NOGETPROCADDR__
+#elif defined(__QNXNTO__) && (_NTO_VERSION < 630)
+#define __SDL_NOGETPROCADDR__
+#endif
#ifdef __SDL_NOGETPROCADDR__
#define SDL_PROC(ret,func,params) video->func=func;
#else
--- a/src/video/macrom/SDL_romvideo.c Sun Jul 25 18:43:07 2004 +0000
+++ b/src/video/macrom/SDL_romvideo.c Sun Jul 25 19:43:56 2004 +0000
@@ -163,9 +163,14 @@
#ifdef HAVE_OPENGL
device->GL_MakeCurrent = Mac_GL_MakeCurrent;
device->GL_SwapBuffers = Mac_GL_SwapBuffers;
+#ifdef __MWERKS__
device->GL_LoadLibrary = Mac_GL_LoadLibrary;
device->GL_GetProcAddress = Mac_GL_GetProcAddress;
-#endif
+#else
+ device->GL_LoadLibrary = NULL;
+ device->GL_GetProcAddress = NULL;
+#endif // CodeWarrior
+#endif // Have OpenGL
device->SetCaption = Mac_SetCaption;
device->SetIcon = NULL;
device->IconifyWindow = NULL;