gnustep-dev
[Top][All Lists]
Advanced

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

Re: [RFC] Header organization of -base & -gui


From: Nicola Pero
Subject: Re: [RFC] Header organization of -base & -gui
Date: Thu, 10 Jul 2003 17:59:22 +0100 (BST)

> I'm not really happy about adding even more directories to the top-level
> include namespace. Since they're all going to have to have a GNUstep
> prefix anyway, I think it's cleaner and better to keep them in a
> gnustep/ or GNUstep/ subdirectory (and include them using
> <gnustep/project/file...>, so -I.../gnustep should not be used).

Yes - I see your point.  It's probably Ok to leave the gnustep/ directory
there if it's just a way of organizing headers (that is, gnustep-make does
*not* add -Ixxx/gnustep, and #include <gnustep/guile/xxx.h> should be
used, so this gnustep/ directory is not really anything requiring
'official hacks' in the makefile system, it's just a namespace for
headers).

The only small detail is that if some of those projects are meant to be
also built as frameworks on Apple Mac OS X, then this solution would be a
problem for those projects, wouldn't it ?

If you have a framework on OS X (say, called GNUstepGuile), you need to
include its headers as in #include <GNUstepGuile/Header.h>; I don't think
you can #include <GNUstep/GNUstepGuile/Header.h>.  I don't have an Apple
machine here so I can't test, but all frameworks I've seen were in the
same top-level namespace (I guess you can count that as a problem in the
framework machinery).

Anyway/so, if some code using the GNUstepGuile library/framework has to be
able to use a single #include which works on both GNUstep and Apple OS X,
then it sounds simpler if it is #include <GNUstepGuile/Header.h> rather
than #include <GNUstep/Guile/Header.h>, because #include
<GNUstepGuile/Header.h> should work no matter if the thing has been
compiled as a library or as a framework, and no matter on what platform.

Maybe we don't care about having those as frameworks on OS X.  I don't,
and I would be quite happy to leave them in gnustep/ for the time being.





reply via email to

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