[Gdal-dev] Motion: Adding the SWIG generated files to the SVN repository

Tamas Szekeres szekerest at gmail.com
Tue Jan 23 08:31:34 EST 2007


Dear All,

It seems to me that many of the developers would favour adding the
SWIG generated files to the SVN repository. Currently for some of the
bindings the generated files are already inside, but  the others like
C# doesn't have these files version controlled.

The primary benefit of this solution that it would eliminate the need
to have the SWIG installed for those who want to compile the binaries
from the source. In addition the interface maintainer could choose the
most appropriate SWIG version to generate the files.

However there are some disdvantages when applying this concept, as:

1. For some of the bindings SWIG generates high number of the files.
For the C# interface currently the following files should be added:

 Directory of \gdal\swig\csharp\const

gdalconst.cs
gdalconstPINVOKE.cs
gdalconst_wrap.c

 Directory of \gdal\swig\csharp\gdal

Band.cs
ColorEntry.cs
ColorTable.cs
Dataset.cs
Driver.cs
GCP.cs
gdal.cs
gdalPINVOKE.cs
gdal_wrap.cpp
MajorObject.cs
SWIGTYPE_p_CPLErrorHandler.cs
SWIGTYPE_p_FALSE_IS_ERR.cs
SWIGTYPE_p_GByte.cs
SWIGTYPE_p_int.cs
SWIGTYPE_p_p_char.cs
SWIGTYPE_p_p_GDAL_GCP.cs
XMLNode.cs
XMLNodeType.cs

 Directory of \gdal\swig\csharp\ogr

CoordinateTransformation.cs
DataSource.cs
Driver.cs
Envelope.cs
Feature.cs
FeatureDefn.cs
FieldDefn.cs
Geometry.cs
Layer.cs
ogr.cs
ogrPINVOKE.cs
ogr_wrap.cpp
osr.cs
osrPINVOKE.cs
osr_wrap.cpp
SpatialReference.cs
SWIGTYPE_p_p_char.cs

 Directory of \gdal\swig\csharp\osr

CoordinateTransformation.cs
osr.cs
osrPINVOKE.cs
osr_wrap.cpp
SpatialReference.cs
SWIGTYPE_p_p_char.cs


Upon modifying the C# interface files (.i) sometimes all of the
generated files may vary, some of the files might be deleted renamed
or added.  Therefore the maintainability of these files might bring in
some additional complexity.


2. If different people with different swigs generate these files they
will potentially clobber each other in the repository and even
generate conflicts. Here is an example taken out of a post in the
geos-dev list:

A checks out
B checks out
A generates and updates and commits
B generates and updates, conflict!



Before applying such changes I would like to know how the folks can
live with this idea. When I get some positive confirmation I'm ready
to make it for the SWIG C# binding.

I would start a vote on this approval with a +0 on my side.


Best Regards,



More information about the Gdal-dev mailing list