gnustep-dev
[Top][All Lists]
Advanced

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

Re: Upcoming releases


From: Nicola Pero
Subject: Re: Upcoming releases
Date: Tue, 29 Jul 2003 15:04:59 +0100 (BST)

> One big detail that's missing is the organization of headers _before_
> installation. Fixing the huge discrepancy between header location before
> and after installation is, at least imho, a fairly big part of the
> improvements of these changes.
> 
> So, I propose (iirc, this is what's been discussed, though I'm not sure
> that there was an actual decision about this), before installation:
> 
> Headers installed in Foundation/ are stored in
> core/base/Headers/Foundation/
> Headers installed in GNUstepBase/ are stored in
> core/base/Headers/GNUstepBase/
> 
> Headers installed in AppKit/ are stored in core/gui/Headers/AppKit/
> Headers installed in GNUstepGUI/ are stored in
> core/gui/Headers/GNUstepGUI/
> 
> Adding to the list of changes:
> 
> 3.-2. Modify -base and -gui to not create header directory symlinks in
> the source tree anymore.
> 
> 3.-1. For each header, figure out where it should be installed and move
> it to the corresponding directory in the source tree.

All agreed.  I like your source header setup.  I'll let David produce a
final decision on this topic though, but this is Ok for me, and I very
much like the fact that the source header directories mirror the
installation ones, and that there are no symlinks.  That makes things
simpler to understand.

 
> >     The very quick fix is just to modify the libraries to install headers
> >     in {header dir}/{name} rather than {header dir}/gnustep/{name}.
> > 
> >     That might be enough for some of the core libraries; but in general,
> >     it might be a good occasion to update names too, switching from a
> >     short-name form ("guile", "java", "x11", "xlib") to a long-name form
> >     ("GNUstepGuile", "GNUstepJava", "GNUstepBack/X11",
> >     "GNUstepBack/XLib"), installing headers in {Headers}/{LongName}/
> >     rather than {Headers}/gnustep/{short-name}, and updating all
> >     #includes.
> 
> These changes really must be done together. It's not acceptable to have
> GNUstep install it's own headers in top-level directories with names
> like "guile", "java", and "x11", as these collide (or have a large risk
> of colliding) with other headers.

Oh yes, I'd love the change in names. :-)

Btw, this risk of collision has always been there!  The fact that guile/
or java/ were inside gnustep/ rather than top-level did not change much,
because -Ixxx/gnustep was always passed on the command line, so something
like

#include <java/xxx.h>

was possible and would potentially cause collisions (collisions were
avoided because the 'xxx.h' name itself was pretty unique, such as
NSJavaVirtualMachine.h or JIGSInit.h).

Anyway, I completely agree with you that changing the names to longer,
more descriptive/unique names, is a good idea.  Let's start doing that.  
I'll update JIGS first.





reply via email to

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