* fix wasi_core wrong constants
* small windows (mingw) fixes
* small debug (commented) code fixes
* bonus: fix iOS build
* replace wasi_core with updated wasi-libc generated header
* small hacks to fix C++ ci build
Notable changes:
- The uvwasi_preopen_t now uses const char* for the mapped_path
and real_path fields. Previously, these were not const.
- uvwasi_path_filestat_get() now properly handles the
UVWASI_LOOKUP_SYMLINK_FOLLOW flag.
- uvwasi_options_init() has been added to reduce the boilerplate
code associated with initializing uvwasi_options_t's.
- The DEBUG() macro has been renamed to UVWASI_DEBUG() to reduce
naming conflicts with other projects.
- The uvwasi_fd_filestat_set_times() and
uvwasi_path_filestat_set_times() functions now have proper
implementations.
- Several issues have been addressed in uvwasi_fd_readdir().
A bug in the copying of the directory entry's name has been
fixed. The function now returns UVWASI_ENOSYS on Windows and
Android. Serdes support has been added for uvwasi_dirent_t's.
- The libuv dependency has been updated to v1.39.0.
Notable changes:
- A `DEBUG()` macro and `UVWASI_DEBUG_LOG` build option have been
added to improve debugging.
- Path length restrictions have been removed across the codebase.
- Initial support for `poll_oneoff()` has been added on all
platforms. The implementation is based on `uv_poll_t`'s.
- A new `uvwasi_size_t` has been introduced across the WASI system
call API. This provides consistent 32-bit `size_t`'s.
- The cmake test targets are now only generated if uvwasi is the
root project to avoid conflicts with targets from embedders.
- `uv.h` has been removed from the public headers.
- A serialization/deserialization API has been added to simplify
the process of working with WASM memory. This also hides many
WASI <--> WASM interfacing implementation details from
embedders.
- A memory corruption bug on Windows related to path resolution
has been fixed.
* update uvwasi to version 0.0.8
This release focuses on improving the robustness of the path
resolution and sandboxing, including support for relative
preopen paths.
Also remove the ${} around the uvwasi version, which was a
mistake. The result was that the latest master was always
installed.
* test: update wasi suite to test relative paths
This commit makes sure that both absolute and relative paths get
some test coverage.
* test: use uvwasi on alpine
Run the WASI tests on Alpine using uvwasi. This requires
installing git as well.
* m3_config_platforms: esp32: make the dependency on esp_system optional
If the application places wasm3 into IRAM using the linker script,
it can define M3_IN_IRAM flag. In this case we don't need to pull in
the dependency on IDF-specific header file into m3.
* cmake: make the source directory useable as a CMake library
Also replace globbing with an explicit list of files, following CMake
best practices.
* platforms/esp32-idf: link m3 as a static library
* platforms/esp32-pio: wrap the wasm3 code into a "PIO library"