[GRASS-dev] Re: [GRASS-SVN] r49122 - grass/branches/develbranch_6/include/Make

Glynn Clements glynn at gclements.plus.com
Wed Nov 9 12:43:18 EST 2011

Hamish wrote:

> > 7.0 installs g.html2man.py to $(ARCH_DISTDIR)/tools at the
> > start of the build process, and the rest of the build process
> > accesses it from there (specifically, as $(GISBASE)/tools
> > /g.html2man.py).
> that won't help here as $(ARCH_DISTDIR) has been redirected to
> $MAPSET/.tmp/, and so support files like $MAPSET/.tmp/tools/
> won't exist.

Right. But 7.0 doesn't access it via $(ARCH_DISTDIR)/tools, it
accesses it via $(GISBASE)/tools.

In 7.0, $(ARCH_DISTDIR) is where to put the components being built,
while $(GISBASE) is where to find the stuff that has already been
built. When building the main GRASS source tree, those will both refer
to the dist.<arch> directory, but it's intended that $(GISBASE) can
point to an installed version of GRASS if you just want to build
additional components for an existing installation.

It's also quite thorough about "installing" first then using the
installed copy via $(GISBASE), rather than accessing the source copy

The net result is that it should be possible to build almost[1] any
part of the 7.0 source tree against an installed GRASS without having
to build (or configure, or even have) any other portion of the source

[1] I can't guarantee that it's exhaustive, but it seems to handle
most cases. Headers and libraries are searched for under both
$(ARCH_DISTDIR) and $(GISBASE). Although, I've just noticed that PATH
and PYTHONPATH need similar treatment; fixed in r49159.

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-dev mailing list