discuss-gnustep
[Top][All Lists]
Advanced

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

Re: [RFC] Header organization of -base & -gui


From: David Ayers
Subject: Re: [RFC] Header organization of -base & -gui
Date: Wed, 02 Jul 2003 13:18:47 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030507

Markus Hitter wrote:

Am Dienstag, 01.07.03 um 22:07 Uhr schrieb David Ayers:

Markus Hitter wrote:

Not exactly.

My idea is to split up header locations into more than two logical parts: -base, -gui, Additions. Additions (-baseadd btw.) as a separate part as it can be used separately. The Header structure for a GNUstep installation could be:

$GNUSTEP/include/gnustep/base/
$GNUSTEP/include/gnustep/gui/
$GNUSTEP/include/GNUstepAdditions/


So, your proposing to mix -gui(AppKit) and -base(Foundation) extensions in one library/framework?

No. I propose to fork the -baseadd headers into their own, plain header directory. That's all.

As all NS*.h headers get installed into the Foundation directory, are you proposing to install an empty gnustep/base? Or install all public GS*.h headers into two directories redundantly?

Application source code should be able to access them the same way (i.e. with the same #includes) wether it's compiled against GNUstepAdditions.framework, a partial (-baseadd only), or a full GNUstep installation.

So you're saying that if I install -base the headers go into gnustep/base and if I install -baseadd the should go into GNUstepAdditions? Then user code would have to

#ifdef SOMETHING_IDENTIFIYING_BASE_ADDITIONS
#include <GNUstepAdditions/GSMime.h>
#else
#include <gnustep/base/GSMime.h>
#endif

This is not where we want to go. There should definately be a single include path to be used by code independant of apple-apple-* and *-gnu-* to include the gnustep extension headers.

It would mean any tool (like gsweb apps) would be linked against AppKit.

Not at all. It doesn't matter how the actual libraries are organized.

So you would be mixing headers of different libraries into the same Header directory? How does this coincide with request to be able to build a framework containing the gnustep extenstions. I know -gui currently doesn't have an equivelent mechanism to compile the gnustep extenstions, but that may change. Would you put those into the same framework? I really believe that mixing -gui and -base headers is a bad idea.

Also, since all NS*.h headers should end up in Headers/Foundation and Headers/AppKit (where do you get this include directory from?)

I got it from your RFC.

An #include <gnustep/base/GSMime.h> suggests you (want to) install GSMime.h in something like $GNUSTEP/include/gnustep/base/ . Am I wrong here?

The search paths for #include are dependant on the -I flags passed to the preprocessor. -make insures that the necessary -I paths are set to
 $(GNUSTEP_USER_ROOT)/Library/Headers \
 $(GNUSTEP_LOCAL_ROOT)/Library/Headers \
 $(GNUSTEP_NETWORK_ROOT)/Library/Headers \
 $(GNUSTEP_SYSTEM_ROOT)/Library/Headers
(also dependent on GNUSTEP_FLATTENED.)

Cheers,
David






reply via email to

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