diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/boost/tools/build/test/chain.py | |
parent | Initial commit. (diff) | |
download | ceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip |
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/tools/build/test/chain.py')
-rw-r--r-- | src/boost/tools/build/test/chain.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/boost/tools/build/test/chain.py b/src/boost/tools/build/test/chain.py new file mode 100644 index 000000000..ede2bbcb3 --- /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.txt or https://www.bfgroup.xyz/b2/LICENSE.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() |