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 3 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
2 changes: 1 addition & 1 deletion ports/boost-locale/CONTROL
@@ -1,7 +1,7 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Source: boost-locale
Version: 1.73.0
Port-Version: 1
Port-Version: 2
Build-Depends: boost-assert, boost-build, boost-config, boost-function, boost-integer, boost-iterator, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-system, boost-thread, boost-type-traits, boost-unordered, boost-vcpkg-helpers, libiconv (!uwp&!windows)
Homepage: https://github.com/boostorg/locale
Description: Boost locale module
Expand Down
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
4 changes: 2 additions & 2 deletions ports/boost/CONTROL
@@ -1,10 +1,10 @@
# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is correct: this file is supposed to be generated but there are no changes to the generator here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used generate-ports.ps1 now, but it's a bit uncharted territory for me.

Source: boost
Version: 1.73.0
Port-Version: 3
Port-Version: 4
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