diff options
Diffstat (limited to 'libz/build')
-rw-r--r-- | libz/build/.gitignore | 3 | ||||
-rw-r--r-- | libz/build/bootstrap.build | 40 | ||||
-rw-r--r-- | libz/build/export.build | 10 | ||||
-rw-r--r-- | libz/build/root.build | 16 |
4 files changed, 69 insertions, 0 deletions
diff --git a/libz/build/.gitignore b/libz/build/.gitignore new file mode 100644 index 0000000..4a730a3 --- /dev/null +++ b/libz/build/.gitignore @@ -0,0 +1,3 @@ +config.build +root/ +bootstrap/ diff --git a/libz/build/bootstrap.build b/libz/build/bootstrap.build new file mode 100644 index 0000000..4bd5a50 --- /dev/null +++ b/libz/build/bootstrap.build @@ -0,0 +1,40 @@ +# file : build/bootstrap.build +# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd +# license : zlib License; see accompanying LICENSE file + +project = libz + +using version +using config +using dist +using test +using install + +# zlib version has the <major>.<minor>.<revision>[.<subrevision>] form +# (ZLIB_VER* macros in zlib.h). The version increment rules are not documented +# and are hard to deduce. A subrevision release may contain a lot of changes +# (see 1.2.7.1) and a revision release may contain very few of them (see +# 1.2.8). +# +# Instead of dragging the fourth component around (and not being able to use a +# lot of tooling support) we are going to map the upstream version to the +# standard version as <major>.<minor>.<revision * 100 + subrevision>. Note +# that subrevision does not exceed 0xF (see ZLIB_VERNUM macro in zlib.h). Note +# that while there are no guarantees that this version follows the semver +# semantics, it's probably reasonable to assume this is the case. +# +# There is no documentation that describes libz ABI versioning and +# compatibility rules, so everything that follows is deduced from Makefile.in. +# +# The library naming scheme on Linux is +# libz.so.<major>.<minor>.<revision>[.<subrevision>] (SHAREDLIBV in +# Makefile.in). So presumably major is incremented on backwards-incompatible +# ABI changes. +# +if ($version.major == 1 && $version.minor == 2 && $version.patch == 1100) +{ + abi_version_major = 1 + abi_version = "$abi_version_major.2.11" # ...11.1 for subrevision 1, etc. +} +else + fail "increment the ABI version?" diff --git a/libz/build/export.build b/libz/build/export.build new file mode 100644 index 0000000..91c9d5a --- /dev/null +++ b/libz/build/export.build @@ -0,0 +1,10 @@ +# file : build/export.build +# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd +# license : zlib License; see accompanying LICENSE file + +$out_root/ +{ + include libz/ +} + +export $out_root/libz/lib{z} diff --git a/libz/build/root.build b/libz/build/root.build new file mode 100644 index 0000000..eab145c --- /dev/null +++ b/libz/build/root.build @@ -0,0 +1,16 @@ +# file : build/root.build +# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd +# license : zlib License; see accompanying LICENSE file + +using in + +using c + +h{*}: extension = h +c{*}: extension = c + +if ($c.target.system == 'win32-msvc') + c.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS + +if ($c.class == 'msvc') + c.coptions += /wd4251 /wd4275 /wd4800 |