discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Best way to organize a portable framework...


From: Marcus Müller
Subject: Re: Best way to organize a portable framework...
Date: Sat, 8 Nov 2003 20:42:31 +0100


On 08.11.2003, at 17:48, Jason Clouse wrote:

Has anybody here set up makefiles for a portable framework, such that simply typing 'make' builds on either GNUstep or OS X? Or is it better to use ProjectBuilder files on Mac OS and just have a GNUstep makefile (for which there are plenty of examples I can look at)? The framework is simple (Foundation and an external C library) but is only set up to build on the Mac right now.

I've done so for EDCommon (http://www.mulle-kybernetik.com/software/EDFrameworks/ download.html#EDCommon) [Note: you need the current version from CVS]. I'm somewhat undecided whether this is the best idea or not. On the one hand it greatly simplifies maintainence since there's only one build system, and once you've figured out what's OS dependend the rest is really smooth. On the other hand, the new build system introduced with Xcode has a number of advantages (distributed builds, backwards compatibility, speed (!)) that you automatically loose when using GS make. Now there is some potential for GS make to incorporate some features in the future as they are closely related to gcc 3.3 and not Xcode specialties at all, but right now this hasn't been done, yet.

Anyways, our new strategy is two-fold. Because you have to provide GS makefiles for building on GNUstep anyways, it's not a bad idea to spend some (probably easy) extra effort to achieve real cross-platform awareness there, so you instantly get cross-platform build-ability by using GS make. Xcode is the tool of choice on OS X and if you can afford to provide it too, well just do it. That's what we're currently doing in EDCommon - most of the time both build systems are in sync. That's the problem with having two build systems - it's easy to forget to make a necessary change in the other system that you (as a developer) are currently not using.

Cheers,

  Marcus

--
Marcus Mueller  .  .  .  crack-admin/coder ;-)
Mulle kybernetiK  .  http://www.mulle-kybernetik.com
Current projects: finger address@hidden





reply via email to

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