| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #!/usr/bin/python
- # Copyright 2003, 2004 Vladimir Prus
- # Distributed under the Boost Software License, Version 1.0.
- # (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
- import BoostBuild
- t = BoostBuild.Tester()
- # Regression test: when staging V2 used to change suffixes on targets
- # corresponding to real files.
- t.write("jamfile.jam", """
- import type : register ;
- register A : a1 a2 a3 ;
- stage a : a.a3 ;
- """)
- t.write("jamroot.jam", "")
- t.write("a.a3", "")
- t.run_build_system()
- t.expect_addition("a/a.a3");
- # Regression test: we should be able to specify empty suffix for derived target
- # type, even if base type has non-empty suffix.
- t.write("a.cpp", "")
- t.write("suffixes.jam", """
- import type ;
- import generators ;
- import common ;
- type.register First : first : ;
- type.register Second : "" : First ;
- generators.register-standard $(__name__).second : CPP : Second ;
- rule second
- {
- TOUCH on $(<) = [ common.file-creation-command ] ;
- }
- actions second
- {
- $(TOUCH) $(<)
- }
- """)
- t.write("suffixes.py", """
- import b2.build.type as type
- import b2.build.generators as generators
- import b2.tools.common as common
- from b2.manager import get_manager
- type.register("First", ["first"])
- type.register("Second", [""], "First")
- generators.register_standard("suffixes.second", ["CPP"], ["Second"])
- get_manager().engine().register_action("suffixes.second",
- "%s $(<)" % common.file_creation_command())
- """)
- t.write("jamroot.jam", """
- import suffixes ;
- """)
- t.write("jamfile.jam", """
- second a : a.cpp ;
- """)
- t.run_build_system()
- t.expect_addition("bin/a")
- t.cleanup()
|