3 # Copyright (C) Vladimir Prus 2006.
4 # Distributed under the Boost Software License, Version 1.0. (See
5 # accompanying file LICENSE_1_0.txt or copy at
6 # http://www.boost.org/LICENSE_1_0.txt)
10 t = BoostBuild.Tester(use_test_config=False)
13 t.write("jamroot.jam", """
14 project : requirements <threading>multi <variant>debug:<link>static ;
22 t.write("sub/jamfile.jam", """
23 exe hello : hello.cpp : -<threading>multi ;
26 t.write("sub/hello.cpp", """
30 t.write("sub2/jamfile.jam", """
31 project : requirements -<threading>multi ;
32 exe hello : hello.cpp ;
35 t.write("sub2/hello.cpp", """
39 t.write("sub3/hello.cpp", """
43 t.write("sub3/jamfile.jam", """
44 exe hello : hello.cpp : -<variant>debug:<link>static ;
47 t.write("sub4/hello.cpp", """
51 t.write("sub4/jamfile.jam", """
52 project : requirements -<variant>debug:<link>static ;
53 exe hello : hello.cpp ;
58 t.expect_addition("sub/bin/$toolset/debug/link-static/hello.exe")
59 t.expect_addition("sub2/bin/$toolset/debug/link-static/hello.exe")
60 t.expect_addition("sub3/bin/$toolset/debug/threading-multi/hello.exe")
61 t.expect_addition("sub4/bin/$toolset/debug/threading-multi/hello.exe")
65 # Now test that path requirements can be removed as well.
66 t.write("jamroot.jam", """
70 t.write("sub/jamfile.jam", """
71 project : requirements <include>broken ;
72 exe hello : hello.cpp : -<include>broken ;
75 t.write("sub/hello.cpp", """
80 t.write("sub/broken/math.h", """
87 t.expect_addition("sub/bin/$toolset/debug/hello.exe")