Upload 2.0.2
[physicsfs] / physfs_platforms.h
1 #ifndef _INCL_PHYSFS_PLATFORMS
2 #define _INCL_PHYSFS_PLATFORMS
3
4 #ifndef __PHYSICSFS_INTERNAL__
5 #error Do not include this header from your applications.
6 #endif
7
8 /*
9  * These only define the platforms to determine which files in the platforms
10  *  directory should be compiled. For example, technically BeOS can be called
11  *  a "unix" system, but since it doesn't use unix.c, we don't define
12  *  PHYSFS_PLATFORM_UNIX on that system.
13  */
14
15 #if (defined __HAIKU__)
16 #  define PHYSFS_PLATFORM_HAIKU
17 #  define PHYSFS_PLATFORM_BEOS
18 #  define PHYSFS_PLATFORM_POSIX
19 #elif ((defined __BEOS__) || (defined __beos__))
20 #  define PHYSFS_PLATFORM_BEOS
21 #  define PHYSFS_PLATFORM_POSIX
22 #elif (defined _WIN32_WCE) || (defined _WIN64_WCE)
23 #  define PHYSFS_PLATFORM_POCKETPC
24 #elif (((defined _WIN32) || (defined _WIN64)) && (!defined __CYGWIN__))
25 #  define PHYSFS_PLATFORM_WINDOWS
26 #elif (defined OS2)
27 #  define PHYSFS_PLATFORM_OS2
28 #elif ((defined __MACH__) && (defined __APPLE__))
29 /* To check if iphone or not, we need to include this file */
30 # include <TargetConditionals.h> 
31 # if ((TARGET_IPHONE_SIMULATOR) || (TARGET_OS_IPHONE))
32 #    define PHYSFS_PLATFORM_UNIX
33 #    define PHYSFS_PLATFORM_POSIX
34 #    define PHYSFS_NO_CDROM_SUPPORT
35 #  else
36 #    define PHYSFS_PLATFORM_MACOSX
37 #    define PHYSFS_PLATFORM_POSIX
38 #  endif
39 #elif defined(macintosh)
40 #  error Classic Mac OS support was dropped from PhysicsFS 2.0. Move to OS X.
41 #elif defined(unix)
42 #  define PHYSFS_PLATFORM_UNIX
43 #  define PHYSFS_PLATFORM_POSIX
44 #else
45 #  error Unknown platform.
46 #endif
47
48 #endif  /* include-once blocker. */
49