diff options
Diffstat (limited to 'bbot/version-impl')
-rw-r--r-- | bbot/version-impl | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/bbot/version-impl b/bbot/version-impl new file mode 100644 index 0000000..0205167 --- /dev/null +++ b/bbot/version-impl @@ -0,0 +1,81 @@ +// file : bbot/version-impl -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BBOT_VERSION // Note: using the version macro itself. + +#include <butl/version> // LIBBUTL_VERSION +#include <bbot/version> // LIBBBOT_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 +// +#define BBOT_VERSION 49901 +#define BBOT_VERSION_STR "0.5.0-a1" + +// 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. +// +#if LIBBUTL_VERSION != 49901 +# error incompatible libbutl version +#endif + +#if LIBBBOT_VERSION != 49901 +# error incompatible libbbot version +#endif + +// User agent. +// +#if defined(_WIN32) +# if defined(__MINGW32__) +# define BBOT_OS "MinGW" +# else +# define BBOT_OS "Windows" +# endif +#elif defined(__linux) +# define BBOT_OS "GNU/Linux" +#elif defined(__APPLE__) +# define BBOT_OS "MacOS" +#elif defined(__CYGWIN__) +# define BBOT_OS "Cygwin" +#elif defined(__FreeBSD__) +# define BBOT_OS "FreeBSD" +#elif defined(__OpenBSD__) +# define BBOT_OS "OpenBSD" +#elif defined(__NetBSD__) +# define BBOT_OS "NetBSD" +#elif defined(__sun) +# define BBOT_OS "Solaris" +#elif defined(__hpux) +# define BBOT_OS "HP-UX" +#elif defined(_AIX) +# define BBOT_OS "AIX" +#elif defined(__unix) +# define BBOT_OS "Unix" +#elif defined(__posix) +# define BBOT_OS "Posix" +#else +# define BBOT_OS "Other" +#endif + +#define BBOT_USER_AGENT \ + "bbot/" BBOT_VERSION_STR " (" BBOT_OS "; +https://build2.org)" \ + " libbbot/" LIBBBOT_VERSION_STR \ + " libbutl/" LIBBUTL_VERSION_STR + +#endif // BBOT_VERSION |