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: Tue, 01 Jul 2003 10:26:49 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030507

Markus Hitter wrote:

Am Montag, 30.06.03 um 21:06 Uhr schrieb David Ayers:

Yet when installing -baseadd with apple-apple-apple, I suspect these headers were installed in gnustep/base therefor requiering something like:

#ifndef NeXT_Foundation_LIBRARY
#include <Foundation/GSMime.h>
#else
#include <gnustep/base/GSMime.h>
#endif

One typical usage of -baseadd whould be to use them as a Framework (together with Apple's Foundation) without installing any other GNUstep stuff at all. Well, it might be impossible to build just the stuff in Source/Additions/ without having the other parts of -base available at this time, but it whould be a logical enhancement to -baseadd, IMO.

For this, you whould have to #include the Framework's name, e.g.:

#include <GNUstepAdditions/GCObject.h>
#include <GNUstepAdditions/GSMime.h>

Could you include this case into your considerations?

I believe the whole idea of the -baseadd was to allow the compilation of GNUstep extensions against Cocoa. It still requires -make to be installed. If there are any dependancies on -base, then that is a bug to be fixed.

I'm not sure whether configuring -make on OS X defaults to the library combo apple-apple-apple (Apple ObjC-Runtime - Foundation - AppKit), yet as OS X is based on Darwin, I'd be surprised it that is not the case.

It does seem strange though that Darwin always defaults to apple-apple-apple. IIRC non-OS X Darwin doesn't come with Foundation or AppKit, so maybe apple-gnu-gnu seem to be the better default for non-OS X Darwins.

In any case, you should be able to configure it using the --with-library-combo=apple-apple-apple. To compile -baseadd, I believe all you need to do is:
make add=yes (library_combo=apple-apple-apple) (install)
You can also use the LIBRARY_COMBO envirenment variable, if I'm reading library-combo.make correctly.

I'm not sure whether this description is complete and what the simplest way of setting up code using this library on OS X would be, but maybe someone with OS X could jump in an provide a more qualified HOWTO (possible to be added in the GNUstep-HOWTO or base/INSTALL).

As to the techique of using portions of GNUstep sources in custom frameworks and relying on Apple's build system, I'm not familiar with it and it's not the issue I'm currently trying to solve. But if all you need is a symlink to the headers, I take it, there should be a way to add a gnustep/base symlink somehow to point to your custom framework header directory. What I wouldn't like to see, is yet another #ifdef BUILDING_WITH_PROJECT_BUILDER || BUILDING_WITH_XCODE with yet another include mechanism. But that's just MHO.

Cheers,
David






reply via email to

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