On 6 Sep 2010, at 23:07, Eric Wasylishen wrote: > - preface.h includes the sarray.h header, which is not present in libobjc2. > It doesn't look like any of the sarray functions are used anywhere in GNUstep > base, so this include can probably be removed (?)
Yup, I thought I'd got all of the places where sarray.h was included, but apparently I missed one. > - NSObject.h uses a TypedStream class, not present in libobjc2. (for read: > and write: methods which are commented out). It looks like the TypedStream > stuff has been unused for a long time, maybe it can be removed from NSObject? Hmm, I thought these were conditionally compiled. I think they can probably go - they're for legacy compatibility with some really ancient stuff - but I don't want to be the one to delete them... > - libobjc2 lacks the encodings.h header. It looks like this needs to be added > to expose the functions in libobjc2/encoding2.c for some parts of Foundation > such as NSConnection. Should be easy to fix - do you have a list of the functions that it uses? I had to implement some really ugly legacy compatibility functions that I don't want to go in the header (the struct parsing ones - libobjc2 has a cleaner API for doing this stuff, the implementation currently there is only until I get around to rewriting the code in -base that uses the ugly API). > Also, old libobjc has encoding constants like "#define _C_INT 'i' " in > objc/objc-api.h, and these constants aren't present in libobjc2 I really hate these (the encodings are part of the language definition, but the constants aren't), but these are in Apple's libobjc so I should probably give in and add them. > - GSObjCRuntime.m has include <objc/Protocol.h>, which isn't in libobjc2 There's also some stuff missing in libobjc2's implementation of the Protocol class. > - Source/GSPrivate.h uses "struct objc_category" and "Category" which are > not exposed by libobjc2. Not sure what to do for these.. They are not exposed because they are an implementation detail that should not be touched by anything except the compiler and the runtime. Why does GNUstep think that it needs them? David -- Sent from my brain _______________________________________________ Gnustep-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnustep-dev
