[gdal-dev] CSharp bindings question

Ari Jolma ari.jolma at gmail.com
Tue May 26 04:04:29 PDT 2015


On 26.05.2015 13:53, Tamas Szekeres wrote:
> Is that a requirement that the bindings should work well with all SWIG 
> versions or that the generated wrappers should work just fine?

I don't know about formal policy, There's nothing in

http://trac.osgeo.org/gdal/wiki/rfc8_devguide nor
http://trac.osgeo.org/gdal/wiki/HowToContribute

IMO that's quite much up to the developer(s) of the bindings in question.

Maybe we need a few rules in two above files. I would like to have some 
rules, which would help keeping the common interface files free of #if's.

FWIW, I haven't have much problems with different Swig versions with 
Perl bindings.

Ari

>
> Formerly I have been thinking that we should support all versions, but 
> it took large amount of extra efforts to work around all incompatible 
> changes what SWIG introduces all the time even with the minor 
> releases. Regarding to SWIG C# the earlier versions produced 
> definitely wrong code and I had implement quite some generic stuff in 
> the bindings (for example to work around the early garbage collection 
> issues). I see some enhancements in the recent versions in this 
> regard, but I'm not sure if I can completely remove these additions to 
> get a stable and consistent build.
>
> Tamas
>
>
>
> 2015-05-26 11:09 GMT+02:00 Ari Jolma <ari.jolma at gmail.com 
> <mailto:ari.jolma at gmail.com>>:
>
>     26.05.2015, 11:38, Even Rouault kirjoitti:
>
>         Le mardi 26 mai 2015 10:13:49, Tamas Szekeres a écrit :
>
>             Hi Ari,
>
>             I haven't tried to compile that with mono for quite a long
>             time. I'll give
>             it a try.
>
>             However we did not follow the latest changes in the SWIG
>             implementation
>             with the bindings, so I'd try with an earlier version (ie.
>             1.3.39) to
>             generate the wrappers.
>
>         I can confirm that I can compile the CSharp bindings on Linux
>         with SWIG 1.3.40
>         (and run the tests), but I get the same error as Ari with SWIG
>         2.0.X
>
>         As far as I know, Java and Python bindings build and run
>         equaly well with SWIG
>         1.3.40 or 2.0.X (although there's a Unix makefile hack to have
>         Python 3.2
>         compat, conditionnaly applied with SWIG 1.3.40, that is no
>         longer needed with
>         SWIG 2.0.4 or later)
>
>
>     Swig 1.3.39 seems questionable. Just look at the download amounts
>     at sourceforge. 1.3.39 one download and 1.3.40 148 downloads per week.
>
>     However, 1.3.39 does *not* put the PVINVOKE() method twice into
>     the PVINVOKE.cs file.
>
>
>             May be we should consider including the generated
>             wrappers in gdal instead of let the users to use different
>             versions with
>             different results.
>
>         It would be good if we could have a common SWIG version that
>         works for all the
>         bindings. So currently it seems to be 1.3.40 ?
>
>         Regarding putting the generated wrappers in SVN, that's
>         already what we do for
>         Python. We could also just include the generated wrappers in
>         the tarballs.
>
>
>     IMO "users" = people who use ready-made packages. Developers and
>     packagers should be intelligent enough to use development tools. I
>     don't like the idea of having generated files in source
>     repositories. I'm also of the opinion that there should be a
>     really good reason to use an old version of a common tool. And at
>     least in my Linux (Mint, Maya - hmm, that seems already pretty
>     old, I should upgrade) swig 2.0.11 is the current. But that's just
>     me I guess.
>
>     Ari
>
>
>         Even
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20150526/6656b759/attachment-0001.html>


More information about the gdal-dev mailing list