1#~ Copyright Rene Rivera 2008 2#~ Distributed under the Boost Software License, Version 1.0. 3#~ (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 5import testing ; 6import cast ; 7 8project preprocessor_tests : requirements <warnings>on 9 <toolset>gcc-4.3.0:<warnings>all 10 <toolset>gcc-4.3.0:<cxxflags>-Wno-variadic-macros 11 <toolset>gcc-4.4.0:<warnings>all 12 <toolset>gcc-4.4.0:<cxxflags>-Wno-variadic-macros 13 <toolset>gcc-4.5.0:<warnings>all 14 <toolset>gcc-4.5.0:<cxxflags>-Wno-variadic-macros 15 <toolset>gcc-4.5.0:<linkflags>"-Wl,--enable-auto-import" 16 <toolset>gcc-4.5.2:<warnings>all 17 <toolset>gcc-4.5.2:<cxxflags>-Wno-variadic-macros 18 <toolset>msvc:<warnings>all 19 ; 20 21alias preprocessor : : 22 <toolset>gcc 23 <toolset-gcc:version>3.4 24 ; 25 26alias preprocessor : : 27 <toolset>gcc 28 <toolset-gcc:version>4.1 29 ; 30 31alias preprocessor : : 32 <toolset>gcc 33 <toolset-gcc:version>4.2 34 ; 35 36alias preprocessor 37 : 38 [ compile arithmetic.cpp ] 39 [ compile array.cpp ] 40 [ compile comparison.cpp ] 41 [ compile control.cpp ] 42 [ compile debug.cpp ] 43 [ compile facilities.cpp ] 44 [ compile iteration.cpp ] 45 [ compile list.cpp ] 46 [ compile logical.cpp ] 47 [ compile punctuation.cpp ] 48 [ compile repetition.cpp ] 49 [ compile selection.cpp ] 50 [ compile seq.cpp ] 51 [ compile slot.cpp ] 52 [ compile stringize.cpp ] 53 [ compile tuple.cpp ] 54 [ compile variadic.cpp ] 55 ; 56 57alias preprocessor_nvm 58 : 59 [ compile arithmetic.cpp : <define>BOOST_PP_VARIADICS=0 : arithmetic_nvm ] 60 [ compile array.cpp : <define>BOOST_PP_VARIADICS=0 : array_nvm ] 61 [ compile comparison.cpp : <define>BOOST_PP_VARIADICS=0 : comparison_nvm ] 62 [ compile control.cpp : <define>BOOST_PP_VARIADICS=0 : control_nvm ] 63 [ compile debug.cpp : <define>BOOST_PP_VARIADICS=0 : debug_nvm ] 64 [ compile facilities.cpp : <define>BOOST_PP_VARIADICS=0 : facilities_nvm ] 65 [ compile iteration.cpp : <define>BOOST_PP_VARIADICS=0 : iteration_nvm ] 66 [ compile list.cpp : <define>BOOST_PP_VARIADICS=0 : list_nvm ] 67 [ compile logical.cpp : <define>BOOST_PP_VARIADICS=0 : logical_nvm ] 68 [ compile repetition.cpp : <define>BOOST_PP_VARIADICS=0 : repetition_nvm ] 69 [ compile selection.cpp : <define>BOOST_PP_VARIADICS=0 : selection_nvm ] 70 [ compile seq.cpp : <define>BOOST_PP_VARIADICS=0 : seq_nvm ] 71 [ compile slot.cpp : <define>BOOST_PP_VARIADICS=0 : slot_nvm ] 72 [ compile stringize.cpp : <define>BOOST_PP_VARIADICS=0 : stringize_nvm ] 73 [ compile tuple.cpp : <define>BOOST_PP_VARIADICS=0 : tuple_nvm ] 74 ; 75 76alias preprocessor_c 77 : 78 [ compile arithmetic.c 79 : 80 : arithmetic_c 81 ] 82 [ compile array.c 83 : 84 : array_c 85 ] 86 [ compile comparison.c 87 : 88 : comparison_c 89 ] 90 [ compile control.c 91 : 92 : control_c 93 ] 94 [ compile debug.c 95 : 96 : debug_c 97 ] 98 [ compile facilities.c 99 : 100 : facilities_c 101 ] 102 [ compile list.c 103 : 104 : list_c 105 ] 106 [ compile logical.c 107 : 108 : logical_c 109 ] 110 [ compile punctuation.c 111 : 112 : punctuation_c 113 ] 114 [ compile selection.c 115 : 116 : selection_c 117 ] 118 [ compile seq.c 119 : 120 : seq_c 121 ] 122 [ compile slot.c 123 : 124 : slot_c 125 ] 126 [ compile stringize.c 127 : 128 : stringize_c 129 ] 130 [ compile tuple.c 131 : 132 : tuple_c 133 ] 134 [ compile variadic.c 135 : 136 : variadic_c 137 ] 138 ; 139 140alias preprocessor_c_nvm 141 : 142 [ compile arithmetic.c 143 : <define>BOOST_PP_VARIADICS=0 144 : arithmetic_c_nvm 145 ] 146 [ compile array.c 147 : <define>BOOST_PP_VARIADICS=0 148 : array_c_nvm 149 ] 150 [ compile comparison.c 151 : <define>BOOST_PP_VARIADICS=0 152 : comparison_c_nvm 153 ] 154 [ compile control.c 155 : <define>BOOST_PP_VARIADICS=0 156 : control_c_nvm 157 ] 158 [ compile debug.c 159 : <define>BOOST_PP_VARIADICS=0 160 : debug_c_nvm 161 ] 162 [ compile facilities.c 163 : <define>BOOST_PP_VARIADICS=0 164 : facilities_c_nvm 165 ] 166 [ compile list.c 167 : <define>BOOST_PP_VARIADICS=0 168 : list_c_nvm 169 ] 170 [ compile logical.c 171 : <define>BOOST_PP_VARIADICS=0 172 : logical_c_nvm 173 ] 174 [ compile selection.c 175 : <define>BOOST_PP_VARIADICS=0 176 : selection_c_nvm 177 ] 178 [ compile seq.c 179 : <define>BOOST_PP_VARIADICS=0 180 : seq_c_nvm 181 ] 182 [ compile slot.c 183 : <define>BOOST_PP_VARIADICS=0 184 : slot_c_nvm 185 ] 186 [ compile stringize.c 187 : <define>BOOST_PP_VARIADICS=0 188 : stringize_c_nvm 189 ] 190 [ compile tuple.c 191 : <define>BOOST_PP_VARIADICS=0 192 : tuple_c_nvm 193 ] 194 ; 195 196alias preprocessor_isempty : : 197 <toolset>gcc 198 <toolset-gcc:version>3.4 199 ; 200 201alias preprocessor_isempty : : 202 <toolset>gcc 203 <toolset-gcc:version>4.1 204 ; 205 206alias preprocessor_isempty : : 207 <toolset>gcc 208 <toolset-gcc:version>4.2 209 ; 210 211alias preprocessor_isempty 212 : 213 [ compile isempty.cpp ] 214 [ compile checkempty.cpp ] 215 [ compile-fail isempty_variadic_standard_failure.cpp : <define>BOOST_PP_VARIADICS=1 ] 216 [ compile-fail isempty_variadic_standard_failure2.cpp : <define>BOOST_PP_VARIADICS=1 ] 217 [ compile vaopt.cpp ] 218 ; 219 220alias preprocessor_isempty_nvm 221 : 222 [ compile isempty.cpp : <define>BOOST_PP_VARIADICS=0 : isempty_nvm ] 223 ; 224 225alias preprocessor_isempty_c 226 : 227 [ compile isempty.c 228 : 229 : isempty_c 230 ] 231 [ compile-fail isempty_variadic_standard_failure.c 232 : <define>BOOST_PP_VARIADICS=1 233 : isempty_variadic_standard_failure_c 234 ] 235 [ compile-fail isempty_variadic_standard_failure2.c 236 : <define>BOOST_PP_VARIADICS=1 237 : isempty_variadic_standard_failure2_c 238 ] 239 ; 240 241alias preprocessor_isempty_c_nvm 242 : 243 [ compile isempty.c 244 : <define>BOOST_PP_VARIADICS=0 245 : isempty_c_nvm 246 ] 247 ; 248 249alias preprocessor_config 250 : 251 [ run config_info.cpp ] 252 ; 253 254alias test_clang_cuda 255 : 256 [ compile [ cast _ cpp : clang_cuda.cu ] 257 : <cxxflags>-nocudalib 258 <cxxflags>-nocudainc 259 <cxxflags>"-x cuda" 260 : clang_cuda_cu 261 ] 262 ; 263 264explicit test_clang_cuda ; 265