William Kyngesburye wrote: > I'm trying to figure out how to handle multiple GRASS versions. I see > that G_gisinit() and G_no_gisinit() compare the version passed to it > with GIS_H_VERSION. And this currently in 6.4RCx is set to an SVN > revision number. > > Since GIS_H_VERSION gets compiled into any external software that > links to GRASS libraries - GDAL/GRASS plugin and QGIS - GRASS 6.4RC4 ! > = GRASS 6.4RC5 and I have to rebuild *everything* for it all to > happily coexist. Nightmare for distribution. > > When GRASS 6.4 is final, will this be set to some fixed value that > will not change between revisions (ie 6.4.x)? The library API > shouldn't change in minor revisions, so external software shouldn't > have to depend on an exact version of GRASS.
If gis.h doesn't change, then GIS_H_VERSION won't change If gis.h is changed, the API and ABI have changed, so any programs using libgis will need to be recompiled for the new ABI. Checking GIS_H_VERSION simply causes any programs built for a different version to produce an unambiguous error message rather than producing obscure errors due to ABI incompatibility. > Users installing binaries may not update all (GRASS/GDAL/QGIS/other) > in a timely manner. Packagers would otherwise have to rebuild > software that hasn't changed just so it works with a minor GRASS update. Anything which changes GIS_H_VERSION isn't a minor update. -- Glynn Clements <gl...@gclements.plus.com> _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev