gnustep-dev
[Top][All Lists]
Advanced

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

Re: [RFC] Header organization


From: Adam Fedor
Subject: Re: [RFC] Header organization
Date: Thu, 26 Jun 2003 11:30:49 -0600


On Thursday, June 26, 2003, at 03:45 AM, David Ayers wrote:

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.


I wanted to avoid links for MingW. But then if we have a Foundation directory, that screws up the apple-apple-apple combo. I don't really see a good way to solve both problems. Anyway, since we already have a hack work-around for MingW, I guess keeping the links would be OK.


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.


I don't like private headers either. Its better just to put a warning that it can change at anytime.

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.



I think we can just make a list of headers that were relocated and use a script to replace the old headers with a warning, etc.





reply via email to

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