From d762bfa1953933dfac0a29a74523c25719396b8c Mon Sep 17 00:00:00 2001 From: Oliver Reiche Date: Sat, 15 Apr 2023 16:28:33 +0200 Subject: imports: Switch to Microsoft GSL implementation ... with two minor code base changes compared to previous use of gsl-lite: - dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not wrapped in gsl::not_null<> anymore, due to lack of support for wrapping std::unique_ptr<>. More specifically, the move constructor is missing, rendering it impossible to use std::vector<>::emplace_back(). - utils/cpp/gsl.hpp: New header file added to implement the macros ExpectsAudit() and EnsureAudit(), asserts running only in debug builds, which were available in gsl-lite but are missing in MS GSL. --- src/utils/cpp/TARGETS | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/utils/cpp/TARGETS') diff --git a/src/utils/cpp/TARGETS b/src/utils/cpp/TARGETS index 42d8ae9e..fffb2e7b 100644 --- a/src/utils/cpp/TARGETS +++ b/src/utils/cpp/TARGETS @@ -2,21 +2,21 @@ { "type": ["@", "rules", "CC", "library"] , "name": ["hash_combine"] , "hdrs": ["hash_combine.hpp"] - , "deps": [["@", "gsl-lite", "", "gsl-lite"]] + , "deps": [["@", "gsl", "", "gsl"]] , "stage": ["src", "utils", "cpp"] } , "type_safe_arithmetic": { "type": ["@", "rules", "CC", "library"] , "name": ["type_safe_arithmetic"] , "hdrs": ["type_safe_arithmetic.hpp"] - , "deps": [["@", "gsl-lite", "", "gsl-lite"]] + , "deps": [["@", "gsl", "", "gsl"]] , "stage": ["src", "utils", "cpp"] } , "json": { "type": ["@", "rules", "CC", "library"] , "name": ["json"] , "hdrs": ["json.hpp"] - , "deps": [["@", "json", "", "json"], ["@", "gsl-lite", "", "gsl-lite"]] + , "deps": ["gsl", ["@", "json", "", "json"], ["@", "gsl", "", "gsl"]] , "stage": ["src", "utils", "cpp"] } , "concepts": @@ -54,7 +54,7 @@ , "name": ["tmp_dir"] , "hdrs": ["tmp_dir.hpp"] , "srcs": ["tmp_dir.cpp"] - , "deps": [["@", "gsl-lite", "", "gsl-lite"]] + , "deps": [["@", "gsl", "", "gsl"]] , "stage": ["src", "utils", "cpp"] , "private-deps": [["src/buildtool/file_system", "file_system_manager"]] } @@ -63,11 +63,18 @@ , "name": ["file_locking"] , "hdrs": ["file_locking.hpp"] , "srcs": ["file_locking.cpp"] - , "deps": [["@", "gsl-lite", "", "gsl-lite"]] + , "deps": [["@", "gsl", "", "gsl"]] , "stage": ["src", "utils", "cpp"] , "private-deps": [ ["src/buildtool/file_system", "file_system_manager"] , ["src/utils/cpp", "path"] ] } +, "gsl": + { "type": ["@", "rules", "CC", "library"] + , "name": ["gsl"] + , "hdrs": ["gsl.hpp"] + , "deps": [["@", "gsl", "", "gsl"]] + , "stage": ["src", "utils", "cpp"] + } } -- cgit v1.2.3