diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 18:24:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 18:24:20 +0000 |
commit | 483eb2f56657e8e7f419ab1a4fab8dce9ade8609 (patch) | |
tree | e5d88d25d870d5dedacb6bbdbe2a966086a0a5cf /src/boost/tools/build/test/chain.py | |
parent | Initial commit. (diff) | |
download | ceph-483eb2f56657e8e7f419ab1a4fab8dce9ade8609.tar.xz ceph-483eb2f56657e8e7f419ab1a4fab8dce9ade8609.zip |
Adding upstream version 14.2.21.upstream/14.2.21upstream
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 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() |