-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
ivanpovazan, filipnavara, ceztko, maxkatz6, neikeq and 22 moreiamcarbon and dmitryuckbenjaminmurray, iamcarbon, dmitryuck, domportera and Kezzocuong0993jpflueger, Karfroth and cuong0993
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