[GRASS-dev] Mac OS X Xcode project available
William Kyngesburye
woklist at kyngchaos.com
Sat Dec 16 18:45:06 EST 2006
Available on my GRASS download page.
http://www.kyngchaos.com/software/unixport/grass
Please test it. Currently works with today's 6.3 CVS snapshot. I'll
work on adapting it for 6.2.
It was quite an adventure, and I thought GRASS was too complex at
first (mostly just shear volume of targets, not code). But I got
config file hint from the OSSIM folks that really helped out, so I
could split it into sub-projects. Unfortunately, there is no
automation in Xcode for generating projects, just controlling them
for various build tasks, so it was a bit tedious (130+ raster targets
and 75 vector targets for the big ones!). I was able to hack the
project files a little to speed up the process some.
There still isn't much I can do to automate conditional targets for
optional modules, so those must be selected manually and built
separately.
I plan on either sub-projects, or separate projects (more likely),
for a few dependencies that currently have no universal binaries
available or easy universal builds from source. Gpsbabel, ffmpeg,
and an X11 TclTk are a few. MySQL is a possibility - there are
official binaries for PPC and Intel, but they are separate and don't
include the server library needed for the mesql driver.
Cut-n-paste from my web blurb:
The Xcode project is an alternative method for building GRASS and the
GRASS.app wrapper from source. Build GRASS and the Mac OS X
application all at once, no need for configure-make-install in the
Terminal. It easily builds a Universal binary for PPC and Intel Macs.
And with the right configuration, it can build a Panther-compatible
application.
The app startup wrapper does not use Python, like previous startups,
since that was causing trouble. Instead, a simple AppleScript starts
GRASS. This also has a smaller binary overhead ( <100KB, vs. the many
MBs of the Python startup).
Configuration for dependencies is done with a xcconfig text file.
There are options for using unix-style libraries or my frameworks.
There are also options for automatically bundling some libraries in
the application package, for a more portable GRASS.app.
-----
William Kyngesburye <kyngchaos at kyngchaos.com>
http://www.kyngchaos.com/
First Pogril: Why is life like sticking your head in a bucket filled
with hyena offal?
Second Pogril: I don't know. Why IS life like sticking your head in
a bucket filled with hyena offal?
First Pogril: I don't know either. Wretched, isn't it?
-HitchHiker's Guide to the Galaxy
More information about the grass-dev
mailing list