discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Porting autogsdoc to OSX


From: Nicola Pero
Subject: Re: Porting autogsdoc to OSX
Date: Tue, 26 Feb 2002 14:15:37 +0000 (GMT)

> > NB - GNUstep headers work if you #import them.  You can #import them if
> > you like.  We use #include because it's better, but nothing prevents you
> > from using #import.
> 
> [...]                                           To me there seems to 
> be more of an ideological barrier than a mere technical problem which 
> prevents use of #include rather than #import, but I might be wrong on 
> this issue.

Well - as I said, from a user point of view, gnustep headers can be either
#imported or #included.

To me the ideological barrier seems to be in Apple headers, which can only
be #imported, but not #included.

The fact that - for ideological reasons - their Foundation headers only
support #import and are not protected against multiple inclusion seems
very silly to me.

We made our choice for ourselves - which is to use #include - so that we
are safe that it will always work on all platforms where GCC has been
ported - it will work without any additional work.

Compiler work is very time-consuming, and the compiler is very complex.  
If you ever found some internals of your Objective-C compiler to be
broken, and had to try and figure out how to fix it yourself, you know
what I mean.

Using #include means porting gnustep to new and future platforms will be
easier, because you don't need the compiler to have a working #import
implementation - and #include is always implemented because it's needed by
the C compiler.  We are told by compiler people that implementing #import
is difficult on some platforms, even impossible in some others.  GCC folks
from the GNU C/C++ side even seem to consider that a meaningless obsolete
unportable relict of the past - which means they will likely not implement
that themselves and not help us with implementing it if we ever need it -
at the very best they would tell you - 'you want it, you implement it and
send us the patches, if they don't break anything else, we might consider
applying them'.

So - using #import might lead us to troubles in the future, or on some
platforms.  I don't like that.  I better use #include in all my headers
than knowing that at some point in the future I might have to spend a
couple of months trying to implement GCC support for #import for a new
platform, or I might have to convert all my headers to use #include anyway
because #import can't be implemented well on that platform.





reply via email to

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