summaryrefslogtreecommitdiff
path: root/build/bootstrap.build
blob: 2a3a21912a0be98c55ebd4f4b9af668ed4d85330 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# file      : build/bootstrap.build
# copyright : not copyrighted - public domain

project = libsqlite3

using build@0.4.0

# SQLite releases usually have 3-component versions but once in a while they
# will make a 4-component release for what appears to be important bug fixes
# only. So instead of dragging the fourth component around (and confusing a
# 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
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.<num> 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)
  dist.package += +$revision

using config
using dist
using test
using install