aboutsummaryrefslogtreecommitdiff
path: root/build/bootstrap.build
diff options
context:
space:
mode:
Diffstat (limited to 'build/bootstrap.build')
-rw-r--r--build/bootstrap.build53
1 files changed, 53 insertions, 0 deletions
diff --git a/build/bootstrap.build b/build/bootstrap.build
new file mode 100644
index 0000000..1137155
--- /dev/null
+++ b/build/bootstrap.build
@@ -0,0 +1,53 @@
+# file : build/bootstrap.build
+# copyright : Copyright (c) 2016-2017 Code Synthesis Ltd
+# license : GPLv2 with FOSS License Exception; see accompanying COPYING file
+
+project = libmysqlclient
+
+using version
+using config
+using dist
+using test
+using install
+
+# The MySQL client library ABI version number has the <major>.<minor>.<patch>
+# form. The major number is increased for backwards-incompatible API changes,
+# the minor number for backwards-compatible ones (for example, for adding a new
+# function), and the patch number is typically increased for each package
+# release, being in a sense redundant. Increase of the version component resets
+# the rightmost ones to zero. See also:
+#
+# http://mysqlserverteam.com/the-client-library-part-2-the-version-number/
+#
+# There is no way to deduce the ABI version from the release version. Moreover
+# the MySQL release history demonstrates their lack of correlation:
+#
+# release ABI
+# ...
+# 5.6.37 18.1.0
+# 5.7.1 18.0.0 (presumably a bug)
+# 5.7.2 18.1.0
+# ...
+# 5.7.5 18.3.0
+# 5.7.6 20.0.0
+# ...
+#
+# So we will have to obtain the ABI version from SHARED_LIB_*_VERSION variable
+# values in cmake/mysql_version.cmake for each package release. Also check that
+# the protocol version still correct (PROTOCOL_VERSION varible),
+#
+if ($version.major == 5 && $version.minor == 7 && $version.patch == 20)
+{
+ abi_major = 20
+ abi_minor = 3
+
+ protocol_version = 10
+}
+else
+ fail "increment the ABI version?"
+
+# To make sure the library is fully (backward and forward) compatible with
+# programs it is linked to, we will use the original ABI major and minor
+# numbers, dropping the redundant patch number,
+#
+abi_version = $abi_major.$abi_minor