pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/wasi-libcxx wasi-libcxx: Fix build



details:   https://anonhg.NetBSD.org/pkgsrc/rev/41dbcab3a741
branches:  trunk
changeset: 383161:41dbcab3a741
user:      ryoon <ryoon%pkgsrc.org@localhost>
date:      Sat Aug 13 12:42:45 2022 +0000

description:
wasi-libcxx: Fix build

I have no idea how to generate __config_site file and include it.
This patch is obviously wrong, however it fixes wasi-libcxx-14.0.6b build.

diffstat:

 lang/wasi-libcxx/Makefile                                    |   22 +-
 lang/wasi-libcxx/PLIST                                       |  165 ++++++++++-
 lang/wasi-libcxx/distinfo                                    |    3 +-
 lang/wasi-libcxx/patches/patch-libcxx_include_CMakeLists.txt |   18 +
 4 files changed, 191 insertions(+), 17 deletions(-)

diffs (truncated from 404 to 300 lines):

diff -r 49339b340ae5 -r 41dbcab3a741 lang/wasi-libcxx/Makefile
--- a/lang/wasi-libcxx/Makefile Sat Aug 13 12:30:09 2022 +0000
+++ b/lang/wasi-libcxx/Makefile Sat Aug 13 12:42:45 2022 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.12 2022/08/13 09:56:45 tnn Exp $
+# $NetBSD: Makefile,v 1.13 2022/08/13 12:42:45 ryoon Exp $
 
 .include "../../lang/llvm/version.mk"
 
@@ -11,6 +11,8 @@
 COMMENT=       C++ Standard Librares (libc++/libc++abi) for WASI/WebAssembly
 LICENSE=       apache-2.0
 
+WRKSRC=                ${WRKDIR}
+
 # libcxx requires libcxxabi's cxxabi.h to build, but libcxxabi requires
 # libcxx's includes to build, so we have this unholy extra distfiles thing
 # in both of them to get them to build against each other without causing
@@ -31,8 +33,8 @@
 BUILDLINK_TRANSFORM+=  rm:-I/usr/include
 BUILDLINK_TRANSFORM+=  rm:-I${PREFIX}/include
 
-BUILD_DIRS+=           ../build_libcxx
-BUILD_DIRS+=           ../build_libcxxabi
+BUILD_DIRS+=           build_libcxx
+BUILD_DIRS+=           build_libcxxabi
 INSTALL_DIRS+=         ${BUILD_DIRS}
 
 USE_LANGUAGES= c c++
@@ -46,8 +48,8 @@
 CMAKE_ARGS+=   -DCMAKE_BUILD_TYPE=Release
 CMAKE_ARGS+=   -DCMAKE_C_COMPILER=${CC:Q}
 CMAKE_ARGS+=   -DCMAKE_CXX_COMPILER=${CXX:Q}
-CMAKE_ARGS+=   -DLIBCXXABI_LIBCXX_INCLUDES=${WRKDIR}/${LIBCXX}/include
-CMAKE_ARGS+=   -DLIBCXXABI_USE_LLVM_UNWINDER=ON
+CMAKE_ARGS+=   -DLIBCXXABI_LIBCXX_INCLUDES=${WRKDIR}/libcxx/include
+CMAKE_ARGS+=   -DLIBCXXABI_USE_LLVM_UNWINDER=OFF
 CMAKE_ARGS+=   -DCMAKE_C_COMPILER_WORKS=1
 CMAKE_ARGS+=   -DCMAKE_CXX_COMPILER_WORKS=1
 CMAKE_ARGS+=   -DCXX_SUPPORTS_CXX11=ON
@@ -143,8 +145,10 @@
 CMAKE_ARGS+=   -DLIBCXXABI_SUPPORTS_PEDANTIC_FLAG:BOOL=ON
 CMAKE_ARGS+=   -DLIBCXXABI_SUPPORTS_FSTRICT_ALIASING_FLAG:BOOL=ON
 CMAKE_ARGS+=   -DCMAKE_CXX_LINK_FLAGS=${LDFLAGS:Q}
