#!/usr/bin/python # Copyright 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) import BoostBuild import string t = BoostBuild.Tester(pass_toolset=0) t.write("a.cpp", """ """) t.write("yfc1.jam", """ import feature ; import generators ; feature.extend toolset : yfc1 ; rule init ( ) { } generators.register-standard yfc1.compile : CPP : OBJ : yfc1 ; generators.register-standard yfc1.link : OBJ : EXE : yfc1 ; actions compile { yfc1-compile } actions link { yfc1-link } """) t.write("yfc2.jam", """ import feature ; import toolset ; feature.extend toolset : yfc2 ; toolset.inherit yfc2 : yfc1 ; rule init ( ) { } actions link { yfc2-link } """) t.write("jamfile.jam", """ exe a : a.cpp ; """) t.write("jamroot.jam", """ using yfc1 ; """) t.run_build_system("-n -d2 yfc1") t.fail_test(string.find(t.stdout(), "yfc1-link") == -1) # Make sure we do not have to explicitly 'use' yfc1. t.write("jamroot.jam", """ using yfc2 ; """) t.run_build_system("-n -d2 yfc2") t.fail_test(string.find(t.stdout(), "yfc2-link") == -1) t.cleanup()