[GRASS-SVN] r53672 - grass/trunk/general/g.version
svn_grass at osgeo.org
svn_grass at osgeo.org
Sat Nov 3 04:24:46 PDT 2012
Author: martinl
Date: 2012-11-03 04:24:45 -0700 (Sat, 03 Nov 2012)
New Revision: 53672
Modified:
grass/trunk/general/g.version/g.version.html
grass/trunk/general/g.version/main.c
Log:
g.version: new flag for printing libraries info (GDAL, PROJ and GEOS)
manual updated
Modified: grass/trunk/general/g.version/g.version.html
===================================================================
--- grass/trunk/general/g.version/g.version.html 2012-11-02 20:28:37 UTC (rev 53671)
+++ grass/trunk/general/g.version/g.version.html 2012-11-03 11:24:45 UTC (rev 53672)
@@ -1,7 +1,8 @@
<h2>DESCRIPTION</h2>
<em>g.version</em> prints to standard output the GRASS version number,
-date, the GRASS copyright and GRASS build information.
+date, the GRASS copyright (<b>-c</b> flag), and GRASS build information
+(<b>-b</b> flag).
<h2>NOTES</h2>
@@ -9,47 +10,67 @@
<em>g.version</em> on the command line to see the version number and
date of the GRASS software currently being run by the user.
+<p>
+Information about GRASS
+core <a href="http://grass.osgeo.org/programming7/gislib.html">GIS
+Library</a> can be printed by <b>-r</b> flag.
+
+<p>
+Version numbers of additional libraries
+like <a href="http://trac.osgeo.org/proj/">PROJ.4</a>, <a href="http://gdal.org/">GDAL/OGR</a>
+or <a href="http://trac.osgeo.org/geos">GEOS</a> are printed
+by <b>-e</b> flag.
+
+<p>
+See also function <tt>version()</tt>
+from <a href="http://grass.osgeo.org/wiki/GRASS_Python_Scripting_Library">Python
+Scripting Library</a>.
+
+<div class="code"><pre>
+import grass.script as grass
+
+print grass.version()
+</div>
+
<h2>EXAMPLES</h2>
+<h3>Basic info</h3>
<div class="code"><pre>
g.version
-GRASS 7.0.svn45136 (2011)
+GRASS 7.0.svn (2012)
</pre></div>
+<h3>GIS Library info</h3>
+
<div class="code"><pre>
g.version -r
-GRASS 7.0.svn45136 (2011)
-Revision: 45093
-Date: 2011-01-20 13:10:50 +0100 (Thu, 20 Jan 2011)
+GRASS 7.0.svn (2012)
+libgis Revision: 52468
+libgis Date: 2012-07-27 22:53:30 +0200 (Fri, 27 Jul 2012)
</pre></div>
+<h3>Full info in shell script style</h3>
<div class="code"><pre>
-g.version -rg
+g.version -rge
version=7.0.svn
-revision=45136
-date=2011
-gis_revision=Revision: 45093
-gis_date=Date: 2011-01-20 13:10:50 +0100 (Thu, 20 Jan 2011)
+revision=53670
+date=2012
+libgis_revision=52468
+libgis_date="2012-07-27 22:53:30 +0200 (Fri, 27 Jul 2012) "
+proj4=4.8.0
+gdal=1.9.2
+geos=3.3.5
</pre></div>
-<h2>PYTHON</h2>
+<h2>AUTHORS</h2>
-See <em><a href="http://grass.osgeo.org/programming7/pythonlib.html">Python
-Scripting Library</a></em> for more info.
-
-<div class="code"><pre>
-import grass.script as grass
-
-grass.version()
-</div>
-
-<h2>AUTHOR</h2>
-
Michael Shapiro,
U.S. Army Construction Engineering
-Research Laboratory
+Research Laboratory<br>
+Extended info by Martin Landa, Czech Technical University in Prague, Czech Republic
-<p><i>Last changed: $Date$</i>
+<p>
+<i>Last changed: $Date$</i>
Modified: grass/trunk/general/g.version/main.c
===================================================================
--- grass/trunk/general/g.version/main.c 2012-11-02 20:28:37 UTC (rev 53671)
+++ grass/trunk/general/g.version/main.c 2012-11-03 11:24:45 UTC (rev 53672)
@@ -5,9 +5,10 @@
* AUTHOR(S): Michael Shapiro, CERL
* Andreas Lange - <andreas.lange rhein-main.de>
* Justin Hickey - Thailand - jhickey hpcc.nectec.or.th
+* Extended info by Martin Landa <landa.martin gmail.com>
* PURPOSE: Output GRASS version number, date and copyright message.
*
-* COPYRIGHT: (C) 2000-2011 by the GRASS Development Team
+* COPYRIGHT: (C) 2000-2012 by the GRASS Development Team
*
* This program is free software under the GPL (>=v2)
* Read the file COPYING that comes with GRASS for details.
@@ -20,6 +21,16 @@
#include <grass/gis.h>
#include <grass/glocale.h>
+#include <proj_api.h>
+
+#ifdef HAVE_GDAL
+#include <gdal_version.h>
+#endif
+
+#ifdef HAVE_GEOS
+#include <geos_c.h>
+#endif
+
#ifndef GRASS_VERSION_UPDATE_PKG
#define GRASS_VERSION_UPDATE_PKG "0.1"
#endif
@@ -35,7 +46,7 @@
int main(int argc, char *argv[])
{
struct GModule *module;
- struct Flag *copyright, *build, *gish_rev, *shell;
+ struct Flag *copyright, *build, *gish_rev, *shell, *extended;
G_gisinit(argv[0]);
@@ -60,6 +71,12 @@
_("Print also the GIS library revision number and time");
gish_rev->guisection = _("Additional info");
+ extended = G_define_flag();
+ extended->key = 'e';
+ extended->label = _("Print also extended info for additional libraries");
+ extended->description = _("GDAL/OGR, PROJ.4, GEOS");
+ extended->guisection = _("Additional info");
+
shell = G_define_flag();
shell->key = 'g';
shell->description = _("Print info in shell script style (including SVN revision number)");
@@ -104,5 +121,44 @@
G_free_tokens(rev_time);
}
+ if (extended->answer) {
+ char *proj = NULL;
+ G_asprintf(&proj, "%d", PJ_VERSION);
+ if (strlen(proj) == 3) {
+ if (shell->answer)
+ fprintf(stdout, "proj4=%c.%c.%c\n", proj[0], proj[1], proj[2]);
+ else
+ fprintf(stdout, "PROJ.4: %c.%c.%c\n", proj[0], proj[1], proj[2]);
+ }
+ else {
+ if (shell->answer)
+ fprintf(stdout, "proj4=%s\n", proj);
+ else
+ fprintf(stdout, "PROJ.4: %s\n", proj);
+ }
+#ifdef HAVE_GDAL
+ if (shell->answer)
+ fprintf(stdout, "gdal=%s\n", GDAL_RELEASE_NAME);
+ else
+ fprintf(stdout, "GDAL/OGR: %s\n", GDAL_RELEASE_NAME);
+#else
+ if (shell->answer)
+ fprintf(stdout, "gdal=\n");
+ else
+ fprintf(stdout, "%s\n", _("GRASS not compiled with GDAL/OGR support"));
+#endif
+#ifdef HAVE_GEOS
+ if (shell->answer)
+ fprintf(stdout, "geos=%s\n", GEOS_VERSION);
+ else
+ fprintf(stdout, "GEOS: %s\n", GEOS_VERSION);
+#else
+ if (shell->answer)
+ fprintf(stdout, "geos=\n");
+ else
+ fprintf(stdout, "%s\n", _("GRASS not compiled with GEOS support"));
+#endif
+ }
+
return (EXIT_SUCCESS);
}
More information about the grass-commit
mailing list