1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208
|
# Copyright 2017-2024 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
import testing ;
local werror =
<toolset>msvc:<warnings-as-errors>on
<toolset>gcc:<warnings-as-errors>on
<toolset>clang:<warnings-as-errors>on
;
project
: default-build
<warnings>extra
: requirements
$(werror)
<library>/boost/hash2//boost_hash2
;
# type traits
run is_range.cpp ;
run is_contiguous_range.cpp ;
run is_unordered_range.cpp ;
run is_tuple_like.cpp ;
run endian.cpp ;
run flavor.cpp ;
run is_contiguously_hashable.cpp ;
run is_trivially_equality_comparable.cpp ;
run is_endian_independent.cpp ;
run has_constant_size.cpp ;
# get_integral_result
run get_integral_result.cpp ;
run get_integral_result_2.cpp ;
run get_integral_result_3.cpp ;
run get_integral_result_4.cpp ;
run get_integral_result_5.cpp ;
run get_integral_result_6.cpp ;
# digest
run digest.cpp ;
# detail
run detail_read.cpp ;
run detail_write.cpp ;
run detail_write_2.cpp ;
run detail_rot.cpp ;
run detail_has_tag_invoke.cpp ;
run detail_byteswap.cpp ;
run detail_byteswap_cx.cpp ;
run detail_mul128.cpp ;
run detail_mul128_cx.cpp ;
# hash_append
run append_integer.cpp ;
run append_bool.cpp ;
run append_byte_sized.cpp ;
run append_character.cpp ;
run append_floating_point.cpp ;
run append_pointer.cpp ;
run append_array.cpp ;
run append_container.cpp ;
run append_string.cpp ;
run append_string_view.cpp ;
run append_tuple_like.cpp ;
run append_tuple_like_2.cpp ;
run append_set.cpp ;
run append_map.cpp ;
run append_described.cpp ;
run append_described_2.cpp ;
run append_described_3.cpp ;
run append_described_4.cpp ;
run append_described_5.cpp ;
run append_tag_invoke.cpp ;
run append_tag_invoke_2.cpp ;
run append_tag_invoke_3.cpp ;
run hash_append_5.cpp ;
run hash_append_range.cpp ;
run hash_append_range_2.cpp ;
run append_zero_sized.cpp ;
run append_digest.cpp ;
compile-fail append_tag_invoke_4.cpp
: -$(werror) ;
run hash_append_provider.cpp ;
# hash_append, constexpr
compile append_byte_sized_cx.cpp ;
run append_integer_cx.cpp ;
run append_character_cx.cpp ;
run append_floating_point_cx.cpp ;
run append_vector_cx.cpp ;
run append_string_cx.cpp ;
run append_array_cx.cpp ;
run append_array_cx_2.cpp ;
run append_array_cx_3.cpp ;
run append_string_view_cx.cpp ;
run append_tuple_like_cx.cpp ;
# non-cryptographic
run fnv1a.cpp ;
run fnv1a_cx.cpp ;
run fnv1a_cx_2.cpp ;
run xxhash.cpp ;
run xxhash_2.cpp ;
run xxhash_cx.cpp ;
run xxhash_cx_2.cpp ;
run xxh3.cpp ;
run xxh3_cx.cpp ;
run siphash32.cpp ;
run siphash64.cpp ;
run siphash_cx.cpp ;
run siphash_cx_2.cpp ;
# cryptographic
run md5.cpp ;
run hmac_md5.cpp ;
run md5_cx.cpp ;
run md5_cx_2.cpp ;
run hmac_md5_cx.cpp ;
run hmac_md5_cx_2.cpp ;
run sha1.cpp ;
run hmac_sha1.cpp ;
run sha1_cx.cpp ;
run sha1_cx_2.cpp ;
run sha2.cpp ;
run hmac_sha2.cpp ;
run sha2_cx.cpp ;
run sha2_cx_2.cpp ;
run detail_keccak.cpp ;
run sha3.cpp ;
run shake.cpp ;
run hmac_sha3.cpp ;
run sha3_224_cx.cpp ;
run sha3_256_cx.cpp ;
run sha3_384_cx.cpp ;
run sha3_512_cx.cpp ;
run shake_128_cx.cpp ;
run shake_256_cx.cpp ;
run sha3_cx_2.cpp ;
run ripemd.cpp ;
run hmac_ripemd.cpp ;
run ripemd_cx.cpp ;
run ripemd_cx_2.cpp ;
run blake2.cpp ;
run blake2_cx.cpp ;
run hmac_blake2.cpp ;
# legacy
run legacy/spooky2.cpp ;
run legacy/murmur3_32.cpp ;
run legacy/murmur3_128.cpp ;
# general requirements
run concept.cpp ;
run plaintext_leak.cpp ;
run multiple_result.cpp ;
run integral_result.cpp ;
run quality.cpp ;
# benchmarks
link ../benchmark/buffer.cpp ;
link ../benchmark/unordered.cpp ;
link ../benchmark/average.cpp ;
link ../benchmark/keys.cpp ;
# examples
link ../example/md5sum.cpp ;
link ../example/hash2sum.cpp : <cxxstd>11:<build>no <toolset>msvc-14.0:<build>no ;
link ../example/compile_time.cpp : <cxxstd>11:<build>no <toolset>msvc-14.0:<build>no ;
link ../example/compile_time_2.cpp : <cxxstd>11:<build>no <toolset>msvc-14.0:<build>no <toolset>gcc-5:<build>no ;
link ../example/hash_without_seed.cpp ;
link ../example/hash_with_uint64_seed.cpp ;
link ../example/hash_with_byte_seed.cpp ;
link ../example/hash_with_any_seed.cpp ;
link ../example/hash_32_64.cpp ;
link ../example/xxh128_from_xxh64.cpp ;
link ../example/json_value.cpp : <library>/boost/json//boost_json <cxxstd>11:<build>no ;
|