Simple DirectMedia Layer es una librería multiplataforma que permite control de video, dispositivos de entrada y sonido. La versión actual de es la 2.x, siendo la 1.2.x una versión histórica y fuera de soporte. Sin embargo, aunque no se desarrolle, todavía hay programas, como Caprice 32 el emulador de Amstrad CPC que lo necesita para ejecutarse.
Esta librería necesita dos pequeñas modificaciones para que compile sin problemas en la última versión de macOS X, ya que no compila de serie:
diff -ru SDL-1.2.15/src/video/quartz/SDL_QuartzVideo.h SDL-1.2.15.macosx/src/video/quartz/SDL_QuartzVideo.h --- SDL-1.2.15/src/video/quartz/SDL_QuartzVideo.h 2012-01-19 07:30:06.000000000 +0100 +++ SDL-1.2.15.macosx/src/video/quartz/SDL_QuartzVideo.h 2018-07-22 23:36:18.000000000 +0200 @@ -91,7 +91,9 @@ CGDirectDisplayID display; /* 0 == main display (only support single display) */ const void *mode; /* current mode of the display */ const void *save_mode; /* original mode of the display */ +#if (MAC_OS_X_VERSION_MIN_REQUIRED < 1070) CGDirectPaletteRef palette; /* palette of an 8-bit display */ +#endif NSOpenGLContext *gl_context; /* OpenGL rendering context */ NSGraphicsContext *nsgfx_context; /* Cocoa graphics context */ Uint32 width, height, bpp; /* frequently used data about the display */ diff -ru SDL-1.2.15/src/video/x11/SDL_x11sym.h SDL-1.2.15.macosx/src/video/x11/SDL_x11sym.h --- SDL-1.2.15/src/video/x11/SDL_x11sym.h 2012-01-19 07:30:06.000000000 +0100 +++ SDL-1.2.15.macosx/src/video/x11/SDL_x11sym.h 2018-07-22 23:41:47.000000000 +0200 @@ -165,7 +165,7 @@ */ #ifdef LONG64 SDL_X11_MODULE(IO_32BIT) -SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) +SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) #endif
Para compilar hay que especificar el path de las librerías de X11, de la siguiente manera:
env CFLAGS="-I/usr/X11/include" LDFLAGS="-L/usr/X11/lib" ./configure --prefix=/usr/local
make
# Como administrador
make install
make
# Como administrador
make install
No hay comentarios:
Publicar un comentario