-
Notifications
You must be signed in to change notification settings - Fork 10
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
Implement WASI file functions and improve WASI structure #160
Conversation
007eb16
to
b2295da
Compare
This pr tries to directly solve issue #133. |
841b5d0
to
e0c4e25
Compare
4ce29c4
to
229aef0
Compare
98b6d82
to
d4b9f79
Compare
4cf5bc7
to
bf95b3e
Compare
This patch introduces a new class |
@clover2123 @ksh8281 Looks like the std c++17 libraries that I used are missing in c++11 but are present (in the experimental library) in c++ 14. I would like to ask you for help on how to fix this, I could think of two options: I am open to any other suggestions too. |
To support various platforms, we lowered the default version of language and build option as to c++11. |
bf95b3e
to
f72e4fe
Compare
Including Boost to work with Walrus proved to be highly difficult. There are various problems, starting with that it is not recommended to build Boost with Cmake, instead it is prefered to build it's own engine, called Other solutions I can think of instead of Boost are:
Wabt wasi is highly experiemental and needs to be worked on. Of course I am open to any other ideas. |
wabt engine currently uses |
I think it is okay. I will see if I can implement it in Walrus and I will keep you updated on the process! |
d222b2d
to
633532d
Compare
I have implemented uvwasi into Walrus. Some tests were failling, especially on armv7 and aarch64, because uvwasi uses libuv, which is downloaded via git, so I added it to those builds (others did not fail because of this). I will look into fixing the test problem on windows-x86-64 and update the patch once its done. |
What about including |
It is not an issue, I will be working on that then. |
187a895
to
ff49b21
Compare
After addig |
ff49b21
to
642e13d
Compare
Windows problems are fixed, it was a problem with msvc and templates. I will start fixing macos problems. |
a6fb8fc
to
eb42799
Compare
Macos problems were caused by cmake not fetching uvwasi's dependency |
697191a
to
2a68017
Compare
2a68017
to
12063a5
Compare
I have rebased the patch to main branch and updated it with the suggested changes. |
build/wasi.cmake
Outdated
add_library(coverage_config INTERFACE) | ||
|
||
option(CODE_COVERAGE "Enable coverage reporting" OFF) | ||
if(CODE_COVERAGE AND CMAKE_C_COMPILER_ID MATCHES "AppleClang|GNU|Clang") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you simplify this wasi.cmake
file?
For example, we currently don't need any test or analysis about wasi, so we can remove coverage, asan and test build etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other looks fine to me :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have simplified wasi.cmake
significantly, but left in the debug logging option, beacuse it may come usefull during development, though set it OFF initially. Anything other than that that is not crucial is removed.
Introduce uvwasi into the build system. Fix build issues with libuv integration. Introduce class WasiFunction to enable WASI to acces Instance resources. Implement further WASI types and fd_write function. Signed-off-by: Adam Laszlo Kulcsar <[email protected]>
12063a5
to
d88d4e7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Introduce class WasiFunction to enable WASI to acces Instance resources. Implement WASI types and path_open and fd_close functions.