Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[boost] Enable Boost building with wasm32-emscripten #14102

Merged
merged 7 commits into from Oct 28, 2020
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
24 changes: 24 additions & 0 deletions ports/boost-locale/allow-force-finding-iconv.patch
@@ -0,0 +1,24 @@
diff --git a/libs/locale/build/Jamfile.v2 b/libs/locale/build/Jamfile.v2
index 88a8cb1..e6a6b7f 100644
--- a/build/Jamfile.v2
+++ b/build/Jamfile.v2
@@ -17,6 +17,7 @@ import feature ;
# Features

feature.feature boost.locale.iconv : on off : optional propagated ;
+feature.feature boost.locale.force-found-iconv : on off : optional propagated ;
feature.feature boost.locale.icu : on off : optional propagated ;
feature.feature boost.locale.posix : on off : optional propagated ;
feature.feature boost.locale.std : on off : optional propagated ;
@@ -164,6 +164,11 @@ local flags-result ;

local found-iconv ;

+ if <boost.locale.force-found-iconv>on in $(properties)
+ {
+ found-iconv = true ;
+ }
+
if <boost.locale.iconv>on in $(properties)
|| ! <boost.locale.iconv> in $(properties:G)
&& ! <target-os>solaris in $(properties)
7 changes: 6 additions & 1 deletion ports/boost-locale/b2-options.cmake
Expand Up @@ -22,4 +22,9 @@ else()
boost.locale.icu=off
-sICONV_PATH=${LIBICONV_DIR}
)
endif()
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32")
list(APPEND B2_OPTIONS
boost.locale.force-found-iconv=on
)
endif()
endif()
2 changes: 1 addition & 1 deletion ports/boost-locale/portfile.cmake
Expand Up @@ -6,7 +6,7 @@ vcpkg_from_github(
REF boost-1.73.0
SHA512 0af88d8db7b18395a2b3668bcb51a5f32cd0de9acb9633572c2fb7edcdf06f354802392606394cf75ec4fd4d9cfe5c96351db766e55f8ef30f746b0a7017ad1f
HEAD_REF master
PATCHES 0001-Fix-boost-ICU-support.patch
PATCHES "0001-Fix-boost-ICU-support.patch" "allow-force-finding-iconv.patch"
)

include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)
Expand Down
2 changes: 1 addition & 1 deletion ports/boost/CONTROL
Expand Up @@ -4,7 +4,7 @@ Version: 1.73.0
Port-Version: 3
stoperro marked this conversation as resolved.
Show resolved Hide resolved
Homepage: https://boost.org
Description: Peer-reviewed portable C++ source libraries
Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-context (!uwp), boost-contract, boost-conversion, boost-convert, boost-core, boost-coroutine (!arm&!uwp), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (!osx&!uwp&!arm), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-histogram, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp), boost-local-function, boost-lockfree, boost-log (!uwp), boost-logic, boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-nowide, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-optional, boost-outcome, boost-parameter, boost-parameter-python, boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options, boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (!uwp&!(arm&windows)), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-scope-exit, boost-serialization, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert, boost-static-string, boost-system, boost-test (!uwp), boost-thread, boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure, boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-variant2, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive, boost-yap
Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio (!emscripten), boost-assert, boost-assign, boost-atomic, boost-beast (!emscripten), boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-context (!uwp&!emscripten), boost-contract, boost-conversion, boost-convert, boost-core, boost-coroutine (!arm&!uwp&!emscripten), boost-coroutine2 (!emscripten), boost-crc, boost-date-time, boost-detail, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (!osx&!uwp&!arm&!emscripten), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-histogram, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp), boost-local-function, boost-lockfree, boost-log (!uwp&!emscripten), boost-logic, boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-nowide, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-optional, boost-outcome, boost-parameter, boost-parameter-python (!emscripten), boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process (!emscripten), boost-program-options, boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (!uwp&!(arm&windows)&!emscripten), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-scope-exit, boost-serialization, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert, boost-static-string, boost-system, boost-test (!uwp), boost-thread, boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure, boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-variant2, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive, boost-yap


Feature: mpi
Expand Down