+CMAKE_ARGS+=   -DCMAKE_C_FLAGS=-fno-exceptions
+CMAKE_ARGS+=   -DCMAKE_CXX_FLAGS=-fno-exceptions
 CMAKE_ARGS+=   -DLIBCXX_CXX_ABI=libcxxabi
-CMAKE_ARGS+=   -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${WRKDIR}/${DISTNAME}/include
+CMAKE_ARGS+=   -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${WRKDIR}/libcxxabi/include
 
 CMAKE_INSTALL_PREFIX=  ${PREFIX}/wasi
 
@@ -157,14 +161,12 @@
        ${LN} -f -s ${WRKDIR}/${DISTNAME} ${WRKDIR}/libcxxabi
        ${LN} -f -s ${WRKDIR}/${LIBCXX} ${WRKDIR}/libcxx
        ${LN} -f -s ${WRKDIR}/${LLVMDIST} ${WRKDIR}/llvm
-# TODO: not sure what should create this and with which contents
-       ${TOUCH} ${WRKDIR}/${LIBCXX}/include/__config_site
 
 do-configure:
-       cd ${WRKSRC} && cd ../build_libcxx && \
+       cd ${WRKSRC} && cd build_libcxx && \
        ${PKGSRC_SETENV} ${_CONFIGURE_CMAKE_ENV} \
                cmake ${CMAKE_ARGS} ../libcxx
-       cd ${WRKSRC} && cd ../build_libcxxabi && \
+       cd ${WRKSRC} && cd build_libcxxabi && \
        ${PKGSRC_SETENV} ${_CONFIGURE_CMAKE_ENV} \
                cmake ${CMAKE_ARGS} ../libcxxabi
 
diff -r 49339b340ae5 -r 41dbcab3a741 lang/wasi-libcxx/PLIST
--- a/lang/wasi-libcxx/PLIST    Sat Aug 13 12:30:09 2022 +0000
+++ b/lang/wasi-libcxx/PLIST    Sat Aug 13 12:42:45 2022 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2021/12/19 14:12:20 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.2 2022/08/13 12:42:45 ryoon Exp $
 wasi/include/c++/v1/__algorithm/adjacent_find.h
 wasi/include/c++/v1/__algorithm/all_of.h
 wasi/include/c++/v1/__algorithm/any_of.h
@@ -26,6 +26,9 @@
 wasi/include/c++/v1/__algorithm/generate.h
 wasi/include/c++/v1/__algorithm/generate_n.h
 wasi/include/c++/v1/__algorithm/half_positive.h
+wasi/include/c++/v1/__algorithm/in_in_out_result.h
+wasi/include/c++/v1/__algorithm/in_in_result.h
+wasi/include/c++/v1/__algorithm/in_out_result.h
 wasi/include/c++/v1/__algorithm/includes.h
 wasi/include/c++/v1/__algorithm/inplace_merge.h
 wasi/include/c++/v1/__algorithm/is_heap.h
@@ -93,24 +96,108 @@
 wasi/include/c++/v1/__algorithm/unwrap_iter.h
 wasi/include/c++/v1/__algorithm/upper_bound.h
 wasi/include/c++/v1/__availability
+wasi/include/c++/v1/__bit/bit_cast.h
+wasi/include/c++/v1/__bit/byteswap.h
 wasi/include/c++/v1/__bit_reference
 wasi/include/c++/v1/__bits
 wasi/include/c++/v1/__bsd_locale_defaults.h
 wasi/include/c++/v1/__bsd_locale_fallbacks.h
+wasi/include/c++/v1/__charconv/chars_format.h
+wasi/include/c++/v1/__charconv/from_chars_result.h
+wasi/include/c++/v1/__charconv/to_chars_result.h
+wasi/include/c++/v1/__chrono/calendar.h
+wasi/include/c++/v1/__chrono/convert_to_timespec.h
+wasi/include/c++/v1/__chrono/duration.h
+wasi/include/c++/v1/__chrono/file_clock.h
+wasi/include/c++/v1/__chrono/high_resolution_clock.h
+wasi/include/c++/v1/__chrono/steady_clock.h
+wasi/include/c++/v1/__chrono/system_clock.h
+wasi/include/c++/v1/__chrono/time_point.h
+wasi/include/c++/v1/__compare/common_comparison_category.h
+wasi/include/c++/v1/__compare/compare_partial_order_fallback.h
+wasi/include/c++/v1/__compare/compare_strong_order_fallback.h
+wasi/include/c++/v1/__compare/compare_three_way.h
+wasi/include/c++/v1/__compare/compare_three_way_result.h
+wasi/include/c++/v1/__compare/compare_weak_order_fallback.h
+wasi/include/c++/v1/__compare/is_eq.h
+wasi/include/c++/v1/__compare/ordering.h
+wasi/include/c++/v1/__compare/partial_order.h
+wasi/include/c++/v1/__compare/strong_order.h
+wasi/include/c++/v1/__compare/synth_three_way.h
+wasi/include/c++/v1/__compare/three_way_comparable.h
+wasi/include/c++/v1/__compare/weak_order.h
+wasi/include/c++/v1/__concepts/arithmetic.h
+wasi/include/c++/v1/__concepts/assignable.h
+wasi/include/c++/v1/__concepts/boolean_testable.h
+wasi/include/c++/v1/__concepts/class_or_enum.h
+wasi/include/c++/v1/__concepts/common_reference_with.h
+wasi/include/c++/v1/__concepts/common_with.h
+wasi/include/c++/v1/__concepts/constructible.h
+wasi/include/c++/v1/__concepts/convertible_to.h
+wasi/include/c++/v1/__concepts/copyable.h
+wasi/include/c++/v1/__concepts/derived_from.h
+wasi/include/c++/v1/__concepts/destructible.h
+wasi/include/c++/v1/__concepts/different_from.h
+wasi/include/c++/v1/__concepts/equality_comparable.h
+wasi/include/c++/v1/__concepts/invocable.h
+wasi/include/c++/v1/__concepts/movable.h
+wasi/include/c++/v1/__concepts/predicate.h
+wasi/include/c++/v1/__concepts/regular.h
+wasi/include/c++/v1/__concepts/relation.h
+wasi/include/c++/v1/__concepts/same_as.h
+wasi/include/c++/v1/__concepts/semiregular.h
+wasi/include/c++/v1/__concepts/swappable.h
+wasi/include/c++/v1/__concepts/totally_ordered.h
 wasi/include/c++/v1/__config
 wasi/include/c++/v1/__config_site
+wasi/include/c++/v1/__coroutine/coroutine_handle.h
+wasi/include/c++/v1/__coroutine/coroutine_traits.h
+wasi/include/c++/v1/__coroutine/noop_coroutine_handle.h
+wasi/include/c++/v1/__coroutine/trivial_awaitables.h
 wasi/include/c++/v1/__cxxabi_config.h
 wasi/include/c++/v1/__debug
 wasi/include/c++/v1/__errc
+wasi/include/c++/v1/__filesystem/copy_options.h
+wasi/include/c++/v1/__filesystem/directory_entry.h
+wasi/include/c++/v1/__filesystem/directory_iterator.h
+wasi/include/c++/v1/__filesystem/directory_options.h
+wasi/include/c++/v1/__filesystem/file_status.h
+wasi/include/c++/v1/__filesystem/file_time_type.h
+wasi/include/c++/v1/__filesystem/file_type.h
+wasi/include/c++/v1/__filesystem/filesystem_error.h
+wasi/include/c++/v1/__filesystem/operations.h
+wasi/include/c++/v1/__filesystem/path.h
+wasi/include/c++/v1/__filesystem/path_iterator.h
+wasi/include/c++/v1/__filesystem/perm_options.h
+wasi/include/c++/v1/__filesystem/perms.h
+wasi/include/c++/v1/__filesystem/recursive_directory_iterator.h
+wasi/include/c++/v1/__filesystem/space_info.h
+wasi/include/c++/v1/__filesystem/u8path.h
+wasi/include/c++/v1/__format/format_arg.h
+wasi/include/c++/v1/__format/format_args.h
+wasi/include/c++/v1/__format/format_context.h
 wasi/include/c++/v1/__format/format_error.h
