From 483eb2f56657e8e7f419ab1a4fab8dce9ade8609 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 20:24:20 +0200 Subject: Adding upstream version 14.2.21. Signed-off-by: Daniel Baumann --- src/boost/tools/build/test/chain.py | 56 +++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/boost/tools/build/test/chain.py (limited to 'src/boost/tools/build/test/chain.py') diff --git a/src/boost/tools/build/test/chain.py b/src/boost/tools/build/test/chain.py new file mode 100644 index 00000000..981e6ad1 --- /dev/null +++ b/src/boost/tools/build/test/chain.py @@ -0,0 +1,56 @@ +#!/usr/bin/python + +# Copyright 2003 Dave Abrahams +# Copyright 2002, 2003 Vladimir Prus +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) + +# This tests that : +# 1) the 'make' correctly assigns types to produced targets +# 2) if 'make' creates targets of type CPP, they are correctly used. + +import BoostBuild + +t = BoostBuild.Tester(use_test_config=False) + +# In order to correctly link this app, 'b.cpp', created by a 'make' rule, should +# be compiled. + +t.write("jamroot.jam", "import gcc ;") + +t.write("jamfile.jam", r''' +import os ; +if [ os.name ] = NT +{ + actions create + { + echo int main() {} > $(<) + } +} +else +{ + actions create + { + echo "int main() {}" > $(<) + } +} + +IMPORT $(__name__) : create : : create ; + +exe a : l dummy.cpp ; + +# Needs to be a static lib for Windows - main() cannot appear in DLL. +static-lib l : a.cpp b.cpp ; + +make b.cpp : : create ; +''') + +t.write("a.cpp", "") + +t.write("dummy.cpp", "// msvc needs at least one object file\n") + +t.run_build_system() + +t.expect_addition("bin/$toolset/debug*/a.exe") + +t.cleanup() -- cgit v1.2.3