From 39c76ef8c9b664c94d5d7b789457fa4045fdce04 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 31 Aug 2016 19:27:53 +0300 Subject: Build infrastructure update --- build/bootstrap.build | 20 ++++++++++++++------ build/root.build | 18 ++++++++++++++++++ manifest | 2 +- odb/sqlite/buildfile | 21 +++++++++------------ odb/sqlite/details/.gitignore | 1 + tests/build/.gitignore | 1 + tests/build/root.build | 5 ++++- 7 files changed, 48 insertions(+), 20 deletions(-) create mode 100644 odb/sqlite/details/.gitignore create mode 100644 tests/build/.gitignore diff --git a/build/bootstrap.build b/build/bootstrap.build index a7c7eed..351fe40 100644 --- a/build/bootstrap.build +++ b/build/bootstrap.build @@ -3,16 +3,24 @@ # license : GNU GPL v2; see accompanying LICENSE file project = libodb-sqlite -version = 2.5.0-a10 -revision = 0 using build@0.4.0-a1 -using config -using dist -using test -using install + +version = 2.5.0-a10 + +abi_major = 2 +abi_minor = 5 +abi_patch = 0 +abi_prerelease = true + +revision = 0 dist.package = $project-$version if ($revision != 0) dist.package += +$revision + +using config +using dist +using test +using install diff --git a/build/root.build b/build/root.build index fb0de84..5898b63 100644 --- a/build/root.build +++ b/build/root.build @@ -5,3 +5,21 @@ cxx.std = 11 using cxx + +hxx{*}: extension = hxx +ixx{*}: extension = ixx +txx{*}: extension = txx +cxx{*}: extension = cxx + +cxx.poptions =+ -I$out_root -I$src_root + +# Load the cli module but only if it's available. This way a distribution that +# includes pre-generated files can be built without installing cli. +# +using? cli + +if! $cli.loaded +{ + define cli: file + cli{*}: extension = cli +} diff --git a/manifest b/manifest index 9003733..3db30d9 100644 --- a/manifest +++ b/manifest @@ -10,6 +10,6 @@ changes-file: NEWS url: http://www.codesynthesis.com/products/odb/ email: odb-users@codesynthesis.com requires: c++11 -requires: build2 >= 0.4.0-a1 +requires: build2 >= 0.4.0 depends: libsqlite3 >= 3.6.18 depends: libodb == 2.5.0-a10 diff --git a/odb/sqlite/buildfile b/odb/sqlite/buildfile index d5f1d13..d32d3b4 100644 --- a/odb/sqlite/buildfile +++ b/odb/sqlite/buildfile @@ -51,7 +51,15 @@ details/build2/{h }{ config } \ details/build2/{h }{ config-vc } \ $int_libs -cxx.poptions =+ -I$out_root -I$src_root -DLIBODB_SQLITE_BUILD2 +# For pre-releases use the complete version to make sure they cannot be used +# in place of another pre-release or the final version. +# +if $abi_prerelease + lib{odb-sqlite}: bin.lib.version = @-$version +else + lib{odb-sqlite}: bin.lib.version = @-$abi_major.$abi_minor + +cxx.poptions =+ -DLIBODB_SQLITE_BUILD2 obja{*}: cxx.poptions += -DLIBODB_SQLITE_STATIC_BUILD objs{*}: cxx.poptions += -DLIBODB_SQLITE_SHARED_BUILD @@ -61,17 +69,6 @@ libs{odb-sqlite}: cxx.export.poptions += -DLIBODB_SQLITE_SHARED lib{odb-sqlite}: cxx.export.libs = $int_libs -# Load the cli module but only if it's available. This way a distribution that -# includes pre-generated files can be built without installing cli. -# -using? cli - -if! $cli.loaded -{ - define cli: file - cli{*}: extension = cli -} - details/: { {hxx ixx cxx}{options}: cli{options} diff --git a/odb/sqlite/details/.gitignore b/odb/sqlite/details/.gitignore new file mode 100644 index 0000000..c6e608b --- /dev/null +++ b/odb/sqlite/details/.gitignore @@ -0,0 +1 @@ +options.?xx diff --git a/tests/build/.gitignore b/tests/build/.gitignore new file mode 100644 index 0000000..225c27f --- /dev/null +++ b/tests/build/.gitignore @@ -0,0 +1 @@ +config.build diff --git a/tests/build/root.build b/tests/build/root.build index 9d11dd5..5dd8142 100644 --- a/tests/build/root.build +++ b/tests/build/root.build @@ -2,9 +2,12 @@ # copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC # license : GNU GPL v2; see accompanying LICENSE file +cxx.std = 11 + using cxx -cxx.std = 11 +hxx{*}: extension = hxx +cxx{*}: extension = cxx # Every exe{} in this subproject is by default a test. # -- cgit v1.1