diff --git src/physfs_platform_apple.m.orig src/physfs_platform_apple.m
index e6207f5..c3af928 100644
--- src/physfs_platform_apple.m.orig
+++ src/physfs_platform_apple.m
@@ -29,8 +29,12 @@ void __PHYSFS_platformDeinit(void)
 
 char *__PHYSFS_platformCalcBaseDir(const char *argv0)
 {
+#if __clang__
     @autoreleasepool
     {
+#else
+    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+#endif
         NSString *path = [[NSBundle mainBundle] bundlePath];
         BAIL_IF(!path, PHYSFS_ERR_OS_ERROR, NULL);
         size_t len = [path lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
@@ -40,14 +44,22 @@ char *__PHYSFS_platformCalcBaseDir(const char *argv0)
         retval[len] = '/';
         retval[len+1] = '\0';
         return retval;  /* whew. */
+#if __clang__
     } /* @autoreleasepool */
+#else
+    [pool release];
+#endif
 } /* __PHYSFS_platformCalcBaseDir */
 
 
 char *__PHYSFS_platformCalcPrefDir(const char *org, const char *app)
 {
+#if __clang__
     @autoreleasepool
     {
+#else
+    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+#endif
         NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, TRUE);
         BAIL_IF(!paths, PHYSFS_ERR_OS_ERROR, NULL);
         NSString *path = (NSString *) [paths objectAtIndex:0];
@@ -59,7 +71,11 @@ char *__PHYSFS_platformCalcPrefDir(const char *org, const char *app)
         [path getCString:retval maxLength:len+1 encoding:NSUTF8StringEncoding];
         snprintf(retval + len, applen + 3, "/%s/", app);
         return retval;  /* whew. */
+#if __clang__
     } /* @autoreleasepool */
+#else
+    [pool release];
+#endif
 } /* __PHYSFS_platformCalcPrefDir */
 
 
