From 6ac6760a0f09d4853b3075c1a2eda3b8a911fb41 Mon Sep 17 00:00:00 2001 From: mccallum Date: Tue, 8 Nov 1994 17:38:47 +0000 Subject: [PATCH] (__BASE_FILE__ ## _link_stdobjects_o): New function. Kludge to force linking of stdobjects. Anyone have any better ideas? git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@12 72102866-910b-0410-8b05-ffd578937521 --- Headers/gnustep/base/preface.h.in | 16 +++++++++------- Headers/gnustep/base/stdobjects.h.in | 16 +++++++++------- Source/objects/stdobjects.h.in | 16 +++++++++------- 3 files changed, 27 insertions(+), 21 deletions(-) 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 */