-# $OpenBSD: Makefile,v 1.6 2023/07/05 15:34:52 robert Exp $
+# $OpenBSD: Makefile,v 1.7 2024/01/26 11:51:45 robert Exp $
.include <bsd.own.mk>
LOCALHDRDIR= ${.CURDIR}/include/c++/v1
CONFIG_SITE= ${LOCALHDRDIR}/__config_site
-.PATH: ${SRCDIR} ${SRCDIR}/filesystem
+.PATH: ${SRCDIR} ${SRCDIR}/filesystem ${SRCDIR}/ryu
LIB= c++
-
SRCS+= algorithm.cpp \
any.cpp \
atomic.cpp \
condition_variable.cpp \
condition_variable_destructor.cpp \
debug.cpp \
- directory_iterator.cpp \
exception.cpp \
functional.cpp \
future.cpp \
ios.cpp \
ios.instantiations.cpp \
iostream.cpp \
+ legacy_debug_handler.cpp \
+ legacy_pointer_safety.cpp \
locale.cpp \
memory.cpp \
+ memory_resource.cpp \
mutex.cpp \
mutex_destructor.cpp \
new.cpp \
- operations.cpp \
optional.cpp \
random.cpp \
random_shuffle.cpp \
utility.cpp \
valarray.cpp \
variant.cpp \
- vector.cpp
+ vector.cpp \
+ verbose_abort.cpp
+
+# filesystem
+SRCS+= directory_iterator.cpp \
+ operations.cpp
+# ryu
+SRCS+= d2fixed.cpp \
+ d2s.cpp \
+ f2s.cpp
-CPPFLAGS+= -Wall -DLIBCXXABI -I${HDRDIR} -D_LIBCPP_BUILDING_LIBRARY \
+CPPFLAGS+= -Wall -DLIBCXXABI -I${HDRDIR} -I${SRCDIR} -D_LIBCPP_BUILDING_LIBRARY \
-DLIBCXX_BUILDING_LIBCXXABI -I${AHDRDIR} -I${UHDRDIR} -I${LOCALHDRDIR} \
-DNDEBUG
+
+# This is required because our __string directory has been moved
+CPPFLAGS+= -I${HDRDIR}/__string.d/
+
CXXFLAGS+= -nostdlib -nostdinc++
.if empty(CXXFLAGS:M-std=*)
-CXXFLAGS+= -std=c++14
+CXXFLAGS+= -std=c++20
.endif
LDADD+= -L${BSDOBJDIR}/gnu/lib/libcxxabi -lc++abi
__algorithm/any_of.h \
__algorithm/binary_search.h \
__algorithm/clamp.h \
- __algorithm/comp_ref_type.h \
__algorithm/comp.h \
+ __algorithm/comp_ref_type.h \
+ __algorithm/copy.h \
__algorithm/copy_backward.h \
__algorithm/copy_if.h \
+ __algorithm/copy_move_common.h \
__algorithm/copy_n.h \
- __algorithm/copy.h \
- __algorithm/count_if.h \
__algorithm/count.h \
- __algorithm/equal_range.h \
+ __algorithm/count_if.h \
__algorithm/equal.h \
- __algorithm/fill_n.h \
+ __algorithm/equal_range.h \
__algorithm/fill.h \
+ __algorithm/fill_n.h \
+ __algorithm/find.h \
__algorithm/find_end.h \
__algorithm/find_first_of.h \
- __algorithm/find_if_not.h \
__algorithm/find_if.h \
- __algorithm/find.h \
- __algorithm/for_each_n.h \
+ __algorithm/find_if_not.h \
__algorithm/for_each.h \
- __algorithm/generate_n.h \
+ __algorithm/for_each_n.h \
__algorithm/generate.h \
+ __algorithm/generate_n.h \
__algorithm/half_positive.h \
+ __algorithm/in_found_result.h \
+ __algorithm/in_fun_result.h \
+ __algorithm/in_in_out_result.h \
+ __algorithm/in_in_result.h \
+ __algorithm/in_out_out_result.h \
+ __algorithm/in_out_result.h \
__algorithm/includes.h \
__algorithm/inplace_merge.h \
- __algorithm/is_heap_until.h \
__algorithm/is_heap.h \
+ __algorithm/is_heap_until.h \
__algorithm/is_partitioned.h \
__algorithm/is_permutation.h \
- __algorithm/is_sorted_until.h \
__algorithm/is_sorted.h \
+ __algorithm/is_sorted_until.h \
__algorithm/iter_swap.h \
+ __algorithm/iterator_operations.h \
__algorithm/lexicographical_compare.h \
__algorithm/lower_bound.h \
__algorithm/make_heap.h \
- __algorithm/max_element.h \
+ __algorithm/make_projected.h \
__algorithm/max.h \
+ __algorithm/max_element.h \
__algorithm/merge.h \
- __algorithm/min_element.h \
__algorithm/min.h \
- __algorithm/minmax_element.h \
+ __algorithm/min_element.h \
+ __algorithm/min_max_result.h \
__algorithm/minmax.h \
+ __algorithm/minmax_element.h \
__algorithm/mismatch.h \
- __algorithm/move_backward.h \
__algorithm/move.h \
+ __algorithm/move_backward.h \
__algorithm/next_permutation.h \
__algorithm/none_of.h \
__algorithm/nth_element.h \
- __algorithm/partial_sort_copy.h \
__algorithm/partial_sort.h \
+ __algorithm/partial_sort_copy.h \
+ __algorithm/partition.h \
__algorithm/partition_copy.h \
__algorithm/partition_point.h \
- __algorithm/partition.h \
__algorithm/pop_heap.h \
__algorithm/prev_permutation.h \
__algorithm/push_heap.h \
+ __algorithm/ranges_adjacent_find.h \
+ __algorithm/ranges_all_of.h \
+ __algorithm/ranges_any_of.h \
+ __algorithm/ranges_binary_search.h \
+ __algorithm/ranges_clamp.h \
+ __algorithm/ranges_copy.h \
+ __algorithm/ranges_copy_backward.h \
+ __algorithm/ranges_copy_if.h \
+ __algorithm/ranges_copy_n.h \
+ __algorithm/ranges_count.h \
+ __algorithm/ranges_count_if.h \
+ __algorithm/ranges_equal.h \
+ __algorithm/ranges_equal_range.h \
+ __algorithm/ranges_fill.h \
+ __algorithm/ranges_fill_n.h \
__algorithm/ranges_find.h \
+ __algorithm/ranges_find_end.h \
+ __algorithm/ranges_find_first_of.h \
__algorithm/ranges_find_if.h \
__algorithm/ranges_find_if_not.h \
- __algorithm/remove_copy_if.h \
+ __algorithm/ranges_for_each.h \
+ __algorithm/ranges_for_each_n.h \
+ __algorithm/ranges_generate.h \
+ __algorithm/ranges_generate_n.h \
+ __algorithm/ranges_includes.h \
+ __algorithm/ranges_inplace_merge.h \
+ __algorithm/ranges_is_heap.h \
+ __algorithm/ranges_is_heap_until.h \
+ __algorithm/ranges_is_partitioned.h \
+ __algorithm/ranges_is_permutation.h \
+ __algorithm/ranges_is_sorted.h \
+ __algorithm/ranges_is_sorted_until.h \
+ __algorithm/ranges_iterator_concept.h \
+ __algorithm/ranges_lexicographical_compare.h \
+ __algorithm/ranges_lower_bound.h \
+ __algorithm/ranges_make_heap.h \
+ __algorithm/ranges_max.h \
+ __algorithm/ranges_max_element.h \
+ __algorithm/ranges_merge.h \
+ __algorithm/ranges_min.h \
+ __algorithm/ranges_min_element.h \
+ __algorithm/ranges_minmax.h \
+ __algorithm/ranges_minmax_element.h \
+ __algorithm/ranges_mismatch.h \
+ __algorithm/ranges_move.h \
+ __algorithm/ranges_move_backward.h \
+ __algorithm/ranges_next_permutation.h \
+ __algorithm/ranges_none_of.h \
+ __algorithm/ranges_nth_element.h \
+ __algorithm/ranges_partial_sort.h \
+ __algorithm/ranges_partial_sort_copy.h \
+ __algorithm/ranges_partition.h \
+ __algorithm/ranges_partition_copy.h \
+ __algorithm/ranges_partition_point.h \
+ __algorithm/ranges_pop_heap.h \
+ __algorithm/ranges_prev_permutation.h \
+ __algorithm/ranges_push_heap.h \
+ __algorithm/ranges_remove.h \
+ __algorithm/ranges_remove_copy.h \
+ __algorithm/ranges_remove_copy_if.h \
+ __algorithm/ranges_remove_if.h \
+ __algorithm/ranges_replace.h \
+ __algorithm/ranges_replace_copy.h \
+ __algorithm/ranges_replace_copy_if.h \
+ __algorithm/ranges_replace_if.h \
+ __algorithm/ranges_reverse.h \
+ __algorithm/ranges_reverse_copy.h \
+ __algorithm/ranges_rotate.h \
+ __algorithm/ranges_rotate_copy.h \
+ __algorithm/ranges_sample.h \
+ __algorithm/ranges_search.h \
+ __algorithm/ranges_search_n.h \
+ __algorithm/ranges_set_difference.h \
+ __algorithm/ranges_set_intersection.h \
+ __algorithm/ranges_set_symmetric_difference.h \
+ __algorithm/ranges_set_union.h \
+ __algorithm/ranges_shuffle.h \
+ __algorithm/ranges_sort.h \
+ __algorithm/ranges_sort_heap.h \
+ __algorithm/ranges_stable_partition.h \
+ __algorithm/ranges_stable_sort.h \
+ __algorithm/ranges_swap_ranges.h \
+ __algorithm/ranges_transform.h \
+ __algorithm/ranges_unique.h \
+ __algorithm/ranges_unique_copy.h \
+ __algorithm/ranges_upper_bound.h \
+ __algorithm/remove.h \
__algorithm/remove_copy.h \
+ __algorithm/remove_copy_if.h \
__algorithm/remove_if.h \
- __algorithm/remove.h \
- __algorithm/replace_copy_if.h \
+ __algorithm/replace.h \
__algorithm/replace_copy.h \
+ __algorithm/replace_copy_if.h \
__algorithm/replace_if.h \
- __algorithm/replace.h \
- __algorithm/reverse_copy.h \
__algorithm/reverse.h \
- __algorithm/rotate_copy.h \
+ __algorithm/reverse_copy.h \
__algorithm/rotate.h \
+ __algorithm/rotate_copy.h \
__algorithm/sample.h \
- __algorithm/search_n.h \
__algorithm/search.h \
+ __algorithm/search_n.h \
__algorithm/set_difference.h \
__algorithm/set_intersection.h \
__algorithm/set_symmetric_difference.h \
__algorithm/shift_right.h \
__algorithm/shuffle.h \
__algorithm/sift_down.h \
- __algorithm/sort_heap.h \
__algorithm/sort.h \
+ __algorithm/sort_heap.h \
__algorithm/stable_partition.h \
__algorithm/stable_sort.h \
__algorithm/swap_ranges.h \
__algorithm/transform.h \
- __algorithm/unique_copy.h \
+ __algorithm/uniform_random_bit_generator_adaptor.h \
__algorithm/unique.h \
+ __algorithm/unique_copy.h \
__algorithm/unwrap_iter.h \
+ __algorithm/unwrap_range.h \
__algorithm/upper_bound.h \
+ __assert \
__availability \
+ __bit/bit_cast.h \
+ __bit/bit_ceil.h \
+ __bit/bit_floor.h \
+ __bit/bit_log2.h \
+ __bit/bit_width.h \
+ __bit/blsr.h \
+ __bit/byteswap.h \
+ __bit/countl.h \
+ __bit/countr.h \
+ __bit/endian.h \
+ __bit/has_single_bit.h \
+ __bit/popcount.h \
+ __bit/rotate.h \
__bit_reference \
- __bits \
__bsd_locale_defaults.h \
__bsd_locale_fallbacks.h \
+ __charconv/chars_format.h \
+ __charconv/from_chars_result.h \
+ __charconv/tables.h \
+ __charconv/to_chars_base_10.h \
+ __charconv/to_chars_result.h \
+ __chrono/calendar.h \
+ __chrono/convert_to_timespec.h \
+ __chrono/convert_to_tm.h \
+ __chrono/day.h \
+ __chrono/duration.h \
+ __chrono/file_clock.h \
+ __chrono/formatter.h \
+ __chrono/hh_mm_ss.h \
+ __chrono/high_resolution_clock.h \
+ __chrono/literals.h \
+ __chrono/month.h \
+ __chrono/month_weekday.h \
+ __chrono/monthday.h \
+ __chrono/ostream.h \
+ __chrono/parser_std_format_spec.h \
+ __chrono/statically_widen.h \
+ __chrono/steady_clock.h \
+ __chrono/system_clock.h \
+ __chrono/time_point.h \
+ __chrono/weekday.h \
+ __chrono/year.h \
+ __chrono/year_month.h \
+ __chrono/year_month_day.h \
+ __chrono/year_month_weekday.h \
+ __compare/common_comparison_category.h \
+ __compare/compare_partial_order_fallback.h \
+ __compare/compare_strong_order_fallback.h \
+ __compare/compare_three_way.h \
+ __compare/compare_three_way_result.h \
+ __compare/compare_weak_order_fallback.h \
+ __compare/is_eq.h \
+ __compare/ordering.h \
+ __compare/partial_order.h \
+ __compare/strong_order.h \
+ __compare/synth_three_way.h \
+ __compare/three_way_comparable.h \
+ __compare/weak_order.h \
+ __concepts/arithmetic.h \
+ __concepts/assignable.h \
+ __concepts/boolean_testable.h \
+ __concepts/class_or_enum.h \
+ __concepts/common_reference_with.h \
+ __concepts/common_with.h \
+ __concepts/constructible.h \
+ __concepts/convertible_to.h \
+ __concepts/copyable.h \
+ __concepts/derived_from.h \
+ __concepts/destructible.h \
+ __concepts/different_from.h \
+ __concepts/equality_comparable.h \
+ __concepts/invocable.h \
+ __concepts/movable.h \
+ __concepts/predicate.h \
+ __concepts/regular.h \
+ __concepts/relation.h \
+ __concepts/same_as.h \
+ __concepts/semiregular.h \
+ __concepts/swappable.h \
+ __concepts/totally_ordered.h \
__config \
+ __coroutine/coroutine_handle.h \
+ __coroutine/coroutine_traits.h \
+ __coroutine/noop_coroutine_handle.h \
+ __coroutine/trivial_awaitables.h \
__debug \
+ __debug_utils/randomize_range.h \
__errc \
+ __expected/bad_expected_access.h \
+ __expected/expected.h \
+ __expected/unexpect.h \
+ __expected/unexpected.h \
+ __filesystem/copy_options.h \
+ __filesystem/directory_entry.h \
+ __filesystem/directory_iterator.h \
+ __filesystem/directory_options.h \
+ __filesystem/file_status.h \
+ __filesystem/file_time_type.h \
+ __filesystem/file_type.h \
+ __filesystem/filesystem_error.h \
+ __filesystem/operations.h \
+ __filesystem/path.h \
+ __filesystem/path_iterator.h \
+ __filesystem/perm_options.h \
+ __filesystem/perms.h \
+ __filesystem/recursive_directory_iterator.h \
+ __filesystem/space_info.h \
+ __filesystem/u8path.h \
+ __format/buffer.h \
+ __format/concepts.h \
+ __format/container_adaptor.h \
+ __format/enable_insertable.h \
+ __format/escaped_output_table.h \
+ __format/extended_grapheme_cluster_table.h \
+ __format/format_arg.h \
+ __format/format_arg_store.h \
+ __format/format_args.h \
+ __format/format_context.h \
__format/format_error.h \
+ __format/format_functions.h \
+ __format/format_fwd.h \
__format/format_parse_context.h \
- __function_like.h \
- __functional_base \
+ __format/format_string.h \
+ __format/format_to_n_result.h \
+ __format/formatter.h \
+ __format/formatter_bool.h \
+ __format/formatter_char.h \
+ __format/formatter_floating_point.h \
+ __format/formatter_integer.h \
+ __format/formatter_integral.h \
+ __format/formatter_output.h \
+ __format/formatter_pointer.h \
+ __format/formatter_string.h \
+ __format/formatter_tuple.h \
+ __format/parser_std_format_spec.h \
+ __format/range_default_formatter.h \
+ __format/range_formatter.h \
+ __format/unicode.h \
__functional/binary_function.h \
__functional/binary_negate.h \
- __functional/bind_front.h \
__functional/bind.h \
+ __functional/bind_back.h \
+ __functional/bind_front.h \
__functional/binder1st.h \
__functional/binder2nd.h \
+ __functional/boyer_moore_searcher.h \
+ __functional/compose.h \
__functional/default_searcher.h \
__functional/function.h \
__functional/hash.h \
__functional/unary_negate.h \
__functional/unwrap_ref.h \
__functional/weak_result_type.h \
+ __fwd/array.h \
+ __fwd/get.h \
+ __fwd/hash.h \
+ __fwd/memory_resource.h \
+ __fwd/pair.h \
+ __fwd/span.h \
+ __fwd/string.h \
+ __fwd/string_view.h \
+ __fwd/subrange.h \
+ __fwd/tuple.h \
__hash_table \
+ __ios/fpos.h \
__iterator/access.h \
__iterator/advance.h \
__iterator/back_insert_iterator.h \
+ __iterator/bounded_iter.h \
__iterator/common_iterator.h \
__iterator/concepts.h \
__iterator/counted_iterator.h \
__iterator/erase_if_container.h \
__iterator/front_insert_iterator.h \
__iterator/incrementable_traits.h \
+ __iterator/indirectly_comparable.h \
__iterator/insert_iterator.h \
__iterator/istream_iterator.h \
__iterator/istreambuf_iterator.h \
__iterator/iter_move.h \
__iterator/iter_swap.h \
- __iterator/iterator_traits.h \
__iterator/iterator.h \
+ __iterator/iterator_traits.h \
+ __iterator/iterator_with_data.h \
+ __iterator/mergeable.h \
__iterator/move_iterator.h \
+ __iterator/move_sentinel.h \
__iterator/next.h \
__iterator/ostream_iterator.h \
__iterator/ostreambuf_iterator.h \
+ __iterator/permutable.h \
__iterator/prev.h \
__iterator/projected.h \
__iterator/readable_traits.h \
__iterator/reverse_access.h \
__iterator/reverse_iterator.h \
+ __iterator/segmented_iterator.h \
__iterator/size.h \
+ __iterator/sortable.h \
+ __iterator/unreachable_sentinel.h \
__iterator/wrap_iter.h \
- __libcpp_version \
__locale \
+ __mbstate_t.h \
__memory/addressof.h \
+ __memory/align.h \
+ __memory/allocate_at_least.h \
__memory/allocation_guard.h \
+ __memory/allocator.h \
__memory/allocator_arg_t.h \
+ __memory/allocator_destructor.h \
__memory/allocator_traits.h \
- __memory/allocator.h \
+ __memory/assume_aligned.h \
__memory/auto_ptr.h \
+ __memory/builtin_new_allocator.h \
__memory/compressed_pair.h \
+ __memory/concepts.h \
__memory/construct_at.h \
- __memory/pointer_safety.h \
+ __memory/destruct_n.h \
__memory/pointer_traits.h \
+ __memory/ranges_construct_at.h \
+ __memory/ranges_uninitialized_algorithms.h \
__memory/raw_storage_iterator.h \
__memory/shared_ptr.h \
+ __memory/swap_allocator.h \
+ __memory/temp_value.h \
__memory/temporary_buffer.h \
__memory/uninitialized_algorithms.h \
__memory/unique_ptr.h \
__memory/uses_allocator.h \
+ __memory/uses_allocator_construction.h \
+ __memory/voidify.h \
+ __memory_resource/memory_resource.h \
+ __memory_resource/monotonic_buffer_resource.h \
+ __memory_resource/polymorphic_allocator.h \
+ __memory_resource/pool_options.h \
+ __memory_resource/synchronized_pool_resource.h \
+ __memory_resource/unsynchronized_pool_resource.h \
__mutex_base \
__node_handle \
- __nullptr \
+ __numeric/accumulate.h \
+ __numeric/adjacent_difference.h \
+ __numeric/exclusive_scan.h \
+ __numeric/gcd_lcm.h \
+ __numeric/inclusive_scan.h \
+ __numeric/inner_product.h \
+ __numeric/iota.h \
+ __numeric/midpoint.h \
+ __numeric/partial_sum.h \
+ __numeric/reduce.h \
+ __numeric/transform_exclusive_scan.h \
+ __numeric/transform_inclusive_scan.h \
+ __numeric/transform_reduce.h \
+ __random/bernoulli_distribution.h \
+ __random/binomial_distribution.h \
+ __random/cauchy_distribution.h \
+ __random/chi_squared_distribution.h \
+ __random/clamp_to_integral.h \
+ __random/default_random_engine.h \
+ __random/discard_block_engine.h \
+ __random/discrete_distribution.h \
+ __random/exponential_distribution.h \
+ __random/extreme_value_distribution.h \
+ __random/fisher_f_distribution.h \
+ __random/gamma_distribution.h \
+ __random/generate_canonical.h \
+ __random/geometric_distribution.h \
+ __random/independent_bits_engine.h \
+ __random/is_seed_sequence.h \
+ __random/is_valid.h \
+ __random/knuth_b.h \
+ __random/linear_congruential_engine.h \
+ __random/log2.h \
+ __random/lognormal_distribution.h \
+ __random/mersenne_twister_engine.h \
+ __random/negative_binomial_distribution.h \
+ __random/normal_distribution.h \
+ __random/piecewise_constant_distribution.h \
+ __random/piecewise_linear_distribution.h \
+ __random/poisson_distribution.h \
+ __random/random_device.h \
+ __random/ranlux.h \
+ __random/seed_seq.h \
+ __random/shuffle_order_engine.h \
+ __random/student_t_distribution.h \
+ __random/subtract_with_carry_engine.h \
__random/uniform_int_distribution.h \
+ __random/uniform_random_bit_generator.h \
+ __random/uniform_real_distribution.h \
+ __random/weibull_distribution.h \
__ranges/access.h \
__ranges/all.h \
+ __ranges/as_rvalue_view.h \
__ranges/common_view.h \
__ranges/concepts.h \
__ranges/copyable_box.h \
+ __ranges/counted.h \
__ranges/dangling.h \
__ranges/data.h \
__ranges/drop_view.h \
- __ranges/empty_view.h \
+ __ranges/drop_while_view.h \
+ __ranges/elements_view.h \
__ranges/empty.h \
+ __ranges/empty_view.h \
__ranges/enable_borrowed_range.h \
__ranges/enable_view.h \
+ __ranges/filter_view.h \
+ __ranges/iota_view.h \
+ __ranges/istream_view.h \
+ __ranges/join_view.h \
+ __ranges/lazy_split_view.h \
__ranges/non_propagating_cache.h \
+ __ranges/owning_view.h \
+ __ranges/range_adaptor.h \
+ __ranges/rbegin.h \
__ranges/ref_view.h \
+ __ranges/rend.h \
+ __ranges/reverse_view.h \
+ __ranges/single_view.h \
__ranges/size.h \
+ __ranges/split_view.h \
__ranges/subrange.h \
+ __ranges/take_view.h \
+ __ranges/take_while_view.h \
__ranges/transform_view.h \
__ranges/view_interface.h \
+ __ranges/views.h \
+ __ranges/zip_view.h \
__split_buffer \
__std_stream \
- __string \
__support/android/locale_bionic.h \
__support/fuchsia/xlocale.h \
__support/ibm/gettod_zos.h \
- __support/ibm/limits.h \
- __support/ibm/locale_mgmt_aix.h \
__support/ibm/locale_mgmt_zos.h \
__support/ibm/nanosleep.h \
- __support/ibm/support.h \
__support/ibm/xlocale.h \
__support/musl/xlocale.h \
__support/newlib/xlocale.h \
- __support/nuttx/xlocale.h \
__support/openbsd/xlocale.h \
__support/solaris/floatingpoint.h \
__support/solaris/wchar.h \
__support/solaris/xlocale.h \
- __support/win32/limits_msvc_win32.h \
__support/win32/locale_win32.h \
__support/xlocale/__nop_locale_mgmt.h \
__support/xlocale/__posix_l_fallback.h \
__support/xlocale/__strtonum_fallback.h \
+ __thread/poll_with_backoff.h \
+ __thread/timed_backoff_policy.h \
__threading_support \
__tree \
- __tuple \
+ __tuple_dir/apply_cv.h \
+ __tuple_dir/make_tuple_types.h \
+ __tuple_dir/pair_like.h \
+ __tuple_dir/sfinae_helpers.h \
+ __tuple_dir/tuple_element.h \
+ __tuple_dir/tuple_indices.h \
+ __tuple_dir/tuple_like.h \
+ __tuple_dir/tuple_like_ext.h \
+ __tuple_dir/tuple_size.h \
+ __tuple_dir/tuple_types.h \
+ __type_traits/add_const.h \
+ __type_traits/add_cv.h \
+ __type_traits/add_lvalue_reference.h \
+ __type_traits/add_pointer.h \
+ __type_traits/add_rvalue_reference.h \
+ __type_traits/add_volatile.h \
+ __type_traits/aligned_storage.h \
+ __type_traits/aligned_union.h \
+ __type_traits/alignment_of.h \
+ __type_traits/apply_cv.h \
+ __type_traits/can_extract_key.h \
+ __type_traits/common_reference.h \
+ __type_traits/common_type.h \
+ __type_traits/conditional.h \
+ __type_traits/conjunction.h \
+ __type_traits/copy_cv.h \
+ __type_traits/copy_cvref.h \
+ __type_traits/decay.h \
+ __type_traits/dependent_type.h \
+ __type_traits/disjunction.h \
+ __type_traits/enable_if.h \
+ __type_traits/extent.h \
+ __type_traits/has_unique_object_representation.h \
+ __type_traits/has_virtual_destructor.h \
+ __type_traits/integral_constant.h \
+ __type_traits/is_abstract.h \
+ __type_traits/is_aggregate.h \
+ __type_traits/is_allocator.h \
+ __type_traits/is_always_bitcastable.h \
+ __type_traits/is_arithmetic.h \
+ __type_traits/is_array.h \
+ __type_traits/is_assignable.h \
+ __type_traits/is_base_of.h \
+ __type_traits/is_bounded_array.h \
+ __type_traits/is_callable.h \
+ __type_traits/is_char_like_type.h \
+ __type_traits/is_class.h \
+ __type_traits/is_compound.h \
+ __type_traits/is_const.h \
+ __type_traits/is_constant_evaluated.h \
+ __type_traits/is_constructible.h \
+ __type_traits/is_convertible.h \
+ __type_traits/is_copy_assignable.h \
+ __type_traits/is_copy_constructible.h \
+ __type_traits/is_core_convertible.h \
+ __type_traits/is_default_constructible.h \
+ __type_traits/is_destructible.h \
+ __type_traits/is_empty.h \
+ __type_traits/is_enum.h \
+ __type_traits/is_final.h \
+ __type_traits/is_floating_point.h \
+ __type_traits/is_function.h \
+ __type_traits/is_fundamental.h \
+ __type_traits/is_implicitly_default_constructible.h \
+ __type_traits/is_integral.h \
+ __type_traits/is_literal_type.h \
+ __type_traits/is_member_function_pointer.h \
+ __type_traits/is_member_object_pointer.h \
+ __type_traits/is_member_pointer.h \
+ __type_traits/is_move_assignable.h \
+ __type_traits/is_move_constructible.h \
+ __type_traits/is_nothrow_assignable.h \
+ __type_traits/is_nothrow_constructible.h \
+ __type_traits/is_nothrow_convertible.h \
+ __type_traits/is_nothrow_copy_assignable.h \
+ __type_traits/is_nothrow_copy_constructible.h \
+ __type_traits/is_nothrow_default_constructible.h \
+ __type_traits/is_nothrow_destructible.h \
+ __type_traits/is_nothrow_move_assignable.h \
+ __type_traits/is_nothrow_move_constructible.h \
+ __type_traits/is_null_pointer.h \
+ __type_traits/is_object.h \
+ __type_traits/is_pod.h \
+ __type_traits/is_pointer.h \
+ __type_traits/is_polymorphic.h \
+ __type_traits/is_primary_template.h \
+ __type_traits/is_reference.h \
+ __type_traits/is_reference_wrapper.h \
+ __type_traits/is_referenceable.h \
+ __type_traits/is_same.h \
+ __type_traits/is_scalar.h \
+ __type_traits/is_scoped_enum.h \
+ __type_traits/is_signed.h \
+ __type_traits/is_signed_integer.h \
+ __type_traits/is_specialization.h \
+ __type_traits/is_standard_layout.h \
+ __type_traits/is_swappable.h \
+ __type_traits/is_trivial.h \
+ __type_traits/is_trivially_assignable.h \
+ __type_traits/is_trivially_constructible.h \
+ __type_traits/is_trivially_copy_assignable.h \
+ __type_traits/is_trivially_copy_constructible.h \
+ __type_traits/is_trivially_copyable.h \
+ __type_traits/is_trivially_default_constructible.h \
+ __type_traits/is_trivially_destructible.h \
+ __type_traits/is_trivially_move_assignable.h \
+ __type_traits/is_trivially_move_constructible.h \
+ __type_traits/is_unbounded_array.h \
+ __type_traits/is_union.h \
+ __type_traits/is_unsigned.h \
+ __type_traits/is_unsigned_integer.h \
+ __type_traits/is_valid_expansion.h \
+ __type_traits/is_void.h \
+ __type_traits/is_volatile.h \
+ __type_traits/lazy.h \
+ __type_traits/make_32_64_or_128_bit.h \
+ __type_traits/make_const_lvalue_ref.h \
+ __type_traits/make_signed.h \
+ __type_traits/make_unsigned.h \
+ __type_traits/maybe_const.h \
+ __type_traits/nat.h \
+ __type_traits/negation.h \
+ __type_traits/noexcept_move_assign_container.h \
+ __type_traits/promote.h \
+ __type_traits/rank.h \
+ __type_traits/remove_all_extents.h \
+ __type_traits/remove_const.h \
+ __type_traits/remove_const_ref.h \
+ __type_traits/remove_cv.h \
+ __type_traits/remove_cvref.h \
+ __type_traits/remove_extent.h \
+ __type_traits/remove_pointer.h \
+ __type_traits/remove_reference.h \
+ __type_traits/remove_volatile.h \
+ __type_traits/result_of.h \
+ __type_traits/strip_signature.h \
+ __type_traits/type_identity.h \
+ __type_traits/type_list.h \
+ __type_traits/underlying_type.h \
+ __type_traits/void_t.h \
__undef_macros \
- __utility/__decay_copy.h \
__utility/as_const.h \
+ __utility/auto_cast.h \
__utility/cmp.h \
+ __utility/convert_to_integral.h \
__utility/declval.h \
+ __utility/exception_guard.h \
__utility/exchange.h \
__utility/forward.h \
+ __utility/forward_like.h \
__utility/in_place.h \
__utility/integer_sequence.h \
__utility/move.h \
__utility/pair.h \
__utility/piecewise_construct.h \
+ __utility/priority_tag.h \
__utility/rel_ops.h \
__utility/swap.h \
__utility/to_underlying.h \
+ __utility/unreachable.h \
__variant/monostate.h \
+ __verbose_abort \
algorithm \
any \
array \
complex.h \
concepts \
condition_variable \
+ coroutine \
csetjmp \
csignal \
cstdarg \
ctgmath \
ctime \
ctype.h \
+ cuchar \
cwchar \
cwctype \
deque \
errno.h \
exception \
execution \
+ expected \
experimental/__config \
experimental/__memory \
experimental/algorithm \
experimental/coroutine \
experimental/deque \
- experimental/filesystem \
experimental/forward_list \
experimental/functional \
experimental/iterator \
istream \
iterator \
latch \
+ libcxx.imp \
limits \
limits.h \
list \
map \
math.h \
memory \
- module.modulemap \
+ memory_resource \
mutex \
new \
numbers \
queue \
random \
ranges \
- ranges \
ratio \
regex \
scoped_allocator \
set \
setjmp.h \
shared_mutex \
+ source_location \
span \
sstream \
stack \
+ stdatomic.h \
stdbool.h \
stddef.h \
stdexcept \
stdlib.h \
streambuf \
string \
- string_view \
string.h \
+ string_view \
strstream \
system_error \
tgmath.h \
type_traits \
typeindex \
typeinfo \
+ uchar.h \
unordered_map \
unordered_set \
utility \
wchar.h \
wctype.h
+# __string has moved from a file to a directory which CVS cannot
+# handle so we have to do some trickery with these
+STRING_HEADERS= \
+ __string/char_traits.h \
+ __string/extern_template_lists.h
+
includes:
@echo installing ${STD_HEADERS}
. for hdr in ${STD_HEADERS}
cmp -s ${CONFIG_SITE} ${DESTDIR}/${CXXINCLUDEDIR}/${CONFIG_SITE:T} || \
${INSTALL} ${INSTALL_COPY} -D -m 444 ${CONFIG_SITE} \
${DESTDIR}/${CXXINCLUDEDIR}/${CONFIG_SITE:T}
+ @echo installing ${STRING_HEADERS}
+. for hdr in ${STRING_HEADERS}
+ cmp -s ${HDRDIR}/__string.d/${hdr} ${DESTDIR}/${CXXINCLUDEDIR}/${hdr} || \
+ ${INSTALL} ${INSTALL_COPY} -D -m 444 ${HDRDIR}/__string.d/${hdr} \
+ ${DESTDIR}/${CXXINCLUDEDIR}/${hdr};
+. endfor
.include <bsd.lib.mk>