On Mon, Apr 16, 2018 at 10:42:31AM +0200, Branko Čibej wrote:
> [Moved from users@]
>
> On 16.04.2018 10:36, Branko Čibej wrote:
> > The problem is that Swig has become a build-time dependency now. We
> > don't configure the Swig bindings unless Swig is installed, even if the
> > binding sources are already generated — as they are in the release tarballs.
> >
> > The solution is to install Swig and tell configure about it:
> >
> > $ sudo pkg install swig30
> > $ ./configure --with-swig=/usr/local/bin/swig30 ...
> >
> >
> > This will not cause the Swig sources to be regenerated, but will perform
> > the proper configuration to make them compile correctly.
> >
> > I consider this to be a bug in our build scripts, FWIW.
>
> I tracked this down to r1751167, which is only on trunk and 1.10.x.
>
> Long story short: it is wrong to require swig in order to configure the
> swig bindings. The whole point of putting generated swig wrappers into
> the release tarballs is so that users can build them without having to
> install swig.
>
> Defining the symbols SWIG_PY_COMPILE, SWIG_RB_COMPILE, and so on, should
> depend on the various scripting languages being installed, not on the
> presence of Swig.
>
> Can anyone explain the reasoning behind this change?
I did some searching to see if I could find any discussion that led me
to making this change and didn't turn up anything. I assume I was
missing the context of the Swig bindings being pre-generated.
Maybe we should have some automated testing for the peculiarities of
release tarballs to avoid mistakes like this in the future?
Reverted in r1829260.
Cheers,
--
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB
Received on 2018-04-16 14:29:55 CEST