[Top][All Lists]
[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.
- Re: Upcoming releases, (continued)