include/SDL_platform.h
author Sam Lantinga <slouken@libsdl.org>
Mon, 21 Sep 2009 09:21:00 +0000
changeset 3292 245a7d79577c
parent 2871 cf09447f3d3c
child 3319 63d4517fc4ac
permissions -rw-r--r--
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/
     1 /*
     2     SDL - Simple DirectMedia Layer
     3     Copyright (C) 1997-2009 Sam Lantinga
     4 
     5     This library is free software; you can redistribute it and/or
     6     modify it under the terms of the GNU Lesser General Public
     7     License as published by the Free Software Foundation; either
     8     version 2.1 of the License, or (at your option) any later version.
     9 
    10     This library is distributed in the hope that it will be useful,
    11     but WITHOUT ANY WARRANTY; without even the implied warranty of
    12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13     Lesser General Public License for more details.
    14 
    15     You should have received a copy of the GNU Lesser General Public
    16     License along with this library; if not, write to the Free Software
    17     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    18 
    19     Sam Lantinga
    20     slouken@libsdl.org
    21 */
    22 
    23 /* Try to get a standard set of platform defines */
    24 
    25 #ifndef _SDL_platform_h
    26 #define _SDL_platform_h
    27 
    28 #if defined(_AIX)
    29 #undef __AIX__
    30 #define __AIX__		1
    31 #endif
    32 #if defined(__BEOS__)
    33 #undef __BEOS__
    34 #define __BEOS__	1
    35 #endif
    36 #if defined(__HAIKU__)
    37 #undef __HAIKU__
    38 #define __HAIKU__	1
    39 #endif
    40 #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
    41 #undef __BSDI__
    42 #define __BSDI__	1
    43 #endif
    44 #if defined(_arch_dreamcast)
    45 #undef __DREAMCAST__
    46 #define __DREAMCAST__	1
    47 #endif
    48 #if defined(__FreeBSD__) || defined(__DragonFly__)
    49 #undef __FREEBSD__
    50 #define __FREEBSD__	1
    51 #endif
    52 #if defined(hpux) || defined(__hpux) || defined(__hpux__)
    53 #undef __HPUX__
    54 #define __HPUX__	1
    55 #endif
    56 #if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
    57 #undef __IRIX__
    58 #define __IRIX__	1
    59 #endif
    60 #if defined(linux) || defined(__linux) || defined(__linux__)
    61 #undef __LINUX__
    62 #define __LINUX__	1
    63 #endif
    64 
    65 #if defined(__APPLE__)
    66 /* lets us know what version of Mac OS X we're compiling on */
    67 #include "AvailabilityMacros.h"
    68 #ifdef MAC_OS_X_VERSION_10_3
    69 #include "TargetConditionals.h" /* this header is in 10.3 or later */
    70 #if TARGET_OS_IPHONE
    71 /* if compiling for iPhone */
    72 #undef __IPHONEOS__
    73 #define __IPHONEOS__ 1
    74 #undef __MACOSX__
    75 #else
    76 /* if not compiling for iPhone */
    77 #undef __MACOSX__
    78 #define __MACOSX__	1
    79 #endif /* TARGET_OS_IPHONE */
    80 #else
    81 /* if earlier verion of Mac OS X than version 10.3 */
    82 #undef __MACOSX__
    83 #define __MACOSX__	1
    84 #endif
    85 
    86 #endif /* defined(__APPLE__) */
    87 
    88 #if defined(__NetBSD__)
    89 #undef __NETBSD__
    90 #define __NETBSD__	1
    91 #endif
    92 #if defined(__OpenBSD__)
    93 #undef __OPENBSD__
    94 #define __OPENBSD__	1
    95 #endif
    96 #if defined(__OS2__)
    97 #undef __OS2__
    98 #define __OS2__		1
    99 #endif
   100 #if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
   101 #undef __OSF__
   102 #define __OSF__		1
   103 #endif
   104 #if defined(__QNXNTO__)
   105 #undef __QNXNTO__
   106 #define __QNXNTO__	1
   107 #endif
   108 #if defined(riscos) || defined(__riscos) || defined(__riscos__)
   109 #undef __RISCOS__
   110 #define __RISCOS__	1
   111 #endif
   112 #if defined(__SVR4)
   113 #undef __SOLARIS__
   114 #define __SOLARIS__	1
   115 #endif
   116 #if defined(WIN32) || defined(_WIN32)
   117 #undef __WIN32__
   118 #define __WIN32__	1
   119 #endif
   120 
   121 #if defined(__NDS__)
   122 #undef __NINTENDODS__
   123 #define __NINTENDODS__	1
   124 #endif
   125 
   126 #endif /* _SDL_platform_h */