-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.arch-wasmWebAssembly architectureWebAssembly architecturearea-Codegen-AOT-monoos-androidos-iosApple iOSApple iOS
Milestone
Description
As a native developer targeting Android, iOS, or wasm, I would like to use a shared library containing custom managed code plus the mono runtime so that I can call into managed functions from my native application. The library should take the same approach as NativeAOT, only exporting the symbols from managed functions decorated with [UnmanagedCallersOnly(EntryPoint = "")].
- Run basic functional test loading two libraries in the same app (iOS & Android)
- Modify aot compiler to generate exports file with symbols for all
[UnmanagedCallersOnly(EntryPoint = "")]
[mono] Export unmanagedcallersonly method symbols #79424 ✅ - Create a library builder msbuild task that produces a cmake file to build / link the library
[android][ios] Add LibraryBuilder task to support aot library mode #81919 ✅ - Auto initialize and start the runtime when function is called from native code
[Mono]: Add support for lazy runtime init in native-to-managed wrapper, similar to NativeAOT library build. #82253 ✅
[tasks] Add auto runtime initialization template to LibraryBuilder #83050 ✅ - Extend direct-pinvoke support by accepting a list of functions & what static libraries to link
[mono] Introduce designated direct pinvokes to mono aot compiler #79721 ✅ - Add workload so that customers can install and use the feature
- Bundle assets within the shared library to make it truly self-contained [mono][tasks] Extract EmitWasmBundle into generic EmitBundle task and enable bundling in mono self-contained library #84191
- Handle illink for library mode builds (preserve UnmanagedCallersOnly methods)
- Add functional test for library mode
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
User StoryA single user-facing feature. Can be grouped under an epic.A single user-facing feature. Can be grouped under an epic.arch-wasmWebAssembly architectureWebAssembly architecturearea-Codegen-AOT-monoos-androidos-iosApple iOSApple iOS