You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.4 KiB

  1. --- a/tools/build/src/tools/stage.jam
  2. +++ b/tools/build/src/tools/stage.jam
  3. @@ -478,6 +478,10 @@ class install-target-class : basic-targe
  4. return [ sequence.unique $(result2) ] ;
  5. }
  6. + rule skip-from-usage-requirements ( )
  7. + {
  8. + }
  9. +
  10. # Returns true iff 'type' is subtype of some element of 'types-to-include'.
  11. #
  12. local rule include-type ( type : types-to-include * )
  13. --- /dev/null
  14. +++ b/tools/build/test/install_build_no.py
  15. @@ -0,0 +1,26 @@
  16. +#!/usr/bin/python
  17. +
  18. +# Copyright 2021 Dmitry Arkhipov (grisumbras@gmail.com)
  19. +# Distributed under the Boost Software License, Version 1.0.
  20. +# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
  21. +
  22. +# Check that <build>no in usage-requirements of dependencies does not affect
  23. +# install rule, i.e. a skipped installed target does not affect insallation of
  24. +# other targets.
  25. +
  26. +import BoostBuild
  27. +
  28. +t = BoostBuild.Tester()
  29. +
  30. +t.write("a.cpp", "int main() {}\n")
  31. +
  32. +t.write("jamroot.jam", """
  33. +make x : : maker : <build>no ;
  34. +exe a : a.cpp ;
  35. +install install : x a ;
  36. +""")
  37. +
  38. +t.run_build_system()
  39. +t.expect_addition("install/a.exe")
  40. +
  41. +t.cleanup()
  42. --- a/tools/build/test/test_all.py
  43. +++ b/tools/build/test/test_all.py
  44. @@ -250,6 +250,7 @@ tests = ["abs_workdir",
  45. "inherit_toolset",
  46. "inherited_dependency",
  47. "inline",
  48. + "install_build_no",
  49. "libjpeg",
  50. "liblzma",
  51. "libpng",