+wasi/include/c++/v1/__format/format_fwd.h
 wasi/include/c++/v1/__format/format_parse_context.h
-wasi/include/c++/v1/__function_like.h
+wasi/include/c++/v1/__format/format_string.h
+wasi/include/c++/v1/__format/format_to_n_result.h
+wasi/include/c++/v1/__format/formatter.h
+wasi/include/c++/v1/__format/formatter_bool.h
+wasi/include/c++/v1/__format/formatter_char.h
+wasi/include/c++/v1/__format/formatter_floating_point.h
+wasi/include/c++/v1/__format/formatter_integer.h
+wasi/include/c++/v1/__format/formatter_integral.h
+wasi/include/c++/v1/__format/formatter_pointer.h
+wasi/include/c++/v1/__format/formatter_string.h
+wasi/include/c++/v1/__format/parser_std_format_spec.h
 wasi/include/c++/v1/__functional/binary_function.h
 wasi/include/c++/v1/__functional/binary_negate.h
 wasi/include/c++/v1/__functional/bind.h
+wasi/include/c++/v1/__functional/bind_back.h
 wasi/include/c++/v1/__functional/bind_front.h
 wasi/include/c++/v1/__functional/binder1st.h
 wasi/include/c++/v1/__functional/binder2nd.h
+wasi/include/c++/v1/__functional/compose.h
 wasi/include/c++/v1/__functional/default_searcher.h
 wasi/include/c++/v1/__functional/function.h
 wasi/include/c++/v1/__functional/hash.h
@@ -145,6 +232,7 @@
 wasi/include/c++/v1/__iterator/erase_if_container.h
 wasi/include/c++/v1/__iterator/front_insert_iterator.h
 wasi/include/c++/v1/__iterator/incrementable_traits.h
+wasi/include/c++/v1/__iterator/indirectly_comparable.h
 wasi/include/c++/v1/__iterator/insert_iterator.h
 wasi/include/c++/v1/__iterator/istream_iterator.h
 wasi/include/c++/v1/__iterator/istreambuf_iterator.h
@@ -162,9 +250,11 @@
 wasi/include/c++/v1/__iterator/reverse_access.h
 wasi/include/c++/v1/__iterator/reverse_iterator.h
 wasi/include/c++/v1/__iterator/size.h
+wasi/include/c++/v1/__iterator/unreachable_sentinel.h
 wasi/include/c++/v1/__iterator/wrap_iter.h
 wasi/include/c++/v1/__libcpp_version
 wasi/include/c++/v1/__locale
+wasi/include/c++/v1/__mbstate_t.h
 wasi/include/c++/v1/__memory/addressof.h
 wasi/include/c++/v1/__memory/allocation_guard.h
 wasi/include/c++/v1/__memory/allocator.h
@@ -172,24 +262,76 @@
 wasi/include/c++/v1/__memory/allocator_traits.h
 wasi/include/c++/v1/__memory/auto_ptr.h
 wasi/include/c++/v1/__memory/compressed_pair.h
+wasi/include/c++/v1/__memory/concepts.h
 wasi/include/c++/v1/__memory/construct_at.h
-wasi/include/c++/v1/__memory/pointer_safety.h
 wasi/include/c++/v1/__memory/pointer_traits.h
+wasi/include/c++/v1/__memory/ranges_construct_at.h
+wasi/include/c++/v1/__memory/ranges_uninitialized_algorithms.h
 wasi/include/c++/v1/__memory/raw_storage_iterator.h
 wasi/include/c++/v1/__memory/shared_ptr.h
 wasi/include/c++/v1/__memory/temporary_buffer.h
 wasi/include/c++/v1/__memory/uninitialized_algorithms.h
 wasi/include/c++/v1/__memory/unique_ptr.h
 wasi/include/c++/v1/__memory/uses_allocator.h
+wasi/include/c++/v1/__memory/voidify.h
 wasi/include/c++/v1/__mutex_base
 wasi/include/c++/v1/__node_handle
 wasi/include/c++/v1/__nullptr
