gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Legacy applications and headers


From: David Ayers
Subject: Re: Legacy applications and headers
Date: Fri, 19 Mar 2004 18:01:31 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113

Helge Hess wrote:

On Mar 19, 2004, at 4:40 PM, David Ayers wrote:

Now as Skyrix seems to have abandoned libFoundation (and I have no idea if GDL2 would have ever worked with it) we might have a true binary situation (ie. either GNUstep or Cocoa).


For the foreseeable future SKYRIX will use libFoundation and it is in no way "abandoned".

Sorry, the misrepresentation wasn't intentional.

Now, to the real topic:

Personally (from a lF point of view) I don't care about the patch, its a speed optimization for OSX and has no significant effects on compilation performance on ix86/Linux platforms. Obviously the way it is now is technically correct (#ifdef NeXT_Foundation_LIBRARY), because this optimization only applies to Cocoa, but I see ZNeK's point about configuration and think that it is valid.

The question is the actual define. I would suggest

  #ifndef __APPLE__

since on Apple platforms the precompiled headers are available. Of course this slows down compilation with gstep-base on MacOSX (unless gstep-make/gstep-base can make use of the pch compiler?), but I wonder whether this is an important case?

As discussed before with Nicola an

  #ifdef GNUSTEP

really refers to the gnu-gnu-gnu library combo which has nothing to do with the inclusion of header files and

  #ifdef GNUSTEP_BASE_LIBRARY

is also semantically incorrect (since this is true for any alternative Foundation library).
So I would discourage to use one of them.

Summary: the proper solution would be a "-DGNUSTEP_WITHOUT_PCH=1" define generated by the gstep-make configure script (this would also take into account that even gstep-base might have a PCH compiler in the future!). Until this is available the __APPLE__ define is probably the best match to the original intention.

IIRC __APPLE__ is defined by the compiler and in the case of gnu-gnu-gnu on apple would also use the <Foundation/Foundation.h> and I'm pretty certain that we're not building precompiled headers, so this doesn't seem like the correct solution to me.

Now due to the responses from Adam and Nicola I've already committed the

#ifdef GNUSTEP

version for both -gdl2 and -gsweb. (I didn't want to put this on my TODO list as it is overly long and the scripts to do the change were just so simple that I wanted to get it out of the way.)

So, if you update it should work (wrt to -gdl2, not necessarily -baseadd). I'll followup with the "correct" solution once it it's been figured out and applied to -base.

Cheers,
David





reply via email to

[Prev in Thread] Current Thread [Next in Thread]