From 080fb39e0d41a2d293f2480a5de0673c605cfbdf Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 31 Aug 2016 19:24:57 +0300 Subject: Build infrastructure update --- build/.gitignore | 1 + build/bootstrap.build | 20 ++++++++++++++------ build/root.build | 18 ++++++++++++++++++ manifest | 2 +- odb/pgsql/buildfile | 21 +++++++++------------ odb/pgsql/details/.gitignore | 1 + tests/.gitignore | 1 + tests/build/.gitignore | 1 + tests/build/root.build | 5 ++++- 9 files changed, 50 insertions(+), 20 deletions(-) create mode 100644 build/.gitignore create mode 100644 odb/pgsql/details/.gitignore create mode 100644 tests/.gitignore create mode 100644 tests/build/.gitignore diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 0000000..225c27f --- /dev/null +++ b/build/.gitignore @@ -0,0 +1 @@ +config.build diff --git a/build/bootstrap.build b/build/bootstrap.build index ba90909..0f03f0e 100644 --- a/build/bootstrap.build +++ b/build/bootstrap.build @@ -3,16 +3,24 @@ # license : GNU GPL v2; see accompanying LICENSE file project = libodb-pgsql -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 d03dddb..3847bf9 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: libpq >= 9.0.0 depends: libodb == 2.5.0-a10 diff --git a/odb/pgsql/buildfile b/odb/pgsql/buildfile index c2a13a5..50b3097 100644 --- a/odb/pgsql/buildfile +++ b/odb/pgsql/buildfile @@ -49,7 +49,15 @@ details/build2/{h }{ config } \ details/build2/{h }{ config-vc } \ $imp_libs $int_libs -cxx.poptions =+ -I$out_root -I$src_root -DLIBODB_PGSQL_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-pgsql}: bin.lib.version = @-$version +else + lib{odb-pgsql}: bin.lib.version = @-$abi_major.$abi_minor + +cxx.poptions =+ -DLIBODB_PGSQL_BUILD2 obja{*}: cxx.poptions += -DLIBODB_PGSQL_STATIC_BUILD objs{*}: cxx.poptions += -DLIBODB_PGSQL_SHARED_BUILD @@ -59,17 +67,6 @@ libs{odb-pgsql}: cxx.export.poptions += -DLIBODB_PGSQL_SHARED lib{odb-pgsql}: 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/pgsql/details/.gitignore b/odb/pgsql/details/.gitignore new file mode 100644 index 0000000..c6e608b --- /dev/null +++ b/odb/pgsql/details/.gitignore @@ -0,0 +1 @@ +options.?xx diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 0000000..e54525b --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1 @@ +driver 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