aboutsummaryrefslogtreecommitdiff
path: root/bpkg/version.hxx.in
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2017-05-01 13:50:13 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2017-05-01 15:02:14 +0300
commit2319d01e262b705716e19474865f555f3ca81a7d (patch)
tree15ffb5b3f998a2cc0def729d2f1f76f578d8d139 /bpkg/version.hxx.in
parent5fb0df6f63e02c141e8a0e5ad4543dea525df3fc (diff)
Add hxx extension for headers and lib prefix for library dirs
Diffstat (limited to 'bpkg/version.hxx.in')
-rw-r--r--bpkg/version.hxx.in95
1 files changed, 95 insertions, 0 deletions
diff --git a/bpkg/version.hxx.in b/bpkg/version.hxx.in
new file mode 100644
index 0000000..b51b69e
--- /dev/null
+++ b/bpkg/version.hxx.in
@@ -0,0 +1,95 @@
+// file : bpkg/version.hxx.in -*- C++ -*-
+// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+#ifndef BPKG_VERSION // Note: using the version macro itself.
+
+// Note: using build2 standard versioning scheme. The numeric version format
+// is AAABBBCCCDDDE where:
+//
+// AAA - major version number
+// BBB - minor version number
+// CCC - bugfix version number
+// DDD - alpha / beta (DDD + 500) version number
+// E - final (0) / snapshot (1)
+//
+// When DDDE is not 0, 1 is subtracted from AAABBBCCC. For example:
+//
+// Version AAABBBCCCDDDE
+//
+// 0.1.0 0000010000000
+// 0.1.2 0000010010000
+// 1.2.3 0010020030000
+// 2.2.0-a.1 0020019990010
+// 3.0.0-b.2 0029999995020
+// 2.2.0-a.1.z 0020019990011
+//
+#define BPKG_VERSION $bpkg.version.project_number$ULL
+#define BPKG_VERSION_STR "$bpkg.version.project$"
+#define BPKG_VERSION_ID "$bpkg.version.project_id$"
+
+#define BPKG_VERSION_MAJOR $bpkg.version.major$
+#define BPKG_VERSION_MINOR $bpkg.version.minor$
+#define BPKG_VERSION_PATCH $bpkg.version.patch$
+
+#define BPKG_PRE_RELEASE $bpkg.version.pre_release$
+
+#define BPKG_SNAPSHOT $bpkg.version.snapshot_sn$ULL
+#define BPKG_SNAPSHOT_ID "$bpkg.version.snapshot_id$"
+
+#include <butl/version>
+
+$libbutl.check(LIBBUTL_VERSION, LIBBUTL_SNAPSHOT)$
+
+#include <libbpkg/version.hxx>
+
+$libbpkg.check(LIBBPKG_VERSION, LIBBPKG_SNAPSHOT)$
+
+#include <odb/version.hxx>
+
+$libodb.check(LIBODB_VERSION, LIBODB_SNAPSHOT)$
+
+#include <odb/sqlite/version.hxx>
+
+$libodb-sqlite.check(LIBODB_SQLITE_VERSION, LIBODB_SQLITE_SNAPSHOT)$
+
+// User agent.
+//
+#if defined(_WIN32)
+# if defined(__MINGW32__)
+# define BPKG_OS "MinGW"
+# else
+# define BPKG_OS "Windows"
+# endif
+#elif defined(__linux)
+# define BPKG_OS "GNU/Linux"
+#elif defined(__APPLE__)
+# define BPKG_OS "MacOS"
+#elif defined(__CYGWIN__)
+# define BPKG_OS "Cygwin"
+#elif defined(__FreeBSD__)
+# define BPKG_OS "FreeBSD"
+#elif defined(__OpenBSD__)
+# define BPKG_OS "OpenBSD"
+#elif defined(__NetBSD__)
+# define BPKG_OS "NetBSD"
+#elif defined(__sun)
+# define BPKG_OS "Solaris"
+#elif defined(__hpux)
+# define BPKG_OS "HP-UX"
+#elif defined(_AIX)
+# define BPKG_OS "AIX"
+#elif defined(__unix)
+# define BPKG_OS "Unix"
+#elif defined(__posix)
+# define BPKG_OS "Posix"
+#else
+# define BPKG_OS "Other"
+#endif
+
+#define BPKG_USER_AGENT \
+ "bpkg/" BPKG_VERSION_STR " (" BPKG_OS "; +https://build2.org)" \
+ " libbpkg/" LIBBPKG_VERSION_STR \
+ " libbutl/" LIBBUTL_VERSION_STR
+
+#endif // BPKG_VERSION