ports/contrib (3.6): wasi-libc++: initial import
commit 1b0fba1b7141dd4ef5889df9c660dab07c952d38 Author: Danny Rawlins <contact@romster.me> Date: Sat Dec 11 23:30:08 2021 +1100 wasi-libc++: initial import diff --git a/wasi-libc++/.footprint b/wasi-libc++/.footprint new file mode 100644 index 000000000..1b2192402 --- /dev/null +++ b/wasi-libc++/.footprint @@ -0,0 +1,421 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/share/ +drwxr-xr-x root/root usr/share/wasi-sysroot/ +drwxr-xr-x root/root usr/share/wasi-sysroot/include/ +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/ +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/ +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/adjacent_find.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/all_of.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/any_of.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/binary_search.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/clamp.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/comp.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/comp_ref_type.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/copy.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/copy_backward.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/copy_if.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/copy_n.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/count.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/count_if.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/equal.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/equal_range.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/fill.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/fill_n.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/find.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/find_end.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/find_first_of.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/find_if.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/find_if_not.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/for_each.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/for_each_n.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/generate.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/generate_n.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/half_positive.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/includes.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/inplace_merge.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/is_heap.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/is_heap_until.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/is_partitioned.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/is_permutation.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/is_sorted.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/is_sorted_until.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/iter_swap.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/lexicographical_compare.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/lower_bound.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/make_heap.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/max.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/max_element.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/merge.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/min.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/min_element.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/minmax.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/minmax_element.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/mismatch.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/move.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/move_backward.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/next_permutation.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/none_of.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/nth_element.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/partial_sort.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/partial_sort_copy.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/partition.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/partition_copy.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/partition_point.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/pop_heap.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/prev_permutation.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/push_heap.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/remove.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/remove_copy.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/remove_copy_if.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/remove_if.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/replace.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/replace_copy.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/replace_copy_if.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/replace_if.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/reverse.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/reverse_copy.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/rotate.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/rotate_copy.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/sample.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/search.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/search_n.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/set_difference.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/set_intersection.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/set_symmetric_difference.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/set_union.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/shift_left.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/shift_right.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/shuffle.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/sift_down.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/sort.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/sort_heap.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/stable_partition.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/stable_sort.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/swap_ranges.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/transform.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/unique.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/unique_copy.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/unwrap_iter.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__algorithm/upper_bound.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__availability +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__bit_reference +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__bits +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__bsd_locale_defaults.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__bsd_locale_fallbacks.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__config +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__config_site +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__cxxabi_config.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__debug +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__errc +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__format/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__format/format_error.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__format/format_parse_context.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__function_like.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__functional/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/binary_function.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/binary_negate.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/bind.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/bind_front.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/binder1st.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/binder2nd.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/default_searcher.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/function.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/hash.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/identity.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/invoke.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/is_transparent.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/mem_fn.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/mem_fun_ref.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/not_fn.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/operations.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/perfect_forward.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/pointer_to_binary_function.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/pointer_to_unary_function.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/ranges_operations.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/reference_wrapper.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/unary_function.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/unary_negate.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/unwrap_ref.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional/weak_result_type.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__functional_base +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__hash_table +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/access.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/advance.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/back_insert_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/common_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/concepts.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/counted_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/data.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/default_sentinel.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/distance.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/empty.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/erase_if_container.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/front_insert_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/incrementable_traits.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/insert_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/istream_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/istreambuf_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/iter_move.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/iter_swap.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/iterator_traits.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/move_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/next.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/ostream_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/ostreambuf_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/prev.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/projected.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/readable_traits.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/reverse_access.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/reverse_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/size.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__iterator/wrap_iter.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__libcpp_version +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__locale +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__memory/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/addressof.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/allocation_guard.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/allocator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/allocator_arg_t.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/allocator_traits.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/auto_ptr.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/compressed_pair.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/construct_at.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/pointer_safety.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/pointer_traits.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/raw_storage_iterator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/shared_ptr.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/temporary_buffer.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/uninitialized_algorithms.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/unique_ptr.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__memory/uses_allocator.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__mutex_base +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__node_handle +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__nullptr +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__random/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__random/uniform_int_distribution.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/access.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/all.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/common_view.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/concepts.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/copyable_box.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/dangling.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/data.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/drop_view.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/empty.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/empty_view.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/enable_borrowed_range.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/enable_view.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/non_propagating_cache.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/ref_view.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/size.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/subrange.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/transform_view.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__ranges/view_interface.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__split_buffer +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__std_stream +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__string +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/ +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/android/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/android/locale_bionic.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/fuchsia/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/fuchsia/xlocale.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/ibm/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/ibm/gettod_zos.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/ibm/limits.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/ibm/locale_mgmt_aix.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/ibm/locale_mgmt_zos.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/ibm/nanosleep.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/ibm/support.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/ibm/xlocale.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/musl/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/musl/xlocale.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/newlib/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/newlib/xlocale.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/nuttx/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/nuttx/xlocale.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/openbsd/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/openbsd/xlocale.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/solaris/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/solaris/floatingpoint.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/solaris/wchar.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/solaris/xlocale.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/win32/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/win32/limits_msvc_win32.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/win32/locale_win32.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__support/xlocale/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/xlocale/__nop_locale_mgmt.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/xlocale/__posix_l_fallback.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__support/xlocale/__strtonum_fallback.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__threading_support +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__tree +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__tuple +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__undef_macros +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__utility/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/__decay_copy.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/as_const.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/cmp.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/declval.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/exchange.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/forward.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/in_place.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/integer_sequence.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/move.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/pair.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/piecewise_construct.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/rel_ops.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/swap.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__utility/to_underlying.h +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/__variant/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/__variant/monostate.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/algorithm +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/any +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/array +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/atomic +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/barrier +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/bit +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/bitset +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cassert +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ccomplex +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cctype +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cerrno +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cfenv +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cfloat +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/charconv +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/chrono +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cinttypes +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ciso646 +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/climits +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/clocale +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cmath +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/codecvt +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/compare +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/complex +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/complex.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/concepts +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/condition_variable +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/csetjmp +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/csignal +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cstdarg +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cstdbool +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cstddef +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cstdint +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cstdio +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cstdlib +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cstring +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ctgmath +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ctime +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ctype.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cwchar +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cwctype +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/cxxabi.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/deque +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/errno.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/exception +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/execution +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/experimental/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/__config +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/__memory +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/algorithm +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/coroutine +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/deque +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/filesystem +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/forward_list +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/functional +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/iterator +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/list +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/map +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/memory_resource +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/propagate_const +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/regex +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/set +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/simd +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/string +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/type_traits +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/unordered_map +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/unordered_set +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/utility +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/experimental/vector +drwxr-xr-x root/root usr/share/wasi-sysroot/include/c++/v1/ext/ +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ext/__hash +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ext/hash_map +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ext/hash_set +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/fenv.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/filesystem +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/float.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/format +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/forward_list +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/fstream +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/functional +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/future +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/initializer_list +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/inttypes.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/iomanip +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ios +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/iosfwd +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/iostream +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/istream +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/iterator +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/latch +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/limits +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/limits.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/list +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/locale +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/locale.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/map +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/math.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/memory +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/module.modulemap +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/mutex +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/new +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/numbers +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/numeric +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/optional +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ostream +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/queue +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/random +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ranges +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/ratio +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/regex +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/scoped_allocator +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/semaphore +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/set +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/setjmp.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/shared_mutex +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/span +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/sstream +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/stack +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/stdbool.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/stddef.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/stdexcept +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/stdint.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/stdio.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/stdlib.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/streambuf +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/string +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/string.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/string_view +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/strstream +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/system_error +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/tgmath.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/thread +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/tuple +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/type_traits +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/typeindex +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/typeinfo +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/unordered_map +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/unordered_set +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/utility +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/valarray +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/variant +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/vector +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/version +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/wchar.h +-rw-r--r-- root/root usr/share/wasi-sysroot/include/c++/v1/wctype.h +drwxr-xr-x root/root usr/share/wasi-sysroot/lib/ +drwxr-xr-x root/root usr/share/wasi-sysroot/lib/wasm32-wasi/ +-rw-r--r-- root/root usr/share/wasi-sysroot/lib/wasm32-wasi/libc++.a +-rw-r--r-- root/root usr/share/wasi-sysroot/lib/wasm32-wasi/libc++abi.a diff --git a/wasi-libc++/.nostrip b/wasi-libc++/.nostrip new file mode 100644 index 000000000..f29e12907 --- /dev/null +++ b/wasi-libc++/.nostrip @@ -0,0 +1 @@ +usr/share/wasi-sysroot/lib/wasm32-wasi/.*\.a diff --git a/wasi-libc++/.signature b/wasi-libc++/.signature new file mode 100644 index 000000000..df56f40ca --- /dev/null +++ b/wasi-libc++/.signature @@ -0,0 +1,9 @@ +untrusted comment: verify with /etc/ports/contrib.pub +RWSagIOpLGJF34uOKH+gIIqVXkZYOtUCxxHGN3Gki+HZRc9TFLMlZTnczvBV7Bwtj3tJZLVbLN1A7fa+hL3DEarxB5Bd9JAPDQI= +SHA256 (Pkgfile) = 4379de1a9ba5099e09afcf64f74fad06791dfe8f68b44e5a60d630c5ee2efd75 +SHA256 (.footprint) = b55ae7145f987ce4d5c395c3669b92c4d87215a5aec27c8cdcc96416efaa22a5 +SHA256 (llvm-13.0.0.src.tar.xz) = 408d11708643ea826f519ff79761fcdfc12d641a2510229eec459e72f8163020 +SHA256 (libcxx-13.0.0.src.tar.xz) = 3682f16ce33bb0a8951fc2c730af2f9b01a13b71b2b0dc1ae1e7034c7d86ca1a +SHA256 (libcxxabi-13.0.0.src.tar.xz) = becd5f1cd2c03cd6187558e9b4dc8a80b6d774ff2829fede88aa1576c5234ce3 +SHA256 (WASI.cmake) = e9e87d4781d6a999ee73a1e2c19754de01415124d0cd9746898f5ee7726dc1e1 +SHA256 (wasi-toolchain.cmake) = 52957ee81622bc22adcf0968cbb124a0595fa38e70549a355d42c6e487818edd diff --git a/wasi-libc++/Pkgfile b/wasi-libc++/Pkgfile new file mode 100644 index 000000000..2f084f25f --- /dev/null +++ b/wasi-libc++/Pkgfile @@ -0,0 +1,89 @@ +# Description: WASI libc++ implementation for WebAssembly +# URL: https://libcxx.llvm.org/ +# Maintainer: Danny Rawlins, crux at romster dot me +# Depends on: clang wasi-libc wasi-compiler-rt + +name=wasi-libc++ +version=13.0.0 +release=1 +source=(https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/llvm... + https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/libc... + https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/libc... + WASI.cmake + wasi-toolchain.cmake) + +build() { + # Platform files have been copied from https://github.com/WebAssembly/wasi-sdk + mkdir -p cmake/Platform + cp WASI.cmake cmake/Platform + mv libcxx-${version}.src libcxx + mv libcxxabi-${version}.src libcxxabi + mv llvm-${version}.src llvm + + # Build options are derived from https://github.com/WebAssembly/wasi-sdk/blob/main/Makefile + # Currently, wasi-sdk requires C++ code be compiled with -fno-exceptions. + # libc++abi is currently compiled with exception-handling support disabled. + # https://github.com/WebAssembly/wasi-sdk/issues/52#issuecomment-530619365 + cmake -S libcxx -B build-libcxx -G Ninja \ + -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_C_COMPILER_WORKS=ON \ + -D CMAKE_CXX_COMPILER_WORKS=ON \ + -D CMAKE_MODULE_PATH="$SRC/cmake" \ + -D CMAKE_TOOLCHAIN_FILE="$SRC/wasi-toolchain.cmake" \ + -D CMAKE_STAGING_PREFIX=/usr/share/wasi-sysroot \ + -D LIBCXX_ENABLE_EXCEPTIONS:BOOL=OFF \ + -D LIBCXX_ENABLE_SHARED:BOOL=OFF \ + -D LIBCXX_ENABLE_THREADS:BOOL=OFF \ + -D LIBCXX_HAS_PTHREAD_API:BOOL=OFF \ + -D LIBCXX_HAS_EXTERNAL_THREAD_API:BOOL=OFF \ + -D LIBCXX_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \ + -D LIBCXX_HAS_WIN32_THREAD_API:BOOL=OFF \ + -D LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY:BOOL=OFF \ + -D LIBCXX_ENABLE_FILESYSTEM:BOOL=OFF \ + -D LIBCXX_CXX_ABI=libcxxabi \ + -D LIBCXX_CXX_ABI_INCLUDE_PATHS=libcxxabi/include \ + -D LIBCXX_HAS_MUSL_LIBC:BOOL=ON \ + -D LIBCXX_ABI_VERSION=2 \ + -D WASI_SDK_PREFIX=/usr \ + -D CMAKE_C_FLAGS_RELEASE="-fno-exceptions --sysroot=/usr/share/wasi-sysroot" \ + -D CMAKE_CXX_FLAGS_RELEASE="-fno-exceptions --sysroot=/usr/share/wasi-sysroot" \ + -D LIBCXX_LIBDIR_SUFFIX=/wasm32-wasi + + cmake --build build-libcxx + + cmake -S libcxxabi -B build-libcxxabi -G Ninja \ + -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_C_COMPILER_WORKS=ON \ + -D CMAKE_CXX_COMPILER_WORKS=ON \ + -D CMAKE_MODULE_PATH="$SRC/cmake" \ + -D CMAKE_TOOLCHAIN_FILE="$SRC/wasi-toolchain.cmake" \ + -D CMAKE_STAGING_PREFIX=/usr/share/wasi-sysroot \ + -D LIBCXXABI_ENABLE_EXCEPTIONS:BOOL=OFF \ + -D LIBCXXABI_ENABLE_SHARED:BOOL=OFF \ + -D LIBCXXABI_ENABLE_THREADS:BOOL=OFF \ + -D LIBCXXABI_HAS_PTHREAD_API:BOOL=OFF \ + -D LIBCXXABI_HAS_EXTERNAL_THREAD_API:BOOL=OFF \ + -D LIBCXXABI_BUILD_EXTERNAL_THREAD_LIBRARY:BOOL=OFF \ + -D LIBCXXABI_HAS_WIN32_THREAD_API:BOOL=OFF \ + -D LIBCXXABI_SILENT_TERMINATE:BOOL=ON \ + -D LIBCXXABI_ENABLE_PIC:BOOL=OFF \ + -D UNIX:BOOL=ON \ + -D CXX_SUPPORTS_CXX11=ON \ + -D LIBCXXABI_LIBCXX_PATH=libcxx \ + -D LIBCXXABI_LIBCXX_INCLUDES="$SRC/build-libcxx/include/c++/v1" \ + -D WASI_SDK_PREFIX=/usr \ + -D CMAKE_C_FLAGS_RELEASE="-fno-exceptions --sysroot=/usr/share/wasi-sysroot" \ + -D CMAKE_CXX_FLAGS_RELEASE="-fno-exceptions --sysroot=/usr/share/wasi-sysroot" \ + -D LIBCXXABI_LIBDIR_SUFFIX=/wasm32-wasi + + cmake --build build-libcxxabi -v + + DESTDIR=$PKG cmake --install build-libcxx + DESTDIR=$PKG cmake --install build-libcxxabi + + cd $PKG/usr/share/wasi-sysroot/lib/wasm32-wasi + for f in *.a; do + /usr/bin/llvm-ranlib $f + /usr/bin/llvm-strip --strip-debug $f + done +} diff --git a/wasi-libc++/WASI.cmake b/wasi-libc++/WASI.cmake new file mode 100644 index 000000000..b49713f1b --- /dev/null +++ b/wasi-libc++/WASI.cmake @@ -0,0 +1 @@ +set(WASI 1) diff --git a/wasi-libc++/wasi-toolchain.cmake b/wasi-libc++/wasi-toolchain.cmake new file mode 100644 index 000000000..0920f7608 --- /dev/null +++ b/wasi-libc++/wasi-toolchain.cmake @@ -0,0 +1,29 @@ +# Cmake toolchain description file for the Makefile + +# This is arbitrary, AFAIK, for now. +cmake_minimum_required(VERSION 3.4.0) + +set(CMAKE_SYSTEM_NAME WASI) +set(CMAKE_SYSTEM_VERSION 1) +set(CMAKE_SYSTEM_PROCESSOR wasm32) +set(triple wasm32-wasi) + +if(WIN32) + set(WASI_HOST_EXE_SUFFIX ".exe") +else() + set(WASI_HOST_EXE_SUFFIX "") +endif() + +set(CMAKE_C_COMPILER ${WASI_SDK_PREFIX}/bin/clang${WASI_HOST_EXE_SUFFIX}) +set(CMAKE_CXX_COMPILER ${WASI_SDK_PREFIX}/bin/clang++${WASI_HOST_EXE_SUFFIX}) +set(CMAKE_AR ${WASI_SDK_PREFIX}/bin/llvm-ar${WASI_HOST_EXE_SUFFIX}) +set(CMAKE_RANLIB ${WASI_SDK_PREFIX}/bin/llvm-ranlib${WASI_HOST_EXE_SUFFIX}) +set(CMAKE_C_COMPILER_TARGET ${triple}) +set(CMAKE_CXX_COMPILER_TARGET ${triple}) + +# Don't look in the sysroot for executables to run during the build +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +# Only look in the sysroot (not in the host paths) for the rest +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
participants (1)
-
crux@crux.nu