patch for sdl-1.2 svn merging all of the various haiku patches into one.

This commit is contained in:
Scott McCreary
2009-03-06 06:25:31 +00:00
parent 552bdddbf2
commit 8000a963e5

View File

@@ -0,0 +1,138 @@
Index: src/video/bwindow/SDL_sysyuv.cc
===================================================================
--- src/video/bwindow/SDL_sysyuv.cc (revision 4454)
+++ src/video/bwindow/SDL_sysyuv.cc (working copy)
@@ -94,7 +94,7 @@
// See <GraphicsDefs.h> [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_sysvideo.cc
===================================================================
--- src/video/bwindow/SDL_sysvideo.cc (revision 4454)
+++ src/video/bwindow/SDL_sysvideo.cc (working copy)
@@ -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 4454)
+++ 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 4454)
+++ 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 4454)
+++ 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 4454)
+++ 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 4454)
+++ 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.