Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@sourceware.cygnus.com>
List-Subscribe: <mailto:cygwin-subscribe@sourceware.cygnus.com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin@sourceware.cygnus.com>
List-Help: <mailto:cygwin-help@sourceware.cygnus.com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner@sourceware.cygnus.com
Delivered-To: mailing list cygwin@sourceware.cygnus.com
Message-ID: <3841EA8D.62A3604D@mdlink.de>
Date: Mon, 29 Nov 1999 03:53:01 +0100
From: Helge Hess <helge@mdlink.de>
Organization: MDlink online service center GmbH
X-Mailer: Mozilla 4.7 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
To: mlx@san.rr.com
CC: "Larry Hall (RFK Partners, Inc)" <lhall@rfk.com>,
        cygwin@sourceware.cygnus.com
Subject: Re: windows.h breaks ObjC ?
References: <3.0.5.32.19991128183022.00ab6100@pop.ma.ultranet.com> <9911290226.AA08186@mlx.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

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

