]>
Commit | Line | Data |
---|---|---|
1 | #!/usr/bin/env b2 -a --verbose-test | |
2 | # Copyright Rene Rivera 2011-2016 | |
3 | # Distributed under the Boost Software License, Version 1.0. | |
4 | # (See accompanying file LICENSE_1_0.txt or copy at | |
5 | # http://www.boost.org/LICENSE_1_0.txt) | |
6 | ||
7 | import ../check/predef : require check : predef-require predef-check ; | |
8 | ||
9 | local predef-include-root ; | |
10 | local predef-dependency ; | |
11 | ||
12 | local modular-predef-h = [ glob $(BOOST_PREDEF_ROOT)/include/boost/predef.h ] ; | |
13 | local BOOST_RELEASE_LAYOUT ; | |
14 | if ! $(modular-predef-h) | |
15 | { | |
16 | BOOST_RELEASE_LAYOUT = yes ; | |
17 | } | |
18 | ||
19 | # When using modular layout, header files are not present in $root/boost | |
20 | # unlink links are created, therefore instead of direct dependency on | |
21 | # a header, we need to use dependency on metatarget. | |
22 | if $(BOOST_RELEASE_LAYOUT) | |
23 | { | |
24 | predef-dependency = $(predef-include-root)/boost/predef.h ; | |
25 | } | |
26 | else if $(BOOST_PREDEF_ROOT) | |
27 | { | |
28 | predef-include-root = $(BOOST_PREDEF_ROOT)/include ; | |
29 | predef-dependency = $(predef-include-root)/boost/predef.h ; | |
30 | } | |
31 | else if $(BOOST_MODULARLAYOUT) | |
32 | { | |
33 | predef-include-root = $(BOOST_ROOT) ; | |
34 | predef-dependency = /boost//predef-headers ; | |
35 | } | |
36 | else | |
37 | { | |
38 | predef-dependency = $(predef-include-root)/boost/predef.h ; | |
39 | } | |
40 | ||
41 | project predef-test | |
42 | : requirements | |
43 | <include>$(predef-include-root) | |
44 | # Add explicit dependency since we don't have header scanner for | |
45 | # .m and .mm files. | |
46 | <dependency>$(predef-dependency) | |
47 | ; | |
48 | ||
49 | using testing ; | |
50 | ||
51 | test-suite predef : | |
52 | [ run info_as_cpp.cpp : : : <test-info>always_show_run_output ] | |
53 | [ run info_as_c.c : : : <test-info>always_show_run_output ] | |
54 | [ run info_as_objcpp.mm : : : <test-info>always_show_run_output ] | |
55 | [ run info_as_objc.m : : : <test-info>always_show_run_output ] | |
56 | [ run version.cpp ] | |
57 | [ run make.cpp ] | |
58 | [ compile macos_endian.c : [ predef-require "BOOST_OS_MACOS" : cpp ] ] | |
59 | [ compile macos_vs_bsd.c : [ predef-require "BOOST_OS_MACOS" : cpp ] ] | |
60 | [ run check_value.cpp : : : <test-info>always_show_run_output | |
61 | [ predef-check "BOOST_COMP_CLANG > 0.0.0" "BOOST_OS_LINUX == 0" : : <cxxflags>-DCHECK_VALUE=true ] ] | |
62 | [ run workaround.cpp ] | |
63 | [ compile workaround_strict_config.cpp ] | |
64 | [ run tested_at.cpp ] | |
65 | [ compile-fail tested_at_outdated.cpp : <test-info>always_show_run_output ] | |
66 | [ compile platform_windows.cpp ] | |
67 | ; | |
68 | ||
69 | # Minimal testing done for predef for CI. Since | |
70 | # we don't have many we can just do all of them. | |
71 | alias minimal : predef ; | |
72 | ||
73 | # Full testing target for regular regression tests. | |
74 | alias full : predef ; | |
75 | ||
76 | # Extra's target. Nothing for Predef. | |
77 | alias extra ; | |
78 | ||
79 | explicit minimal ; | |
80 | explicit extra ; |