diff -u -r gnustep-base-1.18.0-orig/Headers/Additions/GNUstepBase/GSCategories.h gnustep-base-1.18.0/Headers/Additions/GNUstepBase/GSCategories.h
--- gnustep-base-1.18.0-orig/Headers/Additions/GNUstepBase/GSCategories.h	2008-12-19 02:06:14.000000000 -0700
+++ gnustep-base-1.18.0/Headers/Additions/GNUstepBase/GSCategories.h	2009-02-16 10:06:19.000000000 -0700
@@ -64,10 +64,6 @@
  * Macros
  */
 
-// Following are also defined in base/Headers/Foundation/NSObject.h
-#define IF_NO_GC(x)	\
-    x
-
 // Following are also defined in base/Headers/Foundation/NSDebug.h
 #ifdef DEBUG
 #define NSDebugLLog(level, format, args...) \
@@ -182,7 +178,18 @@
   NSUTF7StringEncoding = 64,		// RFC 2152
   NSGSM0338StringEncoding,		// GSM (mobile phone) default alphabet
   NSBIG5StringEncoding,			// Traditional chinese
-  NSKoreanEUCStringEncoding
+  NSKoreanEUCStringEncoding,
+//#if OS_API_VERSION(100400,GS_API_LATEST) 
+#if MAC_OS_X_VERSION_10_4 <= MAC_OS_X_VERSION_MAX_ALLOWED
+    NSUTF16BigEndianStringEncoding = 0x90000100,          /* NSUTF16StringEncoding encoding with explicit endianness specified */
+    NSUTF16LittleEndianStringEncoding = 0x94000100,       /* NSUTF16StringEncoding encoding with explicit endianness specified */
+
+    NSUTF32StringEncoding = 0x8c000100,
+    NSUTF32BigEndianStringEncoding = 0x98000100,          /* NSUTF32StringEncoding encoding with explicit endianness specified */
+    NSUTF32LittleEndianStringEncoding = 0x9c000100,        /* NSUTF32StringEncoding encoding with explicit endianness specified */
+#endif
+
+  GSEncodingUnusedLast
 } NSGNUstepStringEncoding;
 
 
diff -u -r gnustep-base-1.18.0-orig/Headers/Additions/GNUstepBase/GSUnion.h gnustep-base-1.18.0/Headers/Additions/GNUstepBase/GSUnion.h
--- gnustep-base-1.18.0-orig/Headers/Additions/GNUstepBase/GSUnion.h	2008-06-16 09:34:50.000000000 -0600
+++ gnustep-base-1.18.0/Headers/Additions/GNUstepBase/GSUnion.h	2009-02-16 09:59:29.000000000 -0700
@@ -27,6 +27,13 @@
  */
 #import <Foundation/NSObjCRuntime.h>
 
+/* These are not defined in older Mac OS X systems */
+#ifndef NSINTEGER_DEFINED
+typedef int NSInteger;
+typedef unsigned int NSUInteger;
+#define NSINTEGER_DEFINED 1
+#endif
+
 /*
  *	Definitions for bitmap mask of types of element in union.
  */
diff -u -r gnustep-base-1.18.0-orig/Headers/Foundation/NSObjCRuntime.h gnustep-base-1.18.0/Headers/Foundation/NSObjCRuntime.h
--- gnustep-base-1.18.0-orig/Headers/Foundation/NSObjCRuntime.h	2008-12-19 02:06:14.000000000 -0700
+++ gnustep-base-1.18.0/Headers/Foundation/NSObjCRuntime.h	2009-02-16 09:58:23.000000000 -0700
@@ -37,6 +37,8 @@
 typedef	gsaddr	NSInteger;
 typedef	gsuaddr	NSUInteger;
 
+#define NSINTEGER_DEFINED 1
+
 #import	<GNUstepBase/GSObjCRuntime.h>
 
 #if	defined(__cplusplus)