+wasi/include/c++/v1/__numeric/accumulate.h
+wasi/include/c++/v1/__numeric/adjacent_difference.h
+wasi/include/c++/v1/__numeric/exclusive_scan.h
+wasi/include/c++/v1/__numeric/gcd_lcm.h
+wasi/include/c++/v1/__numeric/inclusive_scan.h
+wasi/include/c++/v1/__numeric/inner_product.h
+wasi/include/c++/v1/__numeric/iota.h
+wasi/include/c++/v1/__numeric/midpoint.h
+wasi/include/c++/v1/__numeric/partial_sum.h
+wasi/include/c++/v1/__numeric/reduce.h
+wasi/include/c++/v1/__numeric/transform_exclusive_scan.h
+wasi/include/c++/v1/__numeric/transform_inclusive_scan.h
+wasi/include/c++/v1/__numeric/transform_reduce.h
+wasi/include/c++/v1/__random/bernoulli_distribution.h
+wasi/include/c++/v1/__random/binomial_distribution.h
+wasi/include/c++/v1/__random/cauchy_distribution.h
+wasi/include/c++/v1/__random/chi_squared_distribution.h
+wasi/include/c++/v1/__random/clamp_to_integral.h
+wasi/include/c++/v1/__random/default_random_engine.h
+wasi/include/c++/v1/__random/discard_block_engine.h
+wasi/include/c++/v1/__random/discrete_distribution.h
+wasi/include/c++/v1/__random/exponential_distribution.h
+wasi/include/c++/v1/__random/extreme_value_distribution.h
+wasi/include/c++/v1/__random/fisher_f_distribution.h
+wasi/include/c++/v1/__random/gamma_distribution.h
+wasi/include/c++/v1/__random/generate_canonical.h
+wasi/include/c++/v1/__random/geometric_distribution.h
+wasi/include/c++/v1/__random/independent_bits_engine.h
+wasi/include/c++/v1/__random/is_seed_sequence.h
+wasi/include/c++/v1/__random/knuth_b.h
+wasi/include/c++/v1/__random/linear_congruential_engine.h
+wasi/include/c++/v1/__random/log2.h
+wasi/include/c++/v1/__random/lognormal_distribution.h
+wasi/include/c++/v1/__random/mersenne_twister_engine.h
+wasi/include/c++/v1/__random/negative_binomial_distribution.h
+wasi/include/c++/v1/__random/normal_distribution.h
+wasi/include/c++/v1/__random/piecewise_constant_distribution.h
+wasi/include/c++/v1/__random/piecewise_linear_distribution.h
+wasi/include/c++/v1/__random/poisson_distribution.h
+wasi/include/c++/v1/__random/random_device.h
+wasi/include/c++/v1/__random/ranlux.h
+wasi/include/c++/v1/__random/seed_seq.h
+wasi/include/c++/v1/__random/shuffle_order_engine.h
+wasi/include/c++/v1/__random/student_t_distribution.h
+wasi/include/c++/v1/__random/subtract_with_carry_engine.h
 wasi/include/c++/v1/__random/uniform_int_distribution.h
+wasi/include/c++/v1/__random/uniform_random_bit_generator.h
+wasi/include/c++/v1/__random/uniform_real_distribution.h
+wasi/include/c++/v1/__random/weibull_distribution.h
 wasi/include/c++/v1/__ranges/access.h
 wasi/include/c++/v1/__ranges/all.h
 wasi/include/c++/v1/__ranges/common_view.h
 wasi/include/c++/v1/__ranges/concepts.h
 wasi/include/c++/v1/__ranges/copyable_box.h
+wasi/include/c++/v1/__ranges/counted.h
 wasi/include/c++/v1/__ranges/dangling.h
 wasi/include/c++/v1/__ranges/data.h
 wasi/include/c++/v1/__ranges/drop_view.h
@@ -197,12 +339,20 @@
 wasi/include/c++/v1/__ranges/empty_view.h
 wasi/include/c++/v1/__ranges/enable_borrowed_range.h
 wasi/include/c++/v1/__ranges/enable_view.h



Home | Main Index | Thread Index | Old Index