]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # |
2 | # Copyright John Maddock 2008. | |
3 | # Use, modification and distribution are subject to the | |
4 | # Boost Software License, Version 1.0. (See accompanying file | |
5 | # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | |
6 | # | |
7 | # If you need to alter build preferences then set them in | |
8 | # the template defined in options_v2.jam. | |
9 | # | |
10 | ||
92f5a8d4 | 11 | import feature ; |
b32b8144 FG |
12 | import testing ; |
13 | ||
7c673cae FG |
14 | project |
15 | : requirements | |
16 | <toolset>gcc:<cxxflags>-Wno-deprecated-declarations | |
17 | ; | |
18 | ||
19 | ||
20 | import modules ; | |
21 | import ../checks/config : requires ; | |
22 | ||
23 | local is_unix = [ modules.peek : UNIX ] ; | |
24 | ||
25 | lib atomic ; | |
26 | lib pthread ; | |
27 | lib rt ; | |
28 | ||
29 | exe has_atomic_lib : config_info.cpp atomic ; | |
30 | explicit has_atomic_lib ; | |
31 | exe has_pthread_lib : config_info.cpp pthread ; | |
32 | explicit has_pthread_lib ; | |
33 | exe has_rt_lib : config_info.cpp rt ; | |
34 | explicit has_rt_lib ; | |
1e59de90 TL |
35 | obj check_memory : check_memory.cpp ; |
36 | explicit check_memory ; | |
7c673cae FG |
37 | |
38 | test-suite config | |
39 | : | |
40 | [ compile config_test_c.c ] | |
41 | [ run config_test.cpp | |
42 | : #args | |
43 | : #input-files | |
44 | : #requirements | |
45 | <threading>multi | |
46 | [ check-target-builds has_atomic_lib : <source>atomic ] | |
47 | [ check-target-builds has_pthread_lib : <source>pthread ] | |
48 | [ check-target-builds has_rt_lib : <source>rt ] | |
49 | : config_test_threaded | |
50 | ] | |
51 | [ run config_test.cpp | |
52 | : #args | |
53 | : #input-files | |
54 | : #requirements | |
55 | <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static | |
56 | [ check-target-builds has_atomic_lib : <source>atomic ] | |
57 | [ check-target-builds has_pthread_lib : <source>pthread ] | |
58 | [ check-target-builds has_rt_lib : <source>rt ] | |
59 | ] | |
60 | [ run config_test.cpp | |
61 | : #args | |
62 | : #input-files | |
63 | : #requirements | |
64 | <rtti>off | |
11fdf7f2 | 65 | <toolset>gcc-4.4.7,<cxxstd>0x:<build>no # <memory> does not compile with -fno-rtti |
20effc67 | 66 | <toolset>embarcadero:<build>no # <memory> does not compile with -fno-rtti |
7c673cae FG |
67 | [ check-target-builds has_atomic_lib : <source>atomic ] |
68 | [ check-target-builds has_pthread_lib : <source>pthread ] | |
69 | [ check-target-builds has_rt_lib : <source>rt ] | |
1e59de90 | 70 | [ check-target-builds check_memory : : <build>no ] |
7c673cae FG |
71 | : config_test_no_rtti |
72 | ] | |
73 | [ run config_test.cpp | |
74 | : #args | |
75 | : #input-files | |
76 | : #requirements | |
77 | <exception-handling>off | |
11fdf7f2 | 78 | <target-os>vxworks:<build>no # vx requires complete library rebuild to turn off exceptions |
7c673cae FG |
79 | [ check-target-builds has_atomic_lib : <source>atomic ] |
80 | [ check-target-builds has_pthread_lib : <source>pthread ] | |
81 | [ check-target-builds has_rt_lib : <source>rt ] | |
82 | : config_test_no_except | |
83 | ] | |
92f5a8d4 TL |
84 | [ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on ] |
85 | [ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_threaded ] | |
86 | [ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_no_rtti ] | |
11fdf7f2 TL |
87 | [ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off |
88 | <target-os>vxworks:<build>no | |
89 | : config_info_no_except ] | |
7c673cae FG |
90 | [ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ] |
91 | [ run abi/abi_test.cpp abi/main.cpp ] | |
92 | [ run limits_test.cpp ] | |
93 | [ run link/main.cpp link//link_test | |
94 | : #args | |
95 | : #input-files | |
96 | : #requirements | |
97 | <runtime-link>shared | |
20effc67 | 98 | <threading>single |
7c673cae FG |
99 | <define>BOOST_DYN_LINK=1 |
100 | <define>BOOST_CONFIG_NO_LIB=1 | |
11fdf7f2 | 101 | <target-os>vxworks:<link>shared |
7c673cae FG |
102 | : |
103 | config_link_test | |
104 | ] | |
105 | [ compile-fail threads/test_thread_fail1.cpp ] | |
106 | [ compile-fail threads/test_thread_fail2.cpp ] | |
107 | [ compile boost_fallthrough_test.cpp : [ check-target-builds has_clang_implicit_fallthrough "Clang implicit fallthrough" : <toolset>clang:<cxxflags>"-std=c++11 -Wimplicit-fallthrough" <warnings-as-errors>on <warnings>all ] ] | |
108 | [ compile helper_macro_test.cpp ] | |
109 | [ run cstdint_test.cpp : : : <warnings>all <toolset>gcc:<cxxflags>"-Wno-long-long -Wextra" <toolset>darwin:<cxxflags>-Wno-long-long ] | |
110 | [ run cstdint_test2.cpp : : : <warnings>all <toolset>gcc:<cxxflags>"-Wno-long-long -Wextra" <toolset>darwin:<cxxflags>-Wno-long-long ] | |
111 | [ compile cstdint_include_test.cpp : <warnings>all <toolset>gcc:<cxxflags>-Wextra ] | |
92f5a8d4 | 112 | [ run config_build_check.cpp : : : [ requires int128 cxx11_constexpr cxx11_user_defined_literals cpp_lib_complex_udls cpp_range_based_for_17 ] ] |
11fdf7f2 TL |
113 | [ run helper_macros_test.cpp ] |
114 | [ compile pragma_message_test.cpp ] | |
115 | [ compile header_deprecated_test.cpp ] | |
20effc67 | 116 | [ compile boost_override_test.cpp ] |
7c673cae FG |
117 | ; |
118 | ||
119 | obj has_clang_implicit_fallthrough : cmd_line_check.cpp : | |
120 | <toolset>clang:<cxxflags>"-std=c++11 -Wimplicit-fallthrough" <warnings-as-errors>on <warnings>all ; | |
121 | ||
122 | explicit has_clang_implicit_fallthrough ; | |
123 | ||
92f5a8d4 TL |
124 | exe config_info_printer : config_info.cpp ; |
125 | explicit config_info_printer ; | |
1e59de90 TL |
126 | exe math_info_printer : math_info.cpp ; |
127 | explicit math_info_printer ; | |
92f5a8d4 TL |
128 | |
129 | actions print-run | |
130 | { | |
131 | echo With Standard Version $(STANDARD:E=default) | |
132 | echo ===================================================================== | |
133 | $(>) | |
134 | } | |
135 | ||
136 | rule print-run ( target : sources * : properties * ) | |
137 | { | |
138 | STANDARD on $(target) = [ feature.get-values <cxxstd> : $(properties) ] ; | |
139 | } | |
140 | ||
141 | notfile print_config_info : @print-run : config_info_printer ; | |
142 | explicit print_config_info ; | |
1e59de90 TL |
143 | notfile print_math_info : @print-run : math_info_printer ; |
144 | explicit print_math_info ; | |
92f5a8d4 TL |
145 | |
146 | # Backwards compatibility: | |
b32b8144 FG |
147 | exe config_info_travis : config_info.cpp ; |
148 | install config_info_travis_install : config_info_travis : <location>. ; | |
149 | explicit config_info_travis_install ; | |
92f5a8d4 | 150 |