[GRASS-dev] [GRASS GIS] #596: provide a grass-config script

#596: provide a grass-config script
--------------------------+-------------------------------------------------
Reporter: hamish | Owner: grass-dev@lists.osgeo.org
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Installation | Version: svn-trunk
Keywords: | Platform: All
      Cpu: All |
--------------------------+-------------------------------------------------
fwd from gdal's tracker:

"Grass enhancement request : it would be cool if GRASS had a grass-config
script."

https://trac.osgeo.org/gdal/ticket/2953#comment:2

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/596&gt;
GRASS GIS <http://grass.osgeo.org>

#596: provide a grass-config script
---------------------------+------------------------------------------------
  Reporter: hamish | Owner: grass-dev@lists.osgeo.org
      Type: enhancement | Status: new
  Priority: normal | Milestone: 7.0.0
Component: Installation | Version: svn-trunk
Resolution: | Keywords:
  Platform: All | Cpu: All
---------------------------+------------------------------------------------
Comment (by neteler):

A grass-config would probably facilitate the development of an automated
GRASS-Addons integration script (which downloads Addon from SVN, then
compiles it according to the local settings)

Markus

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/596#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#596: provide a grass-config script
---------------------------+------------------------------------------------
  Reporter: hamish | Owner: grass-dev@lists.osgeo.org
      Type: enhancement | Status: new
  Priority: normal | Milestone: 7.0.0
Component: Installation | Version: svn-trunk
Resolution: | Keywords: gdal-plugin
  Platform: All | Cpu: All
---------------------------+------------------------------------------------
Changes (by hamish):

  * keywords: => gdal-plugin

Comment:

idea for how this could be done:

write a GRASS_BATCH_FILE which would start grass in a dummy location and
run a single `g.version -b` command, then exit.

(add new flags to g.version as needed for the info you want)

or probably much simpler to just write a script which parses
$GISBASE/include/Make/* as needed.

gdal-config has:
{{{
Usage: gdal-config [OPTIONS]
Options:
         [--prefix[=DIR]]
         [--libs]
         [--dep-libs]
         [--cflags]
         [--datadir]
         [--version]
         [--ogr-enabled]
         [--formats]
}}}

which of those would be useful in a grass-config? (obviously not the last
two)

any additional requests for options?

Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/596#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#596: provide a grass-config script
---------------------------+------------------------------------------------
  Reporter: hamish | Owner: grass-dev@lists.osgeo.org
      Type: enhancement | Status: new
  Priority: normal | Milestone: 7.0.0
Component: Installation | Version: svn-trunk
Resolution: | Keywords: gdal-plugin
  Platform: All | Cpu: All
---------------------------+------------------------------------------------
Comment (by glynn):

Replying to [comment:1 neteler]:
> A grass-config would probably facilitate the development of an automated
GRASS-Addons integration script (which downloads Addon from SVN, then
compiles it according to the local settings)

Add-ons should get all the configuration information they need from the
*.make files.

Replying to [comment:2 hamish]:

> or probably much simpler to just write a script which parses
$GISBASE/include/Make/* as needed.

Parsing *.make won't work; given that values can be arbitrary make
expressions, you would need to duplicate make's functionality exactly.

You would be better off just invoking make on a suitable Makefile, e.g.:
{{{
$ cat foo.mk
MODULE_TOPDIR = $(GISBASE)
include $(MODULE_TOPDIR)/include/Make/Vars.make
var.%:
         @echo $($*)

$ make -f foo.mk var.PNGLIB
-lpng -lz -lm
}}}

> gdal-config has:
[snip]
> which of those would be useful in a grass-config? (obviously not the
last two)

None of them, really. GRASS isn't a single library; you would need
separate options for each component.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/596#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#596: provide a grass-config script
--------------------------+-------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Installation | Version: svn-trunk
Keywords: gdal-plugin | Platform: All
      Cpu: All |
--------------------------+-------------------------------------------------
Changes (by wolf):

* cc: wolf (added)

Comment:

The file grass-config.patch adds a basic version of what grass-config
could be. Note that it uses the configured values of /prefix and so on to
figure out where GRASS has been installed. Applies to trunk. This can be
expanded to have more options or more varied options...

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/596#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>

#596: provide a grass-config script
--------------------------+-------------------------------------------------
Reporter: hamish | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Installation | Version: svn-trunk
Keywords: gdal-plugin | Platform: All
      Cpu: All |
--------------------------+-------------------------------------------------

Comment(by dylan):

I think that there is a typo in the patch as submitted: "--restlibs"
should be "--rastlibs".

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/596#comment:5&gt;
GRASS GIS <http://grass.osgeo.org>