diff --git a/Headers/gnustep/base/preface.h.in b/Headers/gnustep/base/preface.h.in index b58be37ca..8ead77e5f 100644 --- a/Headers/gnustep/base/preface.h.in +++ b/Headers/gnustep/base/preface.h.in @@ -105,13 +105,15 @@ LAMBDA(BOOL, (id _o), {if ([_o perform:SELECTOR]) return YES; else return NO;}) #define LONG2PTR(L) (((char*)0)+(L)) #endif -/* GNU Object.[hm] defines -compare:, NeXT doesn't, libobjects needs it. */ -#if NeXT_runtime -@interface Object (GNUExtensions) -- (int)compare:anotherObject; -- shouldNotImplement:(SEL)op; -@end -#endif /* NeXT_runtime */ +/* A kludgy way to ensure that stdobjects.o is linked. + This is needed to make sure that the Object category for implementing + -autorelease is linked. + Anyone have any less kludgy ideas? */ + +static char * __BASE_FILE__ ## _link_stdobjects_o() +{ + return objects_version; +} #endif /* __stdobjects_h_OBJECTS_INCLUDE */ diff --git a/Headers/gnustep/base/stdobjects.h.in b/Headers/gnustep/base/stdobjects.h.in index b58be37ca..8ead77e5f 100644 --- a/Headers/gnustep/base/stdobjects.h.in +++ b/Headers/gnustep/base/stdobjects.h.in @@ -105,13 +105,15 @@ LAMBDA(BOOL, (id _o), {if ([_o perform:SELECTOR]) return YES; else return NO;}) #define LONG2PTR(L) (((char*)0)+(L)) #endif -/* GNU Object.[hm] defines -compare:, NeXT doesn't, libobjects needs it. */ -#if NeXT_runtime -@interface Object (GNUExtensions) -- (int)compare:anotherObject; -- shouldNotImplement:(SEL)op; -@end -#endif /* NeXT_runtime */ +/* A kludgy way to ensure that stdobjects.o is linked. + This is needed to make sure that the Object category for implementing + -autorelease is linked. + Anyone have any less kludgy ideas? */ + +static char * __BASE_FILE__ ## _link_stdobjects_o() +{ + return objects_version; +} #endif /* __stdobjects_h_OBJECTS_INCLUDE */ diff --git a/Source/objects/stdobjects.h.in b/Source/objects/stdobjects.h.in index b58be37ca..8ead77e5f 100644 --- a/Source/objects/stdobjects.h.in +++ b/Source/objects/stdobjects.h.in @@ -105,13 +105,15 @@ LAMBDA(BOOL, (id _o), {if ([_o perform:SELECTOR]) return YES; else return NO;}) #define LONG2PTR(L) (((char*)0)+(L)) #endif -/* GNU Object.[hm] defines -compare:, NeXT doesn't, libobjects needs it. */ -#if NeXT_runtime -@interface Object (GNUExtensions) -- (int)compare:anotherObject; -- shouldNotImplement:(SEL)op; -@end -#endif /* NeXT_runtime */ +/* A kludgy way to ensure that stdobjects.o is linked. + This is needed to make sure that the Object category for implementing + -autorelease is linked. + Anyone have any less kludgy ideas? */ + +static char * __BASE_FILE__ ## _link_stdobjects_o() +{ + return objects_version; +} #endif /* __stdobjects_h_OBJECTS_INCLUDE */