build.jam 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # Copyright Rene Rivera 2011-2019
  2. # Distributed under the Boost Software License, Version 1.0.
  3. # (See accompanying file LICENSE_1_0.txt or copy at
  4. # http://www.boost.org/LICENSE_1_0.txt)
  5. import ../tools/check/predef : require check : predef-require predef-check ;
  6. import path ;
  7. # This deals with the unfortunate aspect of a Boost monolithic release
  8. # not having the modular include dirs. This is a kludge that just removes
  9. # the direct depdndency to the header if it can't find it.
  10. local PREDEF_H = $(BOOST_PREDEF_INCLUDE)/boost/predef.h ;
  11. if ! [ path.exists $(PREDEF_H) ]
  12. {
  13. PREDEF_H = ;
  14. }
  15. project
  16. : requirements
  17. <include>$(BOOST_PREDEF_INCLUDE)
  18. # Add explicit dependency since we don't have header scanner for
  19. # .m and .mm files.
  20. <dependency>$(PREDEF_H)
  21. ;
  22. using testing ;
  23. test-suite predef :
  24. [ run info_as_cpp.cpp : : : <test-info>always_show_run_output ]
  25. [ run info_as_c.c : : : <test-info>always_show_run_output ]
  26. [ run info_as_objcpp.mm : : : <test-info>always_show_run_output ]
  27. [ run info_as_objc.m : : : <test-info>always_show_run_output ]
  28. [ run version.cpp ]
  29. [ run make.cpp ]
  30. [ compile macos_endian.c : [ predef-require "BOOST_OS_MACOS" : cpp ] ]
  31. [ compile macos_vs_bsd.c : [ predef-require "BOOST_OS_MACOS" : cpp ] ]
  32. [ run check_value.cpp : : : <test-info>always_show_run_output
  33. [ predef-check "BOOST_COMP_CLANG > 0.0.0" "BOOST_OS_LINUX == 0" : : <cxxflags>-DCHECK_VALUE=true ] ]
  34. [ run workaround.cpp ]
  35. [ compile workaround_strict_config.cpp ]
  36. [ run tested_at.cpp ]
  37. [ compile-fail tested_at_outdated.cpp : <test-info>always_show_run_output ]
  38. [ compile platform_windows.cpp ]
  39. ;
  40. # Minimal testing done for predef for CI. Since
  41. # we don't have many we can just do all of them.
  42. alias minimal : predef ;
  43. # Full testing target for regular regression tests.
  44. alias full : predef ;
  45. # Extra's target. Nothing for Predef.
  46. alias extra ;
  47. explicit minimal ;
  48. explicit extra ;