aboutsummaryrefslogtreecommitdiff
path: root/build2/utility
diff options
context:
space:
mode:
Diffstat (limited to 'build2/utility')
-rw-r--r--build2/utility41
1 files changed, 7 insertions, 34 deletions
diff --git a/build2/utility b/build2/utility
index 95766a4..860c841 100644
--- a/build2/utility
+++ b/build2/utility
@@ -17,7 +17,6 @@
#include <butl/ft/lang>
#include <butl/utility> // combine_hash(), reverse_iterate(), case*(), etc
-#include <butl/standard-version>
#include <unordered_set>
@@ -104,9 +103,14 @@ namespace build2
//
extern process_path argv0;
- // Build system driver version.
+ // Build system driver version and check.
//
- extern butl::standard_version build_version;
+ extern standard_version build_version;
+
+ class location;
+
+ void
+ check_build_version (const standard_version_constraint&, const location&);
// Work/home directories (must be initialized in main()) and relative path
// calculation.
@@ -418,37 +422,6 @@ namespace build2
string
apply_pattern (const char* stem, const string* pattern);
- // Parse version string in the X.Y.Z[-{a|b}N] to a version integer in the
- // AABBCCDD form, 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
- //
- // For a version in the 1.2.3- form, it returns (AABBCC-1)01, which is the
- // lowest possible version in the 1.2.3 release set. For example:
- //
- // Version AABBCCDD
- // 2.2.0- 02019901
- // 1.2.3- 01020201
- //
- // In fact versions 1.2.3- and 1.2.3-a1 are equivalent.
- //
- // Throw invalid_argument if the passed string is not a valid version.
- //
- unsigned int
- to_version (const string&);
-
// Initialize build2 global state (verbosity, home/work directories, etc).
// Should be called early in main() once.
//