# HG changeset patch # User Sam Lantinga # Date 1253524860 0 # Node ID 245a7d79577cdda1867ca9080be7c8487fa55b3e # Parent b273b2a8a1ea32a84b386675e4c32c6ded6b24ac Fixed bug #615 Scott McCreary 2008-08-21 10:48:14 PDT This patch adds support for Haiku. http://ports.haiku-files.org/browser/haikuports/trunk/media-libs/libsdl/SDL-1.2.13-haiku.diff Haiku is an open-source recreation of BeOS. It has better POSIX compliance than beOS did, and other improved features, which in some cases causes us to have to "undo" previous BeOS workarounds. Here's our port log entry for it, showing the steps to force the changes into configure and Makefile: http://ports.haiku-files.org/wiki/media-libs/libsdl/1.2.13/1 Note that this was only tried on 1.2.13 stable so far. Haiku is using a newer config.guess / config.sub that doesn't yet seem to be in the released libtool, so we are having to copy it in for now. http://haiku-files.org/files/optional-packages/ diff -r b273b2a8a1ea -r 245a7d79577c configure.in --- a/configure.in Mon Sep 21 09:16:35 2009 +0000 +++ b/configure.in Mon Sep 21 09:21:00 2009 +0000 @@ -2542,7 +2542,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 -r b273b2a8a1ea -r 245a7d79577c include/SDL_platform.h --- a/include/SDL_platform.h Mon Sep 21 09:16:35 2009 +0000 +++ b/include/SDL_platform.h Mon Sep 21 09:21:00 2009 +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 -r b273b2a8a1ea -r 245a7d79577c include/begin_code.h --- a/include/begin_code.h Mon Sep 21 09:16:35 2009 +0000 +++ b/include/begin_code.h Mon Sep 21 09:21:00 2009 +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 -r b273b2a8a1ea -r 245a7d79577c test/automated/platform/platform.c --- a/test/automated/platform/platform.c Mon Sep 21 09:16:35 2009 +0000 +++ b/test/automated/platform/platform.c Mon Sep 21 09:21:00 2009 +0000 @@ -139,6 +139,9 @@ return #if __AIX__ "AIX" +#elif __HAIKU__ +/* Haiku must appear here before BeOS, since it also defines __BEOS__ */ + "Haiku" #elif __BEOS__ "BeOS" #elif __BSDI__ @@ -146,7 +149,6 @@ #elif __DREAMCAST__ "Dreamcast" #elif __FREEBSD__ - "FreeBSD" #elif __HPUX__ "HP-UX" diff -r b273b2a8a1ea -r 245a7d79577c test/configure.in --- a/test/configure.in Mon Sep 21 09:16:35 2009 +0000 +++ b/test/configure.in Mon Sep 21 09:21:00 2009 +0000 @@ -20,7 +20,7 @@ MATHLIB="" SYS_GL_LIBS="-lopengl32" ;; - *-*-beos*) + *-*-beos* | *-*-haiku*) EXE="" MATHLIB="" SYS_GL_LIBS="-lGL" diff -r b273b2a8a1ea -r 245a7d79577c test/testplatform.c --- a/test/testplatform.c Mon Sep 21 09:16:35 2009 +0000 +++ b/test/testplatform.c Mon Sep 21 09:21:00 2009 +0000 @@ -160,6 +160,9 @@ printf("This system is running %s\n", #if __AIX__ "AIX" +#elif __HAIKU__ +/* Haiku must appear here before BeOS, since it also defines __BEOS__ */ + "Haiku" #elif __BEOS__ "BeOS" #elif __BSDI__