delorie.com/archives/browse.cgi | search |
MarketLogix wrote: > > 1. I understand that M$ has its need of the "interface" label. > > 2. This is NOT the problem. > > 3. "interface" is distinct from "@interface". Maybe this is the misconception, these two are *not* distinct from the preprocessor's point of view. > 4. No problem with the global name space yet. > > Right ? I don't think so. > 5. Now all of a sudden in the new Cygnus windows api headers > we get this bad boy: > > #define interface struct As you already found out yourself, this is no real problem as this can be undefined/redefined. > What the heck nobody really codes in ObjC anymore anyway right ? No. This is an API compability problem found with a lot of other libraries as well and this problem is rooted in C's concept of defines. > Ah, they didn't create #undef for nothing ... RIGHT ? Yepp. > The first baby steps toward breaking Objective-C compatibility > within Cygwin sources. I think you are overreacting, you can't really 'break' Objective-C compatibility since it is complete ANSI-C and you would have exactly the same problems when using plain ANSI-C (with some other lib). You can easily 'unbreak' this using a small header file. Actually windows.h of cygwin tries to emulate the M$ stuff and therefore needs to provide these macros. If the people are kind they can provide appropriate wrapper headers (eg objc/windows.h or #ifdef OBJC), but personally I don't think this is really necessary. Greetings Helge -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |