#!/usr/bin/python # Copyright (C) Vladimir Prus 2006. # Distributed under the Boost Software License, Version 1.0. (See # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) from BoostBuild import Tester, List import string t = Tester() t.write("Jamroot", """ exe a1 : a1.cpp : @a1-rule ; rule a1-rule ( properties * ) { if debug in $(properties) { return OK ; } } exe a2 : a2.cpp : @$(__name__).a2-rule debug:speed ; rule a2-rule ( properties * ) { if speed in $(properties) { return OK ; } } exe a3 : a3.cpp : @$(__name__).a3-rule-1 @$(__name__).a3-rule-2 ; rule a3-rule-1 ( properties * ) { if speed in $(properties) { return OK ; } } rule a3-rule-2 ( properties * ) { if debug in $(properties) { return speed ; } } """) t.write("a1.cpp", """ #ifdef OK int main() {} #endif """) t.write("a2.cpp", """ #ifdef OK int main() {} #endif """) t.write("a3.cpp", """ #ifdef OK int main() {} #endif """) t.run_build_system() t.expect_addition("bin/$toolset/debug/a1.exe") t.expect_addition("bin/$toolset/debug/optimization-speed/a2.exe") t.expect_addition("bin/$toolset/debug/optimization-speed/a3.exe") t.cleanup()