On 2016/06/01 11:22, Stuart Henderson wrote:
> On 2016/06/01 09:09, Landry Breuil wrote:
> > And most importantly, 47 (released next week) requires 3.11.
> > /usr/obj/ports/firefox-47.0beta9/firefox-47.0b9/old-configure:SQLITE_VERSION=3.11.0
> 
> Ok, I'll update the diff this evening.

So this was a bit optimistic... 3.11 and 3.13 start making more
changes to the Tcl scripts that replaced the awk scripts and it's
beyond my awk to replicate them. (Also I'm not too sure about the
XXX in Makefile about lempar.c which has changed upstream since
the version where we added it).

As I see it there are two options to get us out of the hole.

- Pregenerate the files with Tcl and commit them, adapting the
Makefile to use them. This is looking possible for 3.11 though
still a bit of a pain to handle the build system hacks that
will be needed. From a quick look at 3.13 there are more build
system changes and further changes to the Tcl. I for one am
not going to be able to maintain a forked build system with
this many moving pieces.

- Switch to the "amalgamation" (4 source files: 3 for the lib,
one for the shell), which is what upstream push people towards
using (and what everybody else that I've seen including
sqlite source uses).

With this the main file is unfortunately huge but would be easier
by far to update later. Note that we only have a small change to
the actual source code (replacing the RNG code) which is easy enough
to carry across. Most of our changes are to the build infrastructure.

As far as Firefox goes, I think sqlite 3.11 should do us until
release, but might be problematic if we want to update in -stable
ports.

>From what I can tell sqlite upstream *are* careful about ABI.
But it would seem quite a stretch to expect things to work
safely/reliably with two different versions brought into
one address space.

Reply via email to