Re: gsbase on Mac OSX

Adam Fedor <[email protected]> Tue, 24 Feb 2009 08:22:06 -0700
Newsgroups gmane.comp.lib.gnustep.user
Message-ID <[email protected]>
On Feb 24, 2009, at 7:36 AM, Xavier Glattard wrote:

> Hi
>
> GNUstep base 1.18.0 (Additions) does not build on MacOSX, or did I  
> miss something ?
> I follow the instructions in README.Darwin but the build fails.
>
> My config: Max OSX 10.4 / PowerPC / XCode 2.5

Here's a patch to get 1.18.0/Additions to compile on Mac

_______________________________________________
Help-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gnustep
gnustep-base-macosx.patch (application/octet-stream, 2.7 KB)
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)