[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNUstep on OS X / Darwin
From: |
Markus Hitter |
Subject: |
GNUstep on OS X / Darwin |
Date: |
Mon, 4 Mar 2002 18:11:00 +0100 |
Hello all,
today GNUstep base compiled successfully on my OS X box. Find
below the patch to make it work. Hopefully, I didn't introduce
any incompatibility with other OS's. Could somebody please check
this, especially on Darwin and for the current compiler. I'm
using gcc 3.1 as described in earlier mails.
The stuff in Testing/ compiles in big parts, but does not link
yet. I'm investigating.
Have fun,
Markus
Index: Headers/gnustep/base/NSString.h
===================================================================
RCS file:
/cvsroot/gnustep/gnustep/core/base/Headers/gnustep/base/NSString.h,v
retrieving revision 1.65
diff -r1.65 NSString.h
331a332,341
> #ifdef __APPLE__ && __GCC__ >= 3
> /* Up to gcc 2.95.2 the compiler slipped these two in automatically.
> With the advent of ObjC++ this is no longer possible (?).
> There is no Apple modified gcc between 2.95.2 and 3.1.
> This info ia as of 2002-03-04 and regarding the experimental
> Apple gcc 3.1. Markus Hitter, mah@jump-ing.de */
> char *cString;
> unsigned int len;
> #endif
>
340,341c350,352
< #if NeXT_RUNTIME
< /* For internal use with NeXT runtime. */
---
> #ifdef NeXT_RUNTIME
> /* For internal use with NeXT runtime;
> needed, until Apple Radar 2870817 is fixed. */
Index: Source/GSString.m
===================================================================
RCS file: /cvsroot/gnustep/gnustep/core/base/Source/GSString.m,v
retrieving revision 1.42
diff -r1.42 GSString.m
55c55,57
< /* Used by the Darwin/NeXT ObjC Runtime */
---
> #ifdef NeXT_RUNTIME
> /* Used by the Darwin/NeXT ObjC Runtime
> until Apple Radar 2870817 is fixed. */
56a59
> #endif
3327,3329d3329
< #if NeXT_RUNTIME
< struct objc_class *ref = self;
< #endif
3331,3337d3330
<
< #if NeXT_RUNTIME
< /* Set up a structure to represent the constant string
class. All constant strings point to
< this structure.
< */
< _NSConstantStringClassReference = *ref;
< #endif
Index: Source/NSProcessInfo.m
===================================================================
RCS file: /cvsroot/gnustep/gnustep/core/base/Source/NSProcessInfo.m,v
retrieving revision 1.71
diff -r1.71 NSProcessInfo.m
502a503,510
> #ifdef NeXT_RUNTIME
> /* This memcpy has to be done before the first message is
sent to any
> constant string object. See Apple Radar 2870817 */
> memcpy(&_NSConstantStringClassReference,
> objc_getClass("NSConstantString"),
> sizeof(_NSConstantStringClassReference));
> #endif
>