From 50e725ae23124a10d56a615fb8b0ae80d0d2b4d3 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 16 Jun 2020 13:07:31 +0200 Subject: Add metadata for exe{b}, including whether it is statically-linked Use this information to omit ad hoc C++ recipe tests is testing statically- linked build system. --- tests/build/root.build | 5 ++++- tests/dependency/recipe/testscript | 3 +++ tests/recipe/cxx/testscript | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/build/root.build b/tests/build/root.build index 4ac2957..e3f0f61 100644 --- a/tests/build/root.build +++ b/tests/build/root.build @@ -19,8 +19,11 @@ if ($cxx.class == 'msvc') # path. # import.build2 = [null] +import! [metadata] b = build2%exe{b} + +static = $($b:b.static) # True if testing statically-linked build system. +shared = (!$static) # For '$shared || exit' idiom. -import b = build2%exe{b} testscript{*}: test = $b # Specify the test target for cross-testing. diff --git a/tests/dependency/recipe/testscript b/tests/dependency/recipe/testscript index 5f9bdf1..bd33bcc 100644 --- a/tests/dependency/recipe/testscript +++ b/tests/dependency/recipe/testscript @@ -708,6 +708,8 @@ EOE : : Disable when cross-testing for the sake of simplicity. : + #\ + # @@ There is now metadata and name in exe{b}. if ($test.target == $build.host) { $* <>/~%EOE% != 0 @@ -724,6 +726,7 @@ EOE info: or provide custom low-verbosity diagnostics with the 'diag' builtin EOE } + #\ : program : diff --git a/tests/recipe/cxx/testscript b/tests/recipe/cxx/testscript index 3eb8015..6601c0a 100644 --- a/tests/recipe/cxx/testscript +++ b/tests/recipe/cxx/testscript @@ -1,6 +1,10 @@ # file : tests/recipe/cxx/testscript # license : MIT; see accompanying LICENSE file +# Ad hoc C++ recipes not supported in a statically-linked build system. +# ++$shared || exit + +mkdir build +cat <=build/bootstrap.build project = test -- cgit v1.1