gnustep-dev
[Top][All Lists]
Advanced

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

Re: GDL2 on Mac OS X, stage two


From: Mirko Viviani
Subject: Re: GDL2 on Mac OS X, stage two
Date: Sun, 29 Dec 2002 22:25:35 -0000

Markus Hitter <address@hidden> ha scritto:

> > I know there is some header incompatibilities with the
> > two foundations and the compilers (at least with 2.95) but resolved 
> > these
> > problems it should be quite ok.
> 
> One is the #include/#import issue. You can't #include Apple headers. So 
> I changed to #import <Foundation/Foundation.h> in all headers. 
> Compatible and faster because of precompiled headers here.

I know this, but anyway here they are not precompiled and I don't like to
import all the Foundation in all .h

> All inclusions of EO* headers are sparse (no unneeded inclusions) and 
> got #include to satisfy the friends of this keyword ;-)

Not me. I prefer #import and I use it for all the ObjC headers !

> Then, I had to insert the compatibility headers, surrounded by "#ifdef 
> __APPLE__"

Is there another way to check for OSX ?
Probably I'll put this in config.h since could be handled nicely by configure.

> A big bunch of other issues could be solved with tweaking these 
> compatibility headers. They are at the top level of the archive I've 
> uploaded. Mostly, they switch things off, however ...

Ok, I'll take a look at it.

> One thing I remember is:
> ... in the header ...
> #define NSDebugMLLog(level, format, args...) {}
> ... in source ...
>     NSDebugMLLog(@"gsdb", @"EOAdaptorLockOperator");
> 
> This doesn't work on OS X. Obviously, you can't replace "args..." with 
> zero arguments. It's gcc 3.1 here.

That's strange ! I've fixed all of these things some time ago since it does
not work with my gcc 2.95.

> Almost all stuff using ObjC runtime directly seems to be more or less 
> incompatible. There's a file in GNUstep base which tries to deal with 
> this issue but in detail, there will be some work. The file is in the 
> uploaded project, too.

Ok.

> > It does not work in the same way but to take advantage of it your EOs 
> > should
> > inherith from GCObject.
> 
> You have a few lines of code to demonstrate?

Not at the moment.

> No need for Makefiles on OS X with ProjectBuilder. All you need is the 
> .pbproj directory. And a nice place for the compatibility files.

For PBX, not for PB. Anyway if there are no problems (Adam ??) I've no
problems to add them.

> >  then send patches!!!!
> 
> I'll try to sort the stuff a little bit.

I saw your patch but as I already said I don't want to import all the
Foundation everywhere.
I'm currently updating all the header inclusion and hope to get working on
OSX (unfortunately I can't test it) and see where to put the compatibility
includes.

-- 
Ciao
Mirko




reply via email to

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