1# Boost Endian Library test Jamfile
2
3# Copyright Beman Dawes 2006, 2013
4# Copyright 2018, 2019 Peter Dimov
5
6# Distributed under the Boost Software License, Version 1.0.
7# See http://www.boost.org/LICENSE_1_0.txt
8
9# See library home page at http://www.boost.org/libs/endian
10
11import testing ;
12
13project
14  : default-build
15
16    <warnings>all
17
18  : requirements
19
20    <toolset>msvc:<warnings-as-errors>on
21
22    <toolset>gcc:<cxxflags>-Wno-long-long
23    <toolset>gcc-4.4.7:<cxxflags>-Wno-strict-aliasing
24    <toolset>gcc-4.4.7:<cxxflags>-Wno-sign-compare
25    <toolset>gcc:<warnings-as-errors>on
26
27    <toolset>clang:<cxxflags>-Wno-long-long
28    <toolset>clang:<warnings-as-errors>on
29  ;
30
31local rule run-ni ( sources + )
32{
33    return [ run $(sources) : : : <define>BOOST_ENDIAN_NO_INTRINSICS : $(sources[1]:B)_ni ] ;
34}
35
36run buffer_test.cpp ;
37run-ni buffer_test.cpp ;
38
39run endian_test.cpp ;
40run-ni endian_test.cpp ;
41
42run endian_operations_test.cpp ;
43run-ni endian_operations_test.cpp ;
44
45run endian_in_union_test.cpp ;
46
47run conversion_test.cpp ;
48run-ni conversion_test.cpp ;
49
50run intrinsic_test.cpp ;
51
52run quick.cpp ;
53
54local allow-warnings =
55    "-<toolset>msvc:<warnings-as-errors>on"
56    "-<toolset>gcc:<warnings-as-errors>on"
57    "-<toolset>clang:<warnings-as-errors>on" ;
58
59compile spirit_conflict_test.cpp : $(allow-warnings) ;
60
61run endian_reverse_test.cpp ;
62run-ni endian_reverse_test.cpp ;
63
64run endian_load_test.cpp ;
65run-ni endian_load_test.cpp ;
66
67run endian_store_test.cpp ;
68run-ni endian_store_test.cpp ;
69
70run endian_ld_st_roundtrip_test.cpp ;
71run-ni endian_ld_st_roundtrip_test.cpp ;
72
73run endian_arithmetic_test.cpp ;
74run-ni endian_arithmetic_test.cpp ;
75
76run deprecated_test.cpp ;
77
78compile endian_reverse_cx_test.cpp ;
79compile endian_reverse_cx_test.cpp : <define>BOOST_ENDIAN_NO_INTRINSICS : endian_reverse_cx_test_ni ;
80
81run load_convenience_test.cpp ;
82run-ni load_convenience_test.cpp ;
83
84run store_convenience_test.cpp ;
85run-ni store_convenience_test.cpp ;
86
87run float_typedef_test.cpp ;
88run-ni float_typedef_test.cpp ;
89
90run data_test.cpp ;
91run-ni data_test.cpp ;
92
93run endian_hpp_test.cpp ;
94run-ni endian_hpp_test.cpp ;
95
96run order_test.cpp ;
97
98run endian_reverse_test2.cpp ;
99run-ni endian_reverse_test2.cpp ;
100
101run is_scoped_enum_test.cpp ;
102
103run endian_reverse_test3.cpp ;
104run-ni endian_reverse_test3.cpp ;
105
106run endian_reverse_test4.cpp ;
107run-ni endian_reverse_test4.cpp ;
108
109run endian_reverse_test5.cpp ;
110run-ni endian_reverse_test5.cpp ;
111
112run packed_buffer_test.cpp ;
113run arithmetic_buffer_test.cpp ;
114run packed_arithmetic_test.cpp ;
115