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

Conversation

stoperro
Copy link
Contributor

@stoperro stoperro commented Oct 18, 2020

This PR allows for boost:wasm32-emscripten compilation.
While most of Boost compiles already with Emscripten (wow!), few modules didn't, like boost-locale, boost-asio, boost-coroutine, etc.
Did some hacky fixes to enable boost-locale compilation, and disabled dependency of boost to the other modules that don't yet work.

Thanks to PR, these commands should work:

vcpkg install boost-build:x86-windows
vcpkg install boost:wasm32-emscripten

Note: this isn't probably the way yet, as seems that Boost allows for toolset=emscripten compilation (though, throwing cryptic Boost Jam/B2 errors when trying this from vcpkg), and this PR doesn't try to change currently used toolset=gcc.

Copy link
Contributor

@PhoebeHui PhoebeHui left a comment

Choose a reason for hiding this comment

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

Could you also update Port-Version in boost-locale CONTROL file?

From Port-Version: 1 to Port-Version: 2

ports/boost/CONTROL Outdated Show resolved Hide resolved
@PhoebeHui PhoebeHui added category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist requires:author-response labels Oct 19, 2020
@PhoebeHui PhoebeHui added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Oct 20, 2020
@@ -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.

Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

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

Changes to the generator are missing.

@BillyONeal BillyONeal added requires:author-response and removed info:reviewed Pull Request changes follow basic guidelines labels Oct 20, 2020
}

$per_port_data = @{
"fiber" = @{ "supports" = "windows&!uwp&!arm" };
Copy link
Contributor Author

Choose a reason for hiding this comment

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

note: "fiber" had "windows" instead of "!osx" here, while portfile had "!osx". Seems to compile at least on x64-linux though. Changed to !osx, as this is what users experience - as presume most users will just use CONTROL, not the .ps1 script.

Copy link
Member

Choose a reason for hiding this comment

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

Yeah we probably inappropriately merged changes without the corresponding changes to the generator. :(

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Happens to the best of us :P
Are PR changes ok now?

@BillyONeal BillyONeal added the info:reviewed Pull Request changes follow basic guidelines label Oct 28, 2020
@BillyONeal
Copy link
Member

The gmp failure is in the baseline, so merging this anyway. Thanks for your contribution!

@BillyONeal BillyONeal merged commit 318a8ad into microsoft:master Oct 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants