# Boost.Core Library test Jamfile # # Copyright (c) 2014-2021 Peter Dimov # # Distributed under the Boost Software License, Version 1.0. # See accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt require-b2 5.0.1 ; import-search /boost/config/checks ; import config : requires ; import modules ; import testing ; project : requirements /boost/core//boost_core /boost/type_traits//boost_type_traits extra msvc:on clang:on gcc:on gcc-4.4:-Wno-sign-compare ; local warnings-as-errors-off = "-msvc:on" "-gcc:on" "-clang:on" ; local pedantic-errors = pedantic gcc:"-Wconversion" gcc:"-Wsign-conversion" clang:"-Wconversion" clang:"-Wsign-conversion" msvc:on gcc:on clang:on ; local CPP11 = [ requires cxx11_variadic_templates cxx11_template_aliases cxx11_decltype cxx11_constexpr cxx11_noexcept cxx11_ref_qualifiers ] ; # quick test (for CI) run quick.cpp ; # full test suite run addressof_test.cpp ; run addressof_test2.cpp ; run addressof_np_test.cpp ; run addressof_fn_test.cpp ; compile addressof_constexpr_test.cpp ; compile-fail addressof_fail_rvalue.cpp : $(warnings-as-errors-off) ; run checked_delete_test.cpp : : : $(pedantic-errors) ; compile-fail checked_delete_fail.cpp : $(warnings-as-errors-off) ; compile-fail checked_delete_fail2.cpp : $(warnings-as-errors-off) ; compile-fail checked_deleter_compile_fail_adl.cpp : $(warnings-as-errors-off) ; compile-fail checked_array_deleter_compile_fail_adl.cpp : $(warnings-as-errors-off) ; compile ref_ct_test.cpp ; run ref_test.cpp ; run ref_ref_test.cpp ; run ref_fn_test.cpp ; compile-fail ref_rv_fail1.cpp : $(warnings-as-errors-off) ; compile-fail ref_rv_fail2.cpp : $(warnings-as-errors-off) ; compile-fail ref_rv_fail3.cpp : $(warnings-as-errors-off) ; compile-fail ref_rv_fail4.cpp : $(warnings-as-errors-off) ; compile-fail ref_rv_fail5.cpp : $(warnings-as-errors-off) ; compile-fail ref_implicit_fail.cpp : $(warnings-as-errors-off) ; compile-fail ref_implicit_fail2.cpp : $(warnings-as-errors-off) ; compile-fail ref_implicit_fail3.cpp : $(warnings-as-errors-off) ; compile-fail ref_implicit_fail4.cpp : $(warnings-as-errors-off) ; run ref_cv_test.cpp ; run ref_conversion_test.cpp ; run eif_constructors.cpp ; run eif_dummy_arg_disambiguation.cpp ; run eif_lazy.cpp ; run eif_lazy_test.cpp ; run eif_member_templates.cpp ; run eif_namespace_disambiguation.cpp ; run eif_no_disambiguation.cpp ; run eif_partial_specializations.cpp ; compile-fail noncopyable_compile_fail.cpp : $(warnings-as-errors-off) ; run explicit_operator_bool.cpp ; run explicit_operator_bool_noexcept.cpp ; compile-fail explicit_operator_bool_compile_fail_conv_int.cpp : $(warnings-as-errors-off) ; compile-fail explicit_operator_bool_compile_fail_conv_pvoid.cpp : $(warnings-as-errors-off) ; compile-fail explicit_operator_bool_compile_fail_delete.cpp : $(warnings-as-errors-off) ; compile-fail explicit_operator_bool_compile_fail_shift.cpp : $(warnings-as-errors-off) ; compile ignore_unused_test.cpp ; run sp_typeinfo_test.cpp ; run sp_typeinfo_test.cpp : : : off : sp_typeinfo_test_no_rtti ; run visit_each_test.cpp ; run get_pointer_test.cpp ; run lightweight_test_test.cpp : : : $(pedantic-errors) ; run lightweight_test_test.cpp : : : off $(pedantic-errors) : lightweight_test_test_no_except ; run lightweight_test_test2.cpp : : : $(pedantic-errors) ; run lightweight_test_all_with_test.cpp : : : $(pedantic-errors) ; run lightweight_test_lt_le_test.cpp : : : $(pedantic-errors) ; run lightweight_test_gt_ge_test.cpp : : : $(pedantic-errors) ; run lightweight_test_eq_nullptr.cpp : : : $(pedantic-errors) ; run lightweight_test_test3.cpp : : : $(pedantic-errors) ; run lightweight_test_test4.cpp : : : $(pedantic-errors) ; run lightweight_test_test5.cpp : : : $(pedantic-errors) gcc-4.4.7:-Wno-sign-compare gcc-4.4:-Wno-sign-compare ; run lightweight_test_test6.cpp : : : $(pedantic-errors) ; run-fail lightweight_test_all_eq_test.cpp ; run-fail lightweight_test_all_with_fail.cpp ; run-fail lightweight_test_fail.cpp ; run-fail lightweight_test_fail2.cpp ; run-fail lightweight_test_fail3.cpp ; run-fail lightweight_test_fail4.cpp ; run-fail lightweight_test_fail5.cpp ; run-fail lightweight_test_fail6.cpp ; run-fail lightweight_test_fail7.cpp ; run-fail lightweight_test_fail7.cpp : : : off gcc-4.4:no : lightweight_test_fail7_no_rtti ; run-fail lightweight_test_fail8.cpp ; run-fail lightweight_test_fail8.cpp : : : off gcc-4.4:no : lightweight_test_fail8_no_rtti ; run-fail lightweight_test_fail9.cpp ; run-fail lightweight_test_fail10.cpp ; run-fail lightweight_test_fail11.cpp : ; run-fail lightweight_test_fail12.cpp ; run-fail lightweight_test_fail13.cpp ; run-fail lightweight_test_fail14.cpp ; run-fail lightweight_test_fail15.cpp ; run-fail lightweight_test_fail16.cpp : ; run-fail lightweight_test_lt_fail.cpp ; run-fail lightweight_test_le_fail.cpp ; run-fail lightweight_test_gt_fail.cpp ; run-fail lightweight_test_ge_fail.cpp ; run lightweight_test_bool.cpp : : : $(pedantic-errors) ; run lightweight_test_with_test.cpp : : : $(pedantic-errors) ; run-fail lightweight_test_with_fail.cpp ; run is_same_test.cpp ; run typeinfo_test.cpp ; run typeinfo_test.cpp : : : off : typeinfo_test_no_rtti ; run iterator_test.cpp ; run detail_iterator_test.cpp ; run demangle_test.cpp : : : always_show_run_output ; run demangled_name_test.cpp : : : always_show_run_output ; run demangled_name_test.cpp : : : off always_show_run_output : demangled_name_test_no_rtti ; run scoped_enum.cpp ; compile-fail scoped_enum_compile_fail_conv_from_int.cpp : $(warnings-as-errors-off) ; compile-fail scoped_enum_compile_fail_conv_to_int.cpp : $(warnings-as-errors-off) ; run underlying_type.cpp ; compile-fail null_deleter_compile_fail_adl.cpp : $(warnings-as-errors-off) ; run fclose_deleter_test.cpp : : : $(CPP11) /boost/move//boost_move /boost/smart_ptr//boost_smart_ptr windows:_CRT_SECURE_NO_WARNINGS windows:_CRT_SECURE_NO_DEPRECATE ; compile-fail fclose_deleter_compile_fail_adl.cpp : windows:_CRT_SECURE_NO_WARNINGS windows:_CRT_SECURE_NO_DEPRECATE $(warnings-as-errors-off) ; run functor_test.cpp ; compile-fail functor_compile_fail_adl.cpp : $(warnings-as-errors-off) ; run pointer_traits_pointer_test.cpp ; run pointer_traits_element_type_test.cpp ; run pointer_traits_difference_type_test.cpp ; run pointer_traits_rebind_test.cpp ; run pointer_traits_pointer_to_test.cpp ; run pointer_traits_sfinae_test.cpp ; run pointer_traits_rebind_sfinae_test.cpp ; run pointer_traits_pointer_to_sfinae_test.cpp ; run to_address_test.cpp ; run exchange_test.cpp ; run exchange_move_test.cpp ; run first_scalar_test.cpp ; compile first_scalar_constexpr_test.cpp ; run empty_value_test.cpp ; run empty_value_size_test.cpp ; run empty_value_final_test.cpp ; run empty_value_constexpr_test.cpp ; compile empty_value_nested_test.cpp ; compile-fail empty_value_compile_fail_casting.cpp ; run quick_exit_test.cpp ; run-fail quick_exit_fail.cpp ; compile use_default_test.cpp ; run default_allocator_test.cpp : : : pedantic msvc:on gcc:on clang:on ; run default_allocator_allocate_hint_test.cpp ; run noinit_adaptor_test.cpp ; run alloc_construct_test.cpp ; run alloc_construct_throws_test.cpp ; run alloc_construct_cxx11_test.cpp ; run nvp_test.cpp ; run allocator_value_type_test.cpp ; run allocator_pointer_test.cpp ; run allocator_const_pointer_test.cpp ; run allocator_void_pointer_test.cpp ; run allocator_const_void_pointer_test.cpp ; run allocator_difference_type_test.cpp ; run allocator_size_type_test.cpp ; run allocator_pocca_test.cpp ; run allocator_pocma_test.cpp ; run allocator_pocs_test.cpp ; run allocator_is_always_equal_test.cpp ; run allocator_rebind_test.cpp ; run allocator_allocate_test.cpp ; run allocator_allocate_hint_test.cpp ; run allocator_deallocate_test.cpp ; run allocator_max_size_test.cpp ; run allocator_soccc_test.cpp ; run allocator_construct_test.cpp ; run allocator_destroy_test.cpp ; run allocator_construct_n_test.cpp ; run allocator_destroy_n_test.cpp ; run allocator_traits_test.cpp ; compile allocator_pmr_test.cpp ; lib lib_typeid : lib_typeid.cpp : shared:LIB_TYPEID_DYN_LINK=1 ; run test_lib_typeid.cpp lib_typeid : : : shared : test_lib_typeid_shared ; run test_lib_typeid.cpp lib_typeid : : : static : test_lib_typeid_static ; run test_lib_typeid.cpp lib_typeid : : : shared off : test_lib_typeid_shared_no_rtti ; run test_lib_typeid.cpp lib_typeid : : : static off : test_lib_typeid_static_no_rtti ; run test_lib_typeid2.cpp lib_typeid : : : shared : test_lib_typeid2_shared ; run test_lib_typeid2.cpp lib_typeid : : : static : test_lib_typeid2_static ; run test_lib_typeid2.cpp lib_typeid : : : shared off : test_lib_typeid2_shared_no_rtti ; run test_lib_typeid2.cpp lib_typeid : : : static off : test_lib_typeid2_static_no_rtti ; run uncaught_exceptions.cpp : : : on ; run uncaught_exceptions_np.cpp : : : on ; run no_exceptions_support_test.cpp : ; run no_exceptions_support_test.cpp : : : off : no_exceptions_support_test_nx ; run cmath_test.cpp : : : $(pedantic-errors) ; run cmath_test.cpp : : : BOOST_CORE_USE_GENERIC_CMATH msvc-8.0:no : cmath_test_generic ; run bit_cast_test.cpp : : : $(pedantic-errors) ; run bit_rotate_test.cpp : : : $(pedantic-errors) ; run bit_countr_test.cpp : : : $(pedantic-errors) ; run bit_countl_test.cpp : : : $(pedantic-errors) ; run bit_width_test.cpp : : : $(pedantic-errors) ; run has_single_bit_test.cpp : : : $(pedantic-errors) ; run bit_floor_test.cpp : : : $(pedantic-errors) ; run bit_ceil_test.cpp : : : $(pedantic-errors) ; run bit_popcount_test.cpp : : : $(pedantic-errors) ; run bit_endian_test.cpp : : : $(pedantic-errors) ; run bit_byteswap_test.cpp : : : $(pedantic-errors) ; compile-fail bit_width_fail.cpp : off ; compile bit_cast_test_cx.cpp ; compile bit_rotate_test_cx.cpp ; compile bit_countr_test_cx.cpp ; compile bit_countl_test_cx.cpp ; compile bit_width_test_cx.cpp ; compile has_single_bit_test_cx.cpp ; compile bit_floor_test_cx.cpp ; compile bit_ceil_test_cx.cpp ; compile bit_popcount_test_cx.cpp ; compile bit_byteswap_test_cx.cpp ; run type_name_test.cpp ; run snprintf_test.cpp ; run sv_types_test.cpp : : : $(pedantic-errors) ; run sv_construct_test.cpp : : : $(pedantic-errors) ; run sv_iteration_test.cpp : : : $(pedantic-errors) ; run sv_element_access_test.cpp : : : $(pedantic-errors) ; run sv_modifiers_test.cpp : : : $(pedantic-errors) ; run sv_copy_test.cpp : : : $(pedantic-errors) ; run sv_substr_test.cpp : : : $(pedantic-errors) ; run sv_compare_test.cpp : : : $(pedantic-errors) ; run sv_starts_with_test.cpp : : : $(pedantic-errors) ; run sv_ends_with_test.cpp : : : $(pedantic-errors) ; run sv_find_test.cpp : : : $(pedantic-errors) ; run sv_rfind_test.cpp : : : $(pedantic-errors) ; run sv_find_first_of_test.cpp : : : $(pedantic-errors) gcc-4.4:-Wno-type-limits ; run sv_find_last_of_test.cpp : : : $(pedantic-errors) gcc-4.4:-Wno-type-limits ; run sv_find_first_not_of_test.cpp : : : $(pedantic-errors) gcc-4.4:-Wno-type-limits ; run sv_find_last_not_of_test.cpp : : : $(pedantic-errors) gcc-4.4:-Wno-type-limits ; run sv_contains_test.cpp : : : $(pedantic-errors) ; run sv_eq_test.cpp : : : $(pedantic-errors) ; run sv_lt_test.cpp : : : $(pedantic-errors) ; run sv_stream_insert_test.cpp : : : $(pedantic-errors) ; run sv_conversion_test.cpp : : : $(pedantic-errors) ; run sv_conversion_test2.cpp : : : /boost/utility//boost_utility ; run sv_common_reference_test.cpp : : : $(pedantic-errors) ; compile sv_common_reference_test2.cpp ; compile sv_windows_h_test.cpp ; compile-fail sv_nullptr_fail.cpp : $(warnings-as-errors-off) ; compile sv_construct_test_cx.cpp ; compile sv_construct_test_cx2.cpp ; run sv_hash_test.cpp : : : $(CPP11) /boost/container_hash//boost_container_hash ; run span_test.cpp ; run span_types_test.cpp ; run span_constructible_test.cpp ; run span_deduction_guide_test.cpp ; run span_constexpr_test.cpp ; run as_bytes_test.cpp ; run as_writable_bytes_test.cpp ; compile span_boost_begin_test.cpp ; run make_span_test.cpp ; run splitmix64_test.cpp : : : $(pedantic-errors) ; run-fail verbose_terminate_handler_fail.cpp : ; run-fail verbose_terminate_handler_fail.cpp : : : off : verbose_terminate_handler_fail_nx ; run-fail verbose_terminate_handler_fail.cpp : : : off : verbose_terminate_handler_fail_nr ; run-fail verbose_terminate_handler_fail.cpp : : : off off : verbose_terminate_handler_fail_nxr ; run launder_test.cpp ; run alignof_test.cpp ; run max_align_test.cpp ; run memory_resource_test.cpp ; run data_test.cpp ; run size_test.cpp ; local with-serialization = /boost/serialization//boost_serialization/off $(warnings-as-errors-off) norecover:static $(CPP11) # Serialization no longer builds under classic MinGW # and gcc,windows,32 fails for some reason gcc,windows:no ; run serialization_nvp_test.cpp : : : $(with-serialization) norecover:no ; run serialization_split_free_test.cpp : : : $(with-serialization) ; run serialization_split_member_test.cpp : : : $(with-serialization) ; run serialization_construct_data_test.cpp : : : $(with-serialization) ; run identity_test.cpp ; run identity_rvalue_test.cpp ; run sp_thread_pause_test.cpp ; run sp_thread_yield_test.cpp ; run sp_thread_sleep_test.cpp ; run yield_prim_windows_h_test.cpp ; run yield_prim_pthread_cancel_test.cpp : ; run pointer_in_range_test.cpp ; compile pointer_in_range_constexpr_test.cpp ; run minstd_rand_test.cpp : : : $(pedantic-errors) ; use-project /boost/core/swap : ./swap ; build-project ./swap ;