From 26679cf14fd4753cd0102cdc12eb2741a4c2995b Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Sat, 10 Oct 2009 17:51:49 +0000 Subject: [PATCH] Removing old libsdl patches as they have all now been applied upstream. --- media-libs/libsdl/SDL-1.2-haiku-2.diff | 188 -------------- media-libs/libsdl/SDL-1.2-svn-4707-haiku.diff | 223 ---------------- media-libs/libsdl/SDL-1.2.13-haiku.diff | 126 --------- media-libs/libsdl/sdl-1.2-haiku.diff | 160 ------------ media-libs/libsdl/sdl-1.2-svn-4901-haiku.diff | 240 ------------------ .../sdl-1.2.13-haiku-bwindow-sysvideo.diff | 37 --- media-libs/libsdl/sdl-svn-r4114-haiku.diff | 85 ------- 7 files changed, 1059 deletions(-) delete mode 100644 media-libs/libsdl/SDL-1.2-haiku-2.diff delete mode 100644 media-libs/libsdl/SDL-1.2-svn-4707-haiku.diff delete mode 100644 media-libs/libsdl/SDL-1.2.13-haiku.diff delete mode 100644 media-libs/libsdl/sdl-1.2-haiku.diff delete mode 100644 media-libs/libsdl/sdl-1.2-svn-4901-haiku.diff delete mode 100644 media-libs/libsdl/sdl-1.2.13-haiku-bwindow-sysvideo.diff delete mode 100644 media-libs/libsdl/sdl-svn-r4114-haiku.diff diff --git a/media-libs/libsdl/SDL-1.2-haiku-2.diff b/media-libs/libsdl/SDL-1.2-haiku-2.diff deleted file mode 100644 index d58cc0d38..000000000 --- a/media-libs/libsdl/SDL-1.2-haiku-2.diff +++ /dev/null @@ -1,188 +0,0 @@ -Index: src/video/bwindow/SDL_sysyuv.cc -=================================================================== ---- src/video/bwindow/SDL_sysyuv.cc (revision 4458) -+++ src/video/bwindow/SDL_sysyuv.cc (working copy) -@@ -94,7 +94,7 @@ - - // See [btw: Cb=U, Cr=V] - // See also http://www.fourcc.org/indexyuv.htm --enum color_space convert_color_space(Uint32 format) { -+color_space convert_color_space(Uint32 format) { - switch (format) { - case SDL_YV12_OVERLAY: - return B_YUV9; -Index: src/video/bwindow/SDL_sysyuv.h -=================================================================== ---- src/video/bwindow/SDL_sysyuv.h (revision 4458) -+++ src/video/bwindow/SDL_sysyuv.h (working copy) -@@ -62,7 +62,7 @@ - }; - - extern BBitmap * BE_GetOverlayBitmap(BRect bounds, color_space cs); --extern SDL_Overlay* BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface* display); -+SDL_Overlay* BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface* display); - extern int BE_LockYUVOverlay(_THIS, SDL_Overlay* overlay); - extern void BE_UnlockYUVOverlay(_THIS, SDL_Overlay* overlay); - extern int BE_DisplayYUVOverlay(_THIS, SDL_Overlay* overlay, SDL_Rect* src, SDL_Rect* dst); -Index: src/video/bwindow/SDL_sysvideo.cc -=================================================================== ---- src/video/bwindow/SDL_sysvideo.cc (revision 4458) -+++ src/video/bwindow/SDL_sysvideo.cc (working copy) -@@ -57,7 +57,7 @@ - static void BE_FreeHWSurface(_THIS, SDL_Surface *surface); - - static int BE_ToggleFullScreen(_THIS, int fullscreen); --static SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); -+SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); - - /* OpenGL functions */ - #if SDL_VIDEO_OPENGL -@@ -446,8 +446,11 @@ - * of the BBitmap due to the InhibitResize call above. Thus the - * bitmap (pixel data) never changes. - */ -- SDL_Win->ResizeTo(width, height); - bounds = bscreen.Frame(); -+ if (fullscreen) -+ SDL_Win->ResizeTo(bounds.Width(), bounds.Height()); -+ else -+ SDL_Win->ResizeTo(width, height); - /* Calculate offsets - used either to center window - * (windowed mode) or to set drawing offsets (fullscreen mode) - */ -@@ -460,10 +463,13 @@ - } else { - SDL_Win->SetXYOffset(0, 0); - } -- if ( ! needs_unlock || was_fullscreen ) { -+ if ( ! needs_unlock || (was_fullscreen && !fullscreen)) { - /* Center the window the first time */ - SDL_Win->MoveTo(cx, cy); - } -+ if (fullscreen) -+ SDL_Win->MoveTo(0,0); -+ - SDL_Win->Show(); - - /* Unlock the window manually after the first Show() */ -@@ -637,8 +643,12 @@ - int32 cookie = 0; - while (get_next_image_info(0,&cookie,&info) == B_OK) { - void *location = NULL; -- if (get_image_symbol((image_id)cookie,"glBegin",B_SYMBOL_TYPE_ANY,&location) == B_OK) { -- _this->gl_config.dll_handle = (void*)cookie; -+#ifdef __HAIKU__ -+ if (get_image_symbol(info.id,"glBegin",B_SYMBOL_TYPE_ANY,&location) == B_OK) { // This is how it actually works in Haiku -+#else -+ if (get_image_symbol((image_id)cookie,"glBegin",B_SYMBOL_TYPE_ANY,&location) == B_OK) { // I don't know if that *did* work in BeOS -+#endif -+ _this->gl_config.dll_handle = (void*)info.id; - _this->gl_config.driver_loaded = 1; - SDL_strlcpy(_this->gl_config.driver_path, "libGL.so", SDL_arraysize(_this->gl_config.driver_path)); - } -Index: test/configure.in -=================================================================== ---- test/configure.in (revision 4458) -+++ test/configure.in (working copy) -@@ -20,7 +20,7 @@ - MATHLIB="" - SYS_GL_LIBS="-lopengl32" - ;; -- *-*-beos*) -+ *-*-beos* | *-*-haiku*) - EXE="" - MATHLIB="" - SYS_GL_LIBS="-lGL" -Index: test/testplatform.c -=================================================================== ---- test/testplatform.c (revision 4458) -+++ test/testplatform.c (working copy) -@@ -162,6 +162,8 @@ - "Dreamcast" - #elif __FREEBSD__ - "FreeBSD" -+#elif __HAIKU__ -+ "Haiku" - #elif __HPUX__ - "HP-UX" - #elif __IRIX__ -Index: include/begin_code.h -=================================================================== ---- include/begin_code.h (revision 4458) -+++ include/begin_code.h (working copy) -@@ -33,7 +33,7 @@ - - /* Some compilers use a special export keyword */ - #ifndef DECLSPEC --# if defined(__BEOS__) -+# if defined(__BEOS__) || defined(__HAIKU__) - # if defined(__GNUC__) - # define DECLSPEC __declspec(dllexport) - # else -Index: include/SDL_platform.h -=================================================================== ---- include/SDL_platform.h (revision 4458) -+++ include/SDL_platform.h (working copy) -@@ -33,6 +33,10 @@ - #undef __BEOS__ - #define __BEOS__ 1 - #endif -+#if defined(__HAIKU__) -+#undef __HAIKU__ -+#define __HAIKU__ 1 -+#endif - #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__) - #undef __BSDI__ - #define __BSDI__ 1 -@@ -45,6 +49,10 @@ - #undef __FREEBSD__ - #define __FREEBSD__ 1 - #endif -+#if defined(__HAIKU__) -+#undef __HAIKU__ -+#define __HAIKU__ 1 -+#endif - #if defined(hpux) || defined(__hpux) || defined(__hpux__) - #undef __HPUX__ - #define __HPUX__ 1 -Index: configure.in -=================================================================== ---- configure.in (revision 4458) -+++ configure.in (working copy) -@@ -40,7 +40,7 @@ - AC_SUBST(LT_AGE) - - dnl Detect the canonical build and host environments --AC_CONFIG_AUX_DIRS($srcdir/build-scripts) -+AC_CONFIG_AUX_DIR([build-scripts]) - AC_CANONICAL_HOST - AC_C_BIGENDIAN - if test x$ac_cv_c_bigendian = xyes; then -@@ -2493,7 +2493,7 @@ - SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main -D_WIN32_WCE=0x420" - SDL_LIBS="-lSDLmain $SDL_LIBS" - ;; -- *-*-beos*) -+ *-*-beos* | *-*-haiku*) - ARCH=beos - ac_default_prefix=/boot/develop/tools/gnupro - CheckDummyVideo -@@ -2536,8 +2536,16 @@ - fi - # Set up files for the shared object loading library - if test x$enable_loadso = xyes; then -- AC_DEFINE(SDL_LOADSO_BEOS) -- SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c" -+ case "$host" in -+ *-*-beos*) -+ AC_DEFINE(SDL_LOADSO_BEOS) -+ SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c" -+ ;; -+ *-*-haiku*) -+ AC_DEFINE(SDL_LOADSO_DLOPEN) -+ SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c" -+ ;; -+ esac - have_loadso=yes - fi - # The BeOS platform requires special setup. diff --git a/media-libs/libsdl/SDL-1.2-svn-4707-haiku.diff b/media-libs/libsdl/SDL-1.2-svn-4707-haiku.diff deleted file mode 100644 index 79ac347e5..000000000 --- a/media-libs/libsdl/SDL-1.2-svn-4707-haiku.diff +++ /dev/null @@ -1,223 +0,0 @@ -Index: src/video/bwindow/SDL_BWin.h -=================================================================== ---- src/video/bwindow/SDL_BWin.h (revision 4707) -+++ src/video/bwindow/SDL_BWin.h (working copy) -@@ -267,6 +267,8 @@ - } - - virtual void DispatchMessage(BMessage *msg, BHandler *target); -+ -+ virtual void DirectConnected(direct_buffer_info *info); - - private: - #if SDL_VIDEO_OPENGL -Index: src/video/bwindow/SDL_sysevents.cc -=================================================================== ---- src/video/bwindow/SDL_sysevents.cc (revision 4707) -+++ src/video/bwindow/SDL_sysevents.cc (working copy) -@@ -379,3 +379,20 @@ - } - BDirectWindow::DispatchMessage(msg, target); - } -+ -+void SDL_BWin::DirectConnected(direct_buffer_info *info) { -+ switch (info->buffer_state & B_DIRECT_MODE_MASK) { -+ case B_DIRECT_START: -+ case B_DIRECT_MODIFY: -+ { -+ int32 width = info->window_bounds.right - -+ info->window_bounds.left + 1; -+ int32 height = info->window_bounds.bottom - -+ info->window_bounds.top + 1; -+ SDL_PrivateResize(width, height); -+ break; -+ } -+ default: -+ break; -+ } -+} -Index: src/video/bwindow/SDL_sysvideo.cc -=================================================================== ---- src/video/bwindow/SDL_sysvideo.cc (revision 4707) -+++ src/video/bwindow/SDL_sysvideo.cc (working copy) - - - - - - - -@@ -57,7 +57,7 @@ - static void BE_FreeHWSurface(_THIS, SDL_Surface *surface); - - static int BE_ToggleFullScreen(_THIS, int fullscreen); --SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); -+static SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); - - /* OpenGL functions */ - #if SDL_VIDEO_OPENGL -@@ -362,7 +362,7 @@ - (modes[i]->h > height); ++i ) { - /* still looking */ - } -- if ( ! modes[i] || (modes[i]->w < width) || (modes[i]->h < width) ) { -+ if ( ! modes[i] || (modes[i]->w < width) || (modes[i]->h < height) ) { - --i; /* We went too far */ - } - -@@ -396,88 +396,89 @@ - - static int BE_SetFullScreen(_THIS, SDL_Surface *screen, int fullscreen) - { -- int was_fullscreen; -- bool needs_unlock; -+ printf("SetFullScreen(%d)\n", fullscreen); - BScreen bscreen; -- BRect bounds; -- display_mode mode; -- int width, height, bpp; - -- /* Set the fullscreen mode */ -- was_fullscreen = SDL_Win->IsFullScreen(); -- SDL_Win->SetFullScreen(fullscreen); -- fullscreen = SDL_Win->IsFullScreen(); -+ // TODO(bga): We must show the window before doing anything. -+ // SetFullSscreen() does not wqork as expected if called in a window -+ // that was never shown. This is probably a bug in the Haiku Game Kit that needs -+ // to be investigated. -+ if (SDL_Win->Lock()) { -+ // Show our window. -+ SDL_Win->Show(); -+ } -+ -+ if (SDL_Win->IsLocked()) { -+ // Unlock the window if it was locked. This is needed as only the -+ // first call to Show() unlocks the looper. All other calls to it -+ // will not. -+ SDL_Win->Unlock(); -+ } - -- width = screen->w; -- height = screen->h; -+ int width = screen->w; -+ int height = screen->h; -+ -+ if (fullscreen) { -+ // Set resolution to the closest available one that matches the -+ // current SDL resolution. -+ display_mode mode; -+ bscreen.GetMode(&mode); - -- /* Set the appropriate video mode */ -- if ( fullscreen ) { -- bpp = screen->format->BitsPerPixel; -- bscreen.GetMode(&mode); -- if ( (bpp != ColorSpaceToBitsPerPixel(mode.space)) || -- (width != mode.virtual_width) || -- (height != mode.virtual_height)) { -+ int bpp = screen->format->BitsPerPixel; -+ if (bpp != ColorSpaceToBitsPerPixel(mode.space) || -+ width != mode.virtual_width || height != mode.virtual_height) { - if(BE_FindClosestFSMode(_this, width, height, bpp, &mode)) { - bscreen.SetMode(&mode); -- /* This simply stops the next resize event from being -- * sent to the SDL handler. -- */ -- SDL_Win->InhibitResize(); - } else { -- fullscreen = 0; -- SDL_Win->SetFullScreen(fullscreen); -- } -+ printf("Could not set new mode.\n"); -+ return(0); -+ } - } -+ } else { -+ // Reset to the previous known resolution as we are now in window -+ // mode. -+ bscreen.SetMode(&saved_mode); - } -- if ( was_fullscreen && ! fullscreen ) { -- bscreen.SetMode(&saved_mode); -- } -- -- if ( SDL_Win->Lock() ) { -- int cx, cy; -- if ( SDL_Win->Shown() ) { -- needs_unlock = 1; -- SDL_Win->Hide(); -- } else { -- needs_unlock = 0; -- } -- /* This resizes the window and view area, but inhibits resizing -- * of the BBitmap due to the InhibitResize call above. Thus the -- * bitmap (pixel data) never changes. -- */ -+ -+ // Effectivelly set/reset full screen mode. If we are already in -+ // full screen mode, we reset back to windowed mode first so the -+ // window can resize when going fullscreen. -+ if (fullscreen) -+ printf("Going fullscreen\n"); -+ else -+ printf("Going windowed\n"); -+ SDL_Win->SetFullScreen(fullscreen); -+ -+ // Calculate offsets for centering the window (in window mode) and for -+ // dentering the bitmap (in full screen mode). -+ BRect bounds = bscreen.Frame(); -+ bounds.PrintToStream(); -+ int32 cx = (bounds.IntegerWidth() - width)/2; -+ int32 cy = (bounds.IntegerHeight() - height)/2; -+ -+ printf ("cx = %d, cy = %d\n", cx, cy); -+ if (!SDL_Win->IsFullScreen()) { -+ printf("Doing not fullscreen stuff.\n"); -+ // We are not in full screen mode, so we want to change the window -+ // size to match the resolution in SDL. - SDL_Win->ResizeTo(width, height); -- bounds = bscreen.Frame(); -- /* Calculate offsets - used either to center window -- * (windowed mode) or to set drawing offsets (fullscreen mode) -- */ -- cx = (bounds.IntegerWidth() - width)/2; -- cy = (bounds.IntegerHeight() - height)/2; -- -- if ( fullscreen ) { -- /* Set offset for drawing */ -- SDL_Win->SetXYOffset(cx, cy); -- } else { -- SDL_Win->SetXYOffset(0, 0); -- } -- if ( ! needs_unlock || was_fullscreen ) { -- /* Center the window the first time */ -- SDL_Win->MoveTo(cx, cy); -- } -- SDL_Win->Show(); - -- /* Unlock the window manually after the first Show() */ -- if ( needs_unlock ) { -- SDL_Win->Unlock(); -- } -+ // And also center the window and reset the drawing offset. -+ SDL_Win->MoveTo(cx, cy); -+ SDL_Win->SetXYOffset(0, 0); -+ } else { -+ printf("Doing fullscreen stuff."); -+ // Center the bitmap whenever we are in full screen mode. -+ SDL_Win->SetXYOffset(cx, cy); - } -- -- /* Set the fullscreen flag in the screen surface */ -- if ( fullscreen ) { -+ -+ // Set relevant internal SDL screen flags. -+ if (SDL_Win->IsFullScreen()) { - screen->flags |= SDL_FULLSCREEN; - } else { - screen->flags &= ~SDL_FULLSCREEN; - } -+ - return(1); - } - diff --git a/media-libs/libsdl/SDL-1.2.13-haiku.diff b/media-libs/libsdl/SDL-1.2.13-haiku.diff deleted file mode 100644 index 8da40df48..000000000 --- a/media-libs/libsdl/SDL-1.2.13-haiku.diff +++ /dev/null @@ -1,126 +0,0 @@ -diff -urN SDL-1.2.13/README.Haiku SDL-1.2.13-haiku/README.Haiku ---- SDL-1.2.13/README.Haiku 1970-01-01 00:00:00.000000000 +0000 -+++ SDL-1.2.13-haiku/README.Haiku 2009-02-15 23:35:54.000000000 +0000 -@@ -0,0 +1,13 @@ -+ -+SDL on Haiku -+============== -+ -+You can build SDL on Haiku like any other GNU style package. -+e.g. ./configure && make && make install -+By default it is installed in /boot/develop/tools/gnupro/{bin,lib,etc.} -+ -+Once you install SDL, you need to copy libSDL.so to /boot/home/config/lib, -+so it can be found by the dynamic linker. -+ -+Enjoy! -+ Sam Lantinga (slouken@libsdl.org) -diff -urN SDL-1.2.13/configure.in SDL-1.2.13-haiku/configure.in ---- SDL-1.2.13/configure.in 2009-02-15 23:41:29.000000000 +0000 -+++ SDL-1.2.13-haiku/configure.in 2009-02-15 23:35:54.000000000 +0000 -@@ -40,7 +40,7 @@ - AC_SUBST(LT_AGE) - - dnl Detect the canonical build and host environments --AC_CONFIG_AUX_DIRS($srcdir/build-scripts) -+AC_CONFIG_AUX_DIR([build-scripts]) - AC_CANONICAL_HOST - AC_C_BIGENDIAN - if test x$ac_cv_c_bigendian = xyes; then -@@ -2456,7 +2456,7 @@ - SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" - SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows" - ;; -- *-*-beos*) -+ *-*-beos* | *-*-haiku*) - ARCH=beos - ac_default_prefix=/boot/develop/tools/gnupro - CheckDummyVideo -diff -urN SDL-1.2.13/include/SDL_platform.h SDL-1.2.13-haiku/include/SDL_platform.h ---- SDL-1.2.13/include/SDL_platform.h 2009-02-15 23:41:29.000000000 +0000 -+++ SDL-1.2.13-haiku/include/SDL_platform.h 2009-02-15 23:39:24.000000000 +0000 -@@ -33,6 +33,10 @@ - #undef __BEOS__ - #define __BEOS__ 1 - #endif -+#if defined(__HAIKU__) -+#undef __HAIKU__ -+#define __HAIKU__ 1 -+#endif - #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__) - #undef __BSDI__ - #define __BSDI__ 1 -diff -urN SDL-1.2.13/include/begin_code.h SDL-1.2.13-haiku/include/begin_code.h ---- SDL-1.2.13/include/begin_code.h 2009-02-15 23:41:28.000000000 +0000 -+++ SDL-1.2.13-haiku/include/begin_code.h 2009-02-15 23:35:54.000000000 +0000 -@@ -33,7 +33,7 @@ - - /* Some compilers use a special export keyword */ - #ifndef DECLSPEC --# if defined(__BEOS__) -+# if defined(__BEOS__) || defined(__HAIKU__) - # if defined(__GNUC__) - # define DECLSPEC __declspec(dllexport) - # else -diff -urN SDL-1.2.13/src/video/bwindow/SDL_sysvideo.cc SDL-1.2.13-haiku/src/video/bwindow/SDL_sysvideo.cc ---- SDL-1.2.13/src/video/bwindow/SDL_sysvideo.cc 2009-02-15 23:41:31.000000000 +0000 -+++ SDL-1.2.13-haiku/src/video/bwindow/SDL_sysvideo.cc 2009-02-15 23:36:16.000000000 +0000 - static void BE_FreeHWSurface(_THIS, SDL_Surface *surface); - - static int BE_ToggleFullScreen(_THIS, int fullscreen); --static SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); -+SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); - - /* OpenGL functions */ - #if SDL_VIDEO_OPENGL -@@ -637,8 +637,12 @@ - int32 cookie = 0; - while (get_next_image_info(0,&cookie,&info) == B_OK) { - void *location = NULL; -- if (get_image_symbol((image_id)cookie,"glBegin",B_SYMBOL_TYPE_ANY,&location) == B_OK) { -- _this->gl_config.dll_handle = (void*)cookie; -+#ifdef __HAIKU__ -+ if (get_image_symbol(info.id,"glBegin",B_SYMBOL_TYPE_ANY,&location) == B_OK) { // This is how it actually works in Haiku -+#else -+ if (get_image_symbol((image_id)cookie,"glBegin",B_SYMBOL_TYPE_ANY,&location) == B_OK) { // I don't know if that *did* work in BeOS -+#endif -+ _this->gl_config.dll_handle = (void*)info.id; - _this->gl_config.driver_loaded = 1; - SDL_strlcpy(_this->gl_config.driver_path, "libGL.so", SDL_arraysize(_this->gl_config.driver_path)); - } -diff -urN SDL-1.2.13/test/configure.in SDL-1.2.13-haiku/test/configure.in ---- SDL-1.2.13/test/configure.in 2009-02-15 23:41:29.000000000 +0000 -+++ SDL-1.2.13-haiku/test/configure.in 2009-02-15 23:35:54.000000000 +0000 -@@ -20,7 +20,7 @@ - MATHLIB="" - SYS_GL_LIBS="-lopengl32" - ;; -- *-*-beos*) -+ *-*-beos* | *-*-haiku*) - EXE="" - MATHLIB="" - SYS_GL_LIBS="-lGL" -diff -urN SDL-1.2.13/test/testplatform.c SDL-1.2.13-haiku/test/testplatform.c ---- SDL-1.2.13/test/testplatform.c 2009-02-15 23:41:29.000000000 +0000 -+++ SDL-1.2.13-haiku/test/testplatform.c 2009-02-15 23:48:14.000000000 +0000 -@@ -162,6 +162,8 @@ - "Dreamcast" - #elif __FREEBSD__ - "FreeBSD" -+#elif __HAIKU__ -+ "Haiku" - #elif __HPUX__ - "HP-UX" - #elif __IRIX__ -diff -rup SDL-1.2.13/src/video/bwindow/SDL_sysyuv.cc SDL-1.2.13-haiku/src/video/bwindow/SDL_sysyuv.cc ---- SDL-1.2.13/src/video/bwindow/SDL_sysyuv.cc 2009-02-25 15:32:44.000000000 +0100 -+++ SDL-1.2.13-haiku/src/video/bwindow/SDL_sysyuv.cc 2009-02-25 15:29:59.000000000 +0100 -@@ -94,7 +94,7 @@ BBitmap * BE_GetOverlayBitmap(BRect boun - - // See [btw: Cb=U, Cr=V] - // See also http://www.fourcc.org/indexyuv.htm --enum color_space convert_color_space(Uint32 format) { -+color_space convert_color_space(Uint32 format) { - switch (format) { - case SDL_YV12_OVERLAY: - return B_YUV9; diff --git a/media-libs/libsdl/sdl-1.2-haiku.diff b/media-libs/libsdl/sdl-1.2-haiku.diff deleted file mode 100644 index 513570425..000000000 --- a/media-libs/libsdl/sdl-1.2-haiku.diff +++ /dev/null @@ -1,160 +0,0 @@ -Index: src/video/bwindow/SDL_sysyuv.cc -=================================================================== ---- src/video/bwindow/SDL_sysyuv.cc (revision 4456) -+++ src/video/bwindow/SDL_sysyuv.cc (working copy) -@@ -94,7 +94,7 @@ - - // See [btw: Cb=U, Cr=V] - // See also http://www.fourcc.org/indexyuv.htm --enum color_space convert_color_space(Uint32 format) { -+color_space convert_color_space(Uint32 format) { - switch (format) { - case SDL_YV12_OVERLAY: - return B_YUV9; -Index: src/video/bwindow/SDL_sysyuv.h -=================================================================== ---- src/video/bwindow/SDL_sysyuv.h (revision 4456) -+++ src/video/bwindow/SDL_sysyuv.h (working copy) -@@ -62,7 +62,7 @@ - }; - - extern BBitmap * BE_GetOverlayBitmap(BRect bounds, color_space cs); --extern SDL_Overlay* BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface* display); -+SDL_Overlay* BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface* display); - extern int BE_LockYUVOverlay(_THIS, SDL_Overlay* overlay); - extern void BE_UnlockYUVOverlay(_THIS, SDL_Overlay* overlay); - extern int BE_DisplayYUVOverlay(_THIS, SDL_Overlay* overlay, SDL_Rect* src, SDL_Rect* dst); -Index: src/video/bwindow/SDL_sysvideo.cc -=================================================================== ---- src/video/bwindow/SDL_sysvideo.cc (revision 4456) -+++ src/video/bwindow/SDL_sysvideo.cc (working copy) -@@ -57,7 +57,7 @@ - static void BE_FreeHWSurface(_THIS, SDL_Surface *surface); - - static int BE_ToggleFullScreen(_THIS, int fullscreen); --static SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); -+SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); - - /* OpenGL functions */ - #if SDL_VIDEO_OPENGL -@@ -637,8 +637,12 @@ - int32 cookie = 0; - while (get_next_image_info(0,&cookie,&info) == B_OK) { - void *location = NULL; -- if (get_image_symbol((image_id)cookie,"glBegin",B_SYMBOL_TYPE_ANY,&location) == B_OK) { -- _this->gl_config.dll_handle = (void*)cookie; -+#ifdef __HAIKU__ -+ if (get_image_symbol(info.id,"glBegin",B_SYMBOL_TYPE_ANY,&location) == B_OK) { // This is how it actually works in Haiku -+#else -+ if (get_image_symbol((image_id)cookie,"glBegin",B_SYMBOL_TYPE_ANY,&location) == B_OK) { // I don't know if that *did* work in BeOS -+#endif -+ _this->gl_config.dll_handle = (void*)info.id; - _this->gl_config.driver_loaded = 1; - SDL_strlcpy(_this->gl_config.driver_path, "libGL.so", SDL_arraysize(_this->gl_config.driver_path)); - } -Index: test/configure.in -=================================================================== ---- test/configure.in (revision 4456) -+++ test/configure.in (working copy) -@@ -20,7 +20,7 @@ - MATHLIB="" - SYS_GL_LIBS="-lopengl32" - ;; -- *-*-beos*) -+ *-*-beos* | *-*-haiku*) - EXE="" - MATHLIB="" - SYS_GL_LIBS="-lGL" -Index: test/testplatform.c -=================================================================== ---- test/testplatform.c (revision 4456) -+++ test/testplatform.c (working copy) -@@ -162,6 +162,8 @@ - "Dreamcast" - #elif __FREEBSD__ - "FreeBSD" -+#elif __HAIKU__ -+ "Haiku" - #elif __HPUX__ - "HP-UX" - #elif __IRIX__ -Index: include/begin_code.h -=================================================================== ---- include/begin_code.h (revision 4456) -+++ include/begin_code.h (working copy) -@@ -33,7 +33,7 @@ - - /* Some compilers use a special export keyword */ - #ifndef DECLSPEC --# if defined(__BEOS__) -+# if defined(__BEOS__) || defined(__HAIKU__) - # if defined(__GNUC__) - # define DECLSPEC __declspec(dllexport) - # else -Index: include/SDL_platform.h -=================================================================== ---- include/SDL_platform.h (revision 4456) -+++ include/SDL_platform.h (working copy) -@@ -33,6 +33,10 @@ - #undef __BEOS__ - #define __BEOS__ 1 - #endif -+#if defined(__HAIKU__) -+#undef __HAIKU__ -+#define __HAIKU__ 1 -+#endif - #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__) - #undef __BSDI__ - #define __BSDI__ 1 -@@ -45,6 +49,10 @@ - #undef __FREEBSD__ - #define __FREEBSD__ 1 - #endif -+#if defined(__HAIKU__) -+#undef __HAIKU__ -+#define __HAIKU__ 1 -+#endif - #if defined(hpux) || defined(__hpux) || defined(__hpux__) - #undef __HPUX__ - #define __HPUX__ 1 -Index: configure.in -=================================================================== ---- configure.in (revision 4456) -+++ configure.in (working copy) -@@ -40,7 +40,7 @@ - AC_SUBST(LT_AGE) - - dnl Detect the canonical build and host environments --AC_CONFIG_AUX_DIRS($srcdir/build-scripts) -+AC_CONFIG_AUX_DIR([build-scripts]) - AC_CANONICAL_HOST - AC_C_BIGENDIAN - if test x$ac_cv_c_bigendian = xyes; then -@@ -2493,7 +2493,7 @@ - SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main -D_WIN32_WCE=0x420" - SDL_LIBS="-lSDLmain $SDL_LIBS" - ;; -- *-*-beos*) -+ *-*-beos* | *-*-haiku*) - ARCH=beos - ac_default_prefix=/boot/develop/tools/gnupro - CheckDummyVideo -@@ -2536,8 +2536,16 @@ - fi - # Set up files for the shared object loading library - if test x$enable_loadso = xyes; then -- AC_DEFINE(SDL_LOADSO_BEOS) -- SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c" -+ case "$host" in -+ *-*-beos*) -+ AC_DEFINE(SDL_LOADSO_BEOS) -+ SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c" -+ ;; -+ *-*-haiku*) -+ AC_DEFINE(SDL_LOADSO_DLOPEN) -+ SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c" -+ ;; -+ esac - have_loadso=yes - fi - # The BeOS platform requires special setup. diff --git a/media-libs/libsdl/sdl-1.2-svn-4901-haiku.diff b/media-libs/libsdl/sdl-1.2-svn-4901-haiku.diff deleted file mode 100644 index 587110b84..000000000 --- a/media-libs/libsdl/sdl-1.2-svn-4901-haiku.diff +++ /dev/null @@ -1,240 +0,0 @@ -Index: src/video/bwindow/SDL_BWin.h -=================================================================== ---- src/video/bwindow/SDL_BWin.h (revision 4901) -+++ src/video/bwindow/SDL_BWin.h (working copy) -@@ -267,6 +267,8 @@ - } - - virtual void DispatchMessage(BMessage *msg, BHandler *target); -+ -+ virtual void DirectConnected(direct_buffer_info *info); - - private: - #if SDL_VIDEO_OPENGL -Index: src/video/bwindow/SDL_sysevents.cc -=================================================================== ---- src/video/bwindow/SDL_sysevents.cc (revision 4901) -+++ src/video/bwindow/SDL_sysevents.cc (working copy) -@@ -379,3 +379,20 @@ - } - BDirectWindow::DispatchMessage(msg, target); - } -+ -+void SDL_BWin::DirectConnected(direct_buffer_info *info) { -+ switch (info->buffer_state & B_DIRECT_MODE_MASK) { -+ case B_DIRECT_START: -+ case B_DIRECT_MODIFY: -+ { -+ int32 width = info->window_bounds.right - -+ info->window_bounds.left + 1; -+ int32 height = info->window_bounds.bottom - -+ info->window_bounds.top + 1; -+ SDL_PrivateResize(width, height); -+ break; -+ } -+ default: -+ break; -+ } -+} -Index: src/video/bwindow/SDL_sysvideo.cc -=================================================================== ---- src/video/bwindow/SDL_sysvideo.cc (revision 4901) -+++ src/video/bwindow/SDL_sysvideo.cc (working copy) -@@ -57,7 +57,7 @@ - static void BE_FreeHWSurface(_THIS, SDL_Surface *surface); - - static int BE_ToggleFullScreen(_THIS, int fullscreen); --SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); -+static SDL_Overlay *BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface *display); - - /* OpenGL functions */ - #if SDL_VIDEO_OPENGL -@@ -358,16 +358,25 @@ - (current.timing.h_total * current.timing.v_total); - - modes = SDL_modelist[((bpp+7)/8)-1]; -- for ( i=0; modes[i] && (modes[i]->w > width) && -- (modes[i]->h > height); ++i ) { -- /* still looking */ -+ -+ // find end of list (lowest-resolution mode; modes are ordered -+ // highest-to-lowest). -+ i = 0; while(modes[i]) i++; -+ if (!i) return false; // what? no modes at all? -+ -+ // find first mode with resolution >= requested in both dimensions -+ for (--i; i >= 0; --i) -+ { -+ if (modes[i]->w >= width && modes[i]->h >= height) -+ break; - } -- if ( ! modes[i] || (modes[i]->w < width) || (modes[i]->h < width) ) { -- --i; /* We went too far */ -- } -- -+ -+ // unable to find any mode with that high a resolution! -+ if (i < 0) -+ return false; -+ - width = modes[i]->w; -- height = modes[i]->h; -+ height = modes[i]->h; - - bscreen.GetModeList(&dmodes, &nmodes); - for ( i = 0; i < nmodes; ++i ) { -@@ -396,88 +405,88 @@ - - static int BE_SetFullScreen(_THIS, SDL_Surface *screen, int fullscreen) - { -- int was_fullscreen; -- bool needs_unlock; -+ // printf("SetFullScreen(%d)\n", fullscreen); - BScreen bscreen; -- BRect bounds; -- display_mode mode; -- int width, height, bpp; - -- /* Set the fullscreen mode */ -- was_fullscreen = SDL_Win->IsFullScreen(); -- SDL_Win->SetFullScreen(fullscreen); -- fullscreen = SDL_Win->IsFullScreen(); -+ // SetFullSscreen() does not work as expected if called in a window -+ // that was never shown. This is probably a bug in the Haiku Game Kit that needs -+ // to be investigated. -+ if (SDL_Win->Lock()) { -+ // Show our window. -+ SDL_Win->Show(); -+ } -+ -+ if (SDL_Win->IsLocked()) { -+ // Unlock the window if it was locked. This is needed as only the -+ // first call to Show() unlocks the looper. All other calls to it -+ // will not. -+ SDL_Win->Unlock(); -+ } - -- width = screen->w; -- height = screen->h; -+ int width = screen->w; -+ int height = screen->h; -+ -+ if (fullscreen) { -+ // Set resolution to the closest available one that matches the -+ // current SDL resolution. -+ display_mode mode; -+ bscreen.GetMode(&mode); - -- /* Set the appropriate video mode */ -- if ( fullscreen ) { -- bpp = screen->format->BitsPerPixel; -- bscreen.GetMode(&mode); -- if ( (bpp != ColorSpaceToBitsPerPixel(mode.space)) || -- (width != mode.virtual_width) || -- (height != mode.virtual_height)) { -+ int bpp = screen->format->BitsPerPixel; -+ if (bpp != ColorSpaceToBitsPerPixel(mode.space) || -+ width != mode.virtual_width || height != mode.virtual_height) { - if(BE_FindClosestFSMode(_this, width, height, bpp, &mode)) { - bscreen.SetMode(&mode); -- /* This simply stops the next resize event from being -- * sent to the SDL handler. -- */ -- SDL_Win->InhibitResize(); - } else { -- fullscreen = 0; -- SDL_Win->SetFullScreen(fullscreen); -- } -+ // printf("Could not set new mode.\n"); -+ return(0); -+ } - } -+ } else { -+ // Reset to the previous known resolution as we are now in window -+ // mode. -+ bscreen.SetMode(&saved_mode); - } -- if ( was_fullscreen && ! fullscreen ) { -- bscreen.SetMode(&saved_mode); -- } -- -- if ( SDL_Win->Lock() ) { -- int cx, cy; -- if ( SDL_Win->Shown() ) { -- needs_unlock = 1; -- SDL_Win->Hide(); -- } else { -- needs_unlock = 0; -- } -- /* This resizes the window and view area, but inhibits resizing -- * of the BBitmap due to the InhibitResize call above. Thus the -- * bitmap (pixel data) never changes. -- */ -+ -+ // Effectivelly set/reset full screen mode. If we are already in -+ // full screen mode, we reset back to windowed mode first so the -+ // window can resize when going fullscreen. -+ // if (fullscreen) -+ // printf("Going fullscreen\n"); -+ // else -+ // printf("Going windowed\n"); -+ SDL_Win->SetFullScreen(fullscreen); -+ -+ // Calculate offsets for centering the window (in window mode) and for -+ // dentering the bitmap (in full screen mode). -+ BRect bounds = bscreen.Frame(); -+ bounds.PrintToStream(); -+ int32 cx = (bounds.IntegerWidth() - width)/2; -+ int32 cy = (bounds.IntegerHeight() - height)/2; -+ -+ // printf ("cx = %d, cy = %d\n", cx, cy); -+ if (!SDL_Win->IsFullScreen()) { -+ // printf("Doing not fullscreen stuff.\n"); -+ // We are not in full screen mode, so we want to change the window -+ // size to match the resolution in SDL. - SDL_Win->ResizeTo(width, height); -- bounds = bscreen.Frame(); -- /* Calculate offsets - used either to center window -- * (windowed mode) or to set drawing offsets (fullscreen mode) -- */ -- cx = (bounds.IntegerWidth() - width)/2; -- cy = (bounds.IntegerHeight() - height)/2; -- -- if ( fullscreen ) { -- /* Set offset for drawing */ -- SDL_Win->SetXYOffset(cx, cy); -- } else { -- SDL_Win->SetXYOffset(0, 0); -- } -- if ( ! needs_unlock || was_fullscreen ) { -- /* Center the window the first time */ -- SDL_Win->MoveTo(cx, cy); -- } -- SDL_Win->Show(); - -- /* Unlock the window manually after the first Show() */ -- if ( needs_unlock ) { -- SDL_Win->Unlock(); -- } -+ // And also center the window and reset the drawing offset. -+ SDL_Win->MoveTo(cx, cy); -+ SDL_Win->SetXYOffset(0, 0); -+ } else { -+ // printf("Doing fullscreen stuff."); -+ // Center the bitmap whenever we are in full screen mode. -+ SDL_Win->SetXYOffset(cx, cy); - } -- -- /* Set the fullscreen flag in the screen surface */ -- if ( fullscreen ) { -+ -+ // Set relevant internal SDL screen flags. -+ if (SDL_Win->IsFullScreen()) { - screen->flags |= SDL_FULLSCREEN; - } else { - screen->flags &= ~SDL_FULLSCREEN; - } -+ - return(1); - } - diff --git a/media-libs/libsdl/sdl-1.2.13-haiku-bwindow-sysvideo.diff b/media-libs/libsdl/sdl-1.2.13-haiku-bwindow-sysvideo.diff deleted file mode 100644 index 27a3583ca..000000000 --- a/media-libs/libsdl/sdl-1.2.13-haiku-bwindow-sysvideo.diff +++ /dev/null @@ -1,37 +0,0 @@ -diff -urN SDL-1.2.13/src/video/bwindow/SDL_sysvideo.cc SDL-1.2.13-haiku/src/video/bwindow/SDL_sysvideo.cc ---- SDL-1.2.13/src/video/bwindow/SDL_sysvideo.cc 2007-12-31 04:48:12.000000000 +0000 -+++ SDL-1.2.13-haiku/src/video/bwindow/SDL_sysvideo.cc 2009-09-19 21:01:51.000000000 +0000 -@@ -358,16 +358,25 @@ - (current.timing.h_total * current.timing.v_total); - - modes = SDL_modelist[((bpp+7)/8)-1]; -- for ( i=0; modes[i] && (modes[i]->w > width) && -- (modes[i]->h > height); ++i ) { -- /* still looking */ -- } -- if ( ! modes[i] || (modes[i]->w < width) || (modes[i]->h < width) ) { -- --i; /* We went too far */ -+ -+ // find end of list (lowest-resolution mode; modes are ordered -+ // highest-to-lowest). -+ i = 0; while(modes[i]) i++; -+ if (!i) return false; // what? no modes at all? -+ -+ // find first mode with resolution >= requested in both dimensions -+ for (--i; i >= 0; --i) -+ { -+ if (modes[i]->w >= width && modes[i]->h >= height) -+ break; - } -- -+ -+ // unable to find any mode with that high a resolution! -+ if (i < 0) -+ return false; -+ - width = modes[i]->w; -- height = modes[i]->h; -+ height = modes[i]->h; - - bscreen.GetModeList(&dmodes, &nmodes); - for ( i = 0; i < nmodes; ++i ) { diff --git a/media-libs/libsdl/sdl-svn-r4114-haiku.diff b/media-libs/libsdl/sdl-svn-r4114-haiku.diff deleted file mode 100644 index 1f40c7e7b..000000000 --- a/media-libs/libsdl/sdl-svn-r4114-haiku.diff +++ /dev/null @@ -1,85 +0,0 @@ -Index: test/configure.in -=================================================================== ---- test/configure.in (revision 4114) -+++ test/configure.in (working copy) -@@ -20,7 +20,7 @@ - MATHLIB="" - SYS_GL_LIBS="-lopengl32" - ;; -- *-*-beos*) -+ *-*-beos* | *-*-haiku*) - EXE="" - MATHLIB="" - SYS_GL_LIBS="-lGL" -Index: test/testplatform.c -=================================================================== ---- test/testplatform.c (revision 4114) -+++ test/testplatform.c (working copy) -@@ -154,7 +154,11 @@ - printf("This system is running %s\n", - #if __AIX__ - "AIX" --#elif __BEOS__ -+#elif __HAIKU__ -+ "Haiku" -+ /* Haiku must appear here before BeOS, -+ since it also defines __BEOS__ */ -+#elif __BEOS__ - "BeOS" - #elif __BSDI__ - "BSDI" -Index: include/begin_code.h -=================================================================== ---- include/begin_code.h (revision 4114) -+++ include/begin_code.h (working copy) -@@ -33,7 +33,7 @@ - - /* Some compilers use a special export keyword */ - #ifndef DECLSPEC --# if defined(__BEOS__) -+# if defined(__BEOS__) || defined(__HAIKU__) - # if defined(__GNUC__) - # define DECLSPEC __declspec(dllexport) - # else -Index: include/SDL_platform.h -=================================================================== ---- include/SDL_platform.h (revision 4114) -+++ include/SDL_platform.h (working copy) -@@ -29,10 +29,14 @@ - #undef __AIX__ - #define __AIX__ 1 - #endif --#if defined(__BEOS__) -+#if defined(__BEOS__) && !defined(__HAIKU__) - #undef __BEOS__ - #define __BEOS__ 1 - #endif -+#if defined(__HAIKU__) -+#undef __HAIKU__ -+#define __HAIKU__ 1 -+#endif - #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__) - #undef __BSDI__ - #define __BSDI__ 1 -Index: configure.in -=================================================================== ---- configure.in (revision 4114) -+++ configure.in (working copy) -@@ -40,7 +40,7 @@ - AC_SUBST(LT_AGE) - - dnl Detect the canonical build and host environments --AC_CONFIG_AUX_DIRS($srcdir/build-scripts) -+AC_CONFIG_AUX_DIR([build-scripts]) - AC_CANONICAL_HOST - AC_C_BIGENDIAN - if test x$ac_cv_c_bigendian = xyes; then -@@ -2493,7 +2493,7 @@ - SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main -D_WIN32_WCE=0x420" - SDL_LIBS="-lSDLmain $SDL_LIBS" - ;; -- *-*-beos*) -+ *-*-beos* | *-*-haiku*) - ARCH=beos - ac_default_prefix=/boot/develop/tools/gnupro - CheckDummyVideo