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

[wasi] compile with libs.native #79046

Merged
merged 56 commits into from
Jan 7, 2023
Merged

Conversation

pavelsavara
Copy link
Member

@pavelsavara pavelsavara commented Nov 30, 2022

Contributes to #65895

  • can compile mono+libs with WASI SDK
  • can run hello world sample with wasmtime
  • lot of cmake configuration and msbuild conditions
  • lot of conditional code in src/native/libs/System.Native/*
    • because WASI doesn't have nmap, threads, termio, process, signals, uuid, random, most of sockets ...
    • the changes are not trying to be perfect, this is to make it compile
  • minor changes to mono
  • moving files in src/mono/wasi folder and src/mono/samples/wasi
  • WASI SDK & wasmtime provisioning
  • compile only CI lane

out of scope, next PRs

  • any unit tests
  • trying to polyfill the gaps in POSIX layer
  • managed libraries correct annotation and PNSE

@pavelsavara pavelsavara added arch-wasm WebAssembly architecture area-Build-mono labels Nov 30, 2022
@pavelsavara pavelsavara added this to the 8.0.0 milestone Nov 30, 2022
@pavelsavara pavelsavara requested a review from radical November 30, 2022 17:02
@pavelsavara pavelsavara self-assigned this Nov 30, 2022
@ghost
Copy link

ghost commented Nov 30, 2022

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Contributes to #65895

  • can compile mono+libs with WASI SDK
  • can run hello world sample with wasmtime
  • log of cmake configuration and msbuild conditions
  • lot of conditional code in src/native/libs/System.Native/*
    • because WASI doesn't have nmap, threads, termio, process, signals, uuid, random, most of sockets ...
  • minor changes to mono
  • moving files in src/mono/wasi folder and src/mono/samples/wasi
  • WASI SDK & wasmtime provisioning
  • compile only CI lane

out of scope, next PRs

  • any unit tests
  • trying to polyfill the gaps in POSIX layer
  • managed libraries correct annotation and PNSE
Author: pavelsavara
Assignees: pavelsavara
Labels:

arch-wasm, area-Build-mono

Milestone: 8.0.0

@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

src/libraries/System.Console/src/System/ConsolePal.Unix.cs Outdated Show resolved Hide resolved
src/mono/mono.proj Outdated Show resolved Hide resolved
src/mono/mono.proj Show resolved Hide resolved
src/mono/wasi/runtime/driver.c Outdated Show resolved Hide resolved
src/native/libs/System.Native/pal_threading.c Outdated Show resolved Hide resolved
# Conflicts:
#	eng/targetingpacks.targets
#	src/libraries/System.IO.Compression/src/CompatibilitySuppressions.xml
#	src/libraries/System.Net.Http/src/System.Net.Http.csproj
#	src/libraries/System.Net.Primitives/src/CompatibilitySuppressions.xml
#	src/mono/wasi/sample/Directory.Build.props
#	src/mono/wasi/sample/console/Makefile
#	src/mono/wasi/sample/console/WasiConsoleApp/WasiConsoleApp.csproj
#	src/mono/wasi/sample/console/main.c
@build-analysis build-analysis bot mentioned this pull request Dec 21, 2022
@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

# Conflicts:
#	src/libraries/System.Console/src/System.Console.csproj
#	src/libraries/System.IO.Compression/src/System.IO.Compression.csproj
#	src/libraries/System.Net.Http/src/System.Net.Http.csproj
#	src/libraries/System.Net.Primitives/src/System.Net.Primitives.csproj
@radical
Copy link
Member

radical commented Jan 3, 2023

Any remaining feedback here?

@pavelsavara pavelsavara changed the title [draft][wasi] compile with libs.native [wasi] compile with libs.native Jan 3, 2023
@vargaz
Copy link
Contributor

vargaz commented Jan 3, 2023

The mono changes look ok to me.

@radical
Copy link
Member

radical commented Jan 3, 2023

The WASI changes are WIP right now, and there is follow up work for that. As long as the non-wasi-specific changes are fine, we should merge this.

# Conflicts:
#	src/mono/System.Private.CoreLib/System.Private.CoreLib.csproj
#	src/mono/mono.proj
@pavelsavara
Copy link
Member Author

/azp run runtime-wasm

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pavelsavara pavelsavara merged commit f08d13f into dotnet:main Jan 7, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Feb 6, 2023
@pavelsavara pavelsavara deleted the wasi_native_prep branch September 2, 2024 15:29
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Build-mono
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants