From b337a810939559ed8ee49c77f9918e5be76dd7b9 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 28 Apr 2017 14:37:47 +0200 Subject: Improve version check --- build2/version/rule.cxx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'build2') diff --git a/build2/version/rule.cxx b/build2/version/rule.cxx index 6909b92..6632d55 100644 --- a/build2/version/rule.cxx +++ b/build2/version/rule.cxx @@ -453,9 +453,16 @@ namespace build2 string r; - r += "#if !(" + cond () + ")\n"; - r += "# error incompatible " + n + " version, "; - r += n + ' ' + c.string () + " is required\n"; + // This is tricky: if the version header hasn't been generated yet, + // then the check will fail. Maybe a better solution is to disable + // diagnostics and ignore (some) errors during dependency + // extraction. + // + r += "#ifdef " + vm + "\n"; + r += "# if !(" + cond () + ")\n"; + r += "# error incompatible " + n + " version, "; + r += n + ' ' + c.string () + " is required\n"; + r += "# endif\n"; r += "#endif"; return r; -- cgit v1.1