[GRASS5] d.info: flag added for approximate screen scale

Glynn Clements glynn at gclements.plus.com
Fri Jan 6 15:47:01 EST 2006

Markus Neteler wrote:

> > > It's at least a similar case. I don't see in the Makefile that it
> > > is optional (maybe I am wrong).
> > 
> > XDRIVER inherently requires Xlib. If you don't have Xlib, you have no
> > use for XDRIVER. But you may still have a use for d.info.
> I assume that you did not look at d.info? The -s flag was only
> compiled into *if* XLIB is present (#ifdefs in the C code).
> In absence of XLIB the previous d.info was generated, just without
> the -s flag.

The issue is whether Xlib will exist on all of the systems on which
d.info is to be run.

> I am still not sure if the XDRIVER is excluded from compilation if
> XLIB is not available.

It will fail to compile/link if Xlib doesn't exist.

> > It would be best to avoid having to build GRASS twice for a binary
> > distribution (build with X to get XDRIVER and NVIZ, build without X
> > and replace d.info) for such a minor feature.
> Can you explain this comment? For years we are distributing a single
> GRASS version (at least for Linux).

IIRC, the standard procedure for building binary distributions of 5.x
was roughly:

1. configure --with-postgres, compile, install.

2. configure --without-postgres, compile NVIZ, replace the installed
NVIZ (which has a libpq dependency) with the new version (which
doesn't have a libpq dependency).

3. make bindist.

The end result is one package which includes the pg.* modules plus a
version of NVIZ which doesn't require libpq.

The general idea is to provide as many modules as possible, but for
each module to work on as many systems as possible (by disabling
optional features where necessary).

If d.info automatically used X whenever it was enabled, you would need
to do something similar to get a package which includes both XDRIVER
and a version of d.info which will work without Xlib.

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-dev mailing list