diff options
-rw-r--r-- | brep/buildfile | 1 | ||||
-rw-r--r-- | brep/version | 51 | ||||
-rw-r--r-- | loader/loader.cxx | 6 |
3 files changed, 57 insertions, 1 deletions
diff --git a/brep/buildfile b/brep/buildfile index dbe0bce..80949fe 100644 --- a/brep/buildfile +++ b/brep/buildfile @@ -24,6 +24,7 @@ lib{brep}: \ {hxx cxx}{ package-traits } \ {hxx }{ types } \ {hxx }{ utility } \ +{hxx }{ version } \ $libs libso{brep}: cxx.export.poptions = -I$out_root -I$src_root diff --git a/brep/version b/brep/version new file mode 100644 index 0000000..8bcca9b --- /dev/null +++ b/brep/version @@ -0,0 +1,51 @@ +// file : brep/version -*- C++ -*- +// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef LIBBREP_VERSION // Note: using the version macro itself. + +#include <butl/version> // LIBBUTL_VERSION +#include <bpkg/version> // LIBBPKG_VERSION + +// Version format is AABBCCDD where +// +// AA - major version number +// BB - minor version number +// CC - bugfix version number +// DD - alpha / beta (DD + 50) version number +// +// When DD is not 00, 1 is subtracted from AABBCC. For example: +// +// Version AABBCCDD +// 2.0.0 02000000 +// 2.1.0 02010000 +// 2.1.1 02010100 +// 2.2.0-a1 02019901 +// 3.0.0-b2 02999952 +// +// AABBCCDD +#define LIBBREP_VERSION 10000 +#define LIBBREP_VERSION_STR "0.1.0" + +// For now these are the same. +// +#define BREP_VERSION LIBBREP_VERSION +#define BREP_VERSION_STR LIBBREP_VERSION_STR + +// Generally, we expect minor versions to be source code backwards- +// compatible, thought we might have a minimum version requirement. +// +// Note: does not apply during early development. +// +// AABBCCDD +#if (LIBBUTL_VERSION < 10000 || \ + LIBBUTL_VERSION > 10000) +# error incompatible libbutl version +#endif + +#if (LIBBPKG_VERSION < 10000 || \ + LIBBPKG_VERSION > 10000) +# error incompatible libbpkg version +#endif + +#endif // LIBBREP_VERSION diff --git a/loader/loader.cxx b/loader/loader.cxx index 4512b8d..343c810 100644 --- a/loader/loader.cxx +++ b/loader/loader.cxx @@ -23,6 +23,7 @@ #include <brep/types> #include <brep/utility> +#include <brep/version> #include <brep/package> #include <brep/package-odb> @@ -704,7 +705,10 @@ main (int argc, char* argv[]) // if (ops.version ()) { - cout << "brep-loader 0.1.0" << endl + cout << "brep-loader " << BREP_VERSION_STR << endl + << "libbrep " << LIBBREP_VERSION_STR << endl + << "libbpkg " << LIBBPKG_VERSION_STR << endl + << "libbutl " << LIBBUTL_VERSION_STR << endl << "Copyright (c) 2014-2015 Code Synthesis Ltd" << endl << "MIT; see accompanying LICENSE file" << endl; |