[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] Header organization
From: |
David Ayers |
Subject: |
Re: [RFC] Header organization |
Date: |
Thu, 26 Jun 2003 11:45:28 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030507 |
Hello again,
I've been tossing this issue back and forth... The 'next best'
suggestion I've come up with so far, is to name the source directories
of the official "OpenStep/Cocoa" compiliant header files "openstep" and
keep creating symbolic links for Foundation/AppKit when applicable. i.e.
base/Headers/openstep/NS*.h
base/Headers/gnustep/base/GS*.h
gui/Headers/openstep/NS*.h
gui/Headers/gnustep/gui/GS*.h
As too Alexander's suggestion, I would propose:
gui/Headers/gnustep/gui/private
Personally I generally don't like the notion of headers private to the
"core package". It's a matter of good design to be able to expose a
well defined API for a project, that other packages rely on. But in the
case of -gui/-back I absolutly can accept, that the integration must be
tighter. Conceptually I see -back as "subproject" of -gui which
technically just happens to be its own project. Therefore I think it is
justified for -gui to have a private subdirectory in its header
structure. I'm not convinced that we should use this anywhere else and
for any other reason, but I open to reasoning.
If this sound good, I'll post a list of files for each directory for
reviewal, so that I can start reorganizing the files. This is also a
good time to request any name changes for the files which will be moved.
I'm also considering creating the dummy headers in the old locations
with the warning and inclusion of the header from the new location as
Alexander suggested "on the fly" during make install, even though I
haven't figured out exactly how we want to do this (sed?/awk?). The
reason being, that the headers which are going to be "relocated" during
installation (GS*.h) are not the headers which will be relocated in the
source tree (NS*.h). Therefore we can't use the technique of leaving
the old header files in CVS and simply update them with the warning and
redirection while reimporting the real headers at different location.
Cheers,
David
Adam Fedor wrote:
David Ayers wrote:
My preferred solution would be to have real gnustep/base and
Foundation (gnustep/gui and AppKit) directories in the source tree as
well as in the installed Headers directory. The gnustep/base
(gnustep/gui) directory whould contain all GS specific headers and
the Foundation (AppKit) diectory would contain the OS* specific headers.
The only problem with a real Foundation/AppKit directory is on MacOSX,
when compiling the BaseAdditions library, the compiler will find this
directory in preference to the installed Foundation framework. I have
to think of a solution for that (even if it's specific to
apple-apple-apple libcombo).
Other than that I like the idea.
- [RFC] Header organization, David Ayers, 2003/06/20
- Re: [RFC] Header organization, Alexander Malmberg, 2003/06/20
- Re: [RFC] Header organization, Nicola Pero, 2003/06/20
- Re: [RFC] Header organization, Adam Fedor, 2003/06/20
- Re: [RFC] Header organization, David Ayers, 2003/06/20
- Re: [RFC] Header organization, David Ayers, 2003/06/20
- Re: [RFC] Header organization,
David Ayers <=
- Re: [RFC] Header organization, Adam Fedor, 2003/06/26
- Re: [RFC] Header organization, David Ayers, 2003/06/27
- Re: [RFC] Header organization, Adam Fedor, 2003/06/27
- Re: [RFC] Header organization, David Ayers, 2003/06/27
- Re: [RFC] Header organization, Adam Fedor, 2003/06/27