src/physfs_platforms.h
changeset 972 254427fc42ab
parent 954 7f59a79739ba
child 1011 6bc1363ad17d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/physfs_platforms.h	Fri Mar 27 15:10:42 2009 -0400
@@ -0,0 +1,49 @@
+#ifndef _INCL_PHYSFS_PLATFORMS
+#define _INCL_PHYSFS_PLATFORMS
+
+#ifndef __PHYSICSFS_INTERNAL__
+#error Do not include this header from your applications.
+#endif
+
+/*
+ * These only define the platforms to determine which files in the platforms
+ *  directory should be compiled. For example, technically BeOS can be called
+ *  a "unix" system, but since it doesn't use unix.c, we don't define
+ *  PHYSFS_PLATFORM_UNIX on that system.
+ */
+
+#if (defined __HAIKU__)
+#  define PHYSFS_PLATFORM_HAIKU
+#  define PHYSFS_PLATFORM_BEOS
+#  define PHYSFS_PLATFORM_POSIX
+#elif ((defined __BEOS__) || (defined __beos__))
+#  define PHYSFS_PLATFORM_BEOS
+#  define PHYSFS_PLATFORM_POSIX
+#elif (defined _WIN32_WCE) || (defined _WIN64_WCE)
+#  define PHYSFS_PLATFORM_POCKETPC
+#elif (((defined _WIN32) || (defined _WIN64)) && (!defined __CYGWIN__))
+#  define PHYSFS_PLATFORM_WINDOWS
+#elif (defined OS2)
+#  define PHYSFS_PLATFORM_OS2
+#elif ((defined __MACH__) && (defined __APPLE__))
+/* To check if iphone or not, we need to include this file */
+# include <TargetConditionals.h> 
+# if (defined(TARGET_IPHONE_SIMULATOR) || (defined TARGET_OS_IPHONE))
+#    define PHYSFS_PLATFORM_UNIX
+#    define PHYSFS_PLATFORM_POSIX
+#    define PHYSFS_NO_CDROM_SUPPORT
+#  else
+#    define PHYSFS_PLATFORM_MACOSX
+#    define PHYSFS_PLATFORM_POSIX
+#  endif
+#elif defined(macintosh)
+#  error Classic Mac OS support was dropped from PhysicsFS 2.0. Move to OS X.
+#elif defined(unix)
+#  define PHYSFS_PLATFORM_UNIX
+#  define PHYSFS_PLATFORM_POSIX
+#else
+#  error Unknown platform.
+#endif
+
+#endif  /* include-once blocker. */
+