delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/11/28/21:51:22

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT sourceware DOT cygnus DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
Message-ID: <3841EA8D.62A3604D@mdlink.de>
Date: Mon, 29 Nov 1999 03:53:01 +0100
From: Helge Hess <helge AT mdlink DOT 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 AT san DOT rr DOT com
CC: "Larry Hall (RFK Partners, Inc)" <lhall AT rfk DOT com>,
cygwin AT sourceware DOT cygnus DOT com
Subject: Re: windows.h breaks ObjC ?
References: <3 DOT 0 DOT 5 DOT 32 DOT 19991128183022 DOT 00ab6100 AT pop DOT ma DOT ultranet DOT com> <9911290226 DOT AA08186 AT mlx DOT 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 AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019