aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2024-06-21 14:23:42 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2024-06-24 11:18:04 +0300
commitff07b9a24212fd8cb92504f51b650afd52d7d408 (patch)
treede4ff04bb9b39e1470f9bb746a827df8bfca64cc
parente3cf44824b93c250ca8b5ee98b6149437ae2c68a (diff)
Fail instead of aborting on src and out directories naming scheme mismatch (GH issue #394)HEADmaster
-rw-r--r--build2/b.cxx5
-rw-r--r--libbuild2/file.cxx5
2 files changed, 6 insertions, 4 deletions
diff --git a/build2/b.cxx b/build2/b.cxx
index 8decadf..9ffb6d1 100644
--- a/build2/b.cxx
+++ b/build2/b.cxx
@@ -1096,8 +1096,9 @@ main (int argc, char* argv[])
if (!altn)
altn = rs.root_extra->altn;
- else
- assert (*altn == rs.root_extra->altn);
+ else if (*altn != rs.root_extra->altn)
+ fail << "naming scheme mismatch for " << out_root << " and "
+ << rs.src_path ();
}
// At this stage we should have both roots and out_base figured
diff --git a/libbuild2/file.cxx b/libbuild2/file.cxx
index 18147a2..ecb5f80 100644
--- a/libbuild2/file.cxx
+++ b/libbuild2/file.cxx
@@ -759,8 +759,9 @@ namespace build2
{
if (!altn)
altn = s.root_extra->altn;
- else
- assert (*altn == s.root_extra->altn);
+ else if (*altn != s.root_extra->altn)
+ fail << "naming scheme mismatch for " << out_root << " and "
+ << s.src_path ();
if (s.root_extra->project)
{