[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Upcoming releases
From: |
David Ayers |
Subject: |
Re: Upcoming releases |
Date: |
Tue, 29 Jul 2003 16:06:42 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030507 |
Alexander Malmberg wrote:
Nicola Pero wrote:
As far as I am aware, we have reached a complete decision already (except
for some details).
[snip list of changes]
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/
http://mail.gnu.org/archive/html/gnustep-dev/2003-07/msg00014.html
Actually we decided on the following Source structure:
Headers/Foundation
Headers/Additions/GNUstepBase
Headers/Additions/GNUstepBase/unicode
Headers/AppKit
Headers/Additions/GNUstepGUI
This allows us to build -base with -I../Headers -I../Headers/Additions
and to build -baseadd with -I../Headers/Additions. If Foundation and
GNUstepBase were on the same level in the Source, then we'd always
include our Foundation headers, even when trying to build for
apple-apple-apple.
I'll leave the -back headers alone for now, I just won't install them.
Adding to the list of changes:
3.-2. Modify -base and -gui to not create header directory symlinks in
the source tree anymore.
Yes.
3.-1. For each header, figure out where it should be installed and move
it to the corresponding directory in the source tree.
I think we've done that before, but I'll post the structure again once
I'm finished.
[snip]
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.
Well almost. This is the next step [superflous comment ommited] These
other projects won't build until they are updated anyway. But I don't
want to make the commit any larger that it already will be. The first
step is gnuste/core then comes usr-apps / dev-libs / dev-apps and
hopefully by Thursday evening we will have successfully bOrken
everything ;-)
Cheers,
David