From 330ffb995ec9ead9c53cd477e11887e5f9d982dc Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 1 Sep 2016 07:49:52 +0200 Subject: Build system updates --- build/bootstrap.build | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) (limited to 'build/bootstrap.build') diff --git a/build/bootstrap.build b/build/bootstrap.build index e6b071f..6e801ed 100644 --- a/build/bootstrap.build +++ b/build/bootstrap.build @@ -11,15 +11,38 @@ using build@0.4.0-a1 # lot of people in the process) we will always have three components and will # handle an occasional bugfix release with a revision. # +# See also: https://www.sqlite.org/versionnumbers.html +# version = 3.14.1 - -abi_major = 3 -abi_minor = 14 -abi_patch = 1 -abi_prerelease = false - revision = 0 +# The SQLite documentation says that as long as the major version stays the +# same, then it is backwards-compatible. And since we have the major version +# already embedded into the library name, it doesn't make much sense to repeat +# it. +# +# Note, however, that the binary-compatible API doesn't mean all the builds of +# SQLite are binary-compatible since they can be built with different sets of +# enabled/disabled functionality. In fact, one easy way to break backwards- +# compatibility is to disable some feature that was previously enabled. +# +# So what we seem to need is not an ABI version but an ABI id that identifies +# a specific set of features. And this will not be easy/possible if we want +# to use platform-native versioning (e.g., libsqlite3.so. on Linux). The +# only way to make this work would be to "reserve" some range for build2-based +# builds (e.g., 1000-2000 so that we will have libsqlite3.so.1000; that sure +# looks weird). +# +# Another alternative is to use platform-neutral versioning by embedding the +# id into the library name, similar to '3'. This is probably better since +# there is no "newer" semantics here. While ideally we should use something +# like -build2-0 (i.e., "build2 build, id 0"), that will look rather ugly. So +# we will use just the number but start with -1 in order not to clash with .0 +# used by the autotools build (which becomes -0 on, e.g., Windows; I don't +# believe it will ever be incremented though). +# +abi_major = 1 + dist.package = $project-$version if ($revision != 0) -- cgit v1.1