This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: windows.h breaks ObjC ?
- To: mlx at san dot rr dot com
- Subject: Re: windows.h breaks ObjC ?
- From: Helge Hess <helge at mdlink dot de>
- Date: Mon, 29 Nov 1999 03:53:01 +0100
- CC: "Larry Hall (RFK Partners, Inc)" <lhall at rfk dot com>, cygwin at sourceware dot cygnus dot com
- Organization: MDlink online service center GmbH
- References: <3.0.5.32.19991128183022.00ab6100@pop.ma.ultranet.com> <9911290226.AA08186@mlx.com>
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@sourceware.cygnus.com