Skip to content

Commit c84523b

Browse files
authored
docs: Adjust upgrade and native deps
1 parent 33cab56 commit c84523b

File tree

3 files changed

+25
-26
lines changed

3 files changed

+25
-26
lines changed

doc/features-additional-files.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,5 +58,4 @@ Exclusions:
5858

5959
Asset files: `wwwroot/uno-assets.txt` contains the package relative paths of the content files that were copied to the `wwwroot` folder. It can be used to identify which assets are packaged with the application at runtime and avoid costly probing operations. Important: Will only contain files deployed in `UnoDeploy="Package"` mode.
6060

61-
A few files extensions are excluded (`UnoDeploy="None")`by default such as `*.a`, `*.bc`.
62-
`.html` files are those named `web.config` will default to `UnoDeploy="Root"`.
61+
A few files extensions are excluded (`UnoDeploy="None")`by default such as `*.a`, `*.o`. `.html` files are those named `web.config` will default to `UnoDeploy="Root"`.

doc/features-module-linking.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ uid: UnoWasmBootstrap.ModuleLinking
66

77
## Static Linking overview
88

9-
Statically linking Emscripten LLVM Bitcode (`.bc` and `.a` files) files to mono is supported on both Windows 10 and Linux. To build on Windows please refer to the AOT environment setup instructions.
9+
Statically linking Emscripten LLVM Bitcode (`.o` and `.a` files) files to mono is supported on both Windows 10 and Linux. To build on Windows please refer to the AOT environment setup instructions.
1010

11-
This linking type embeds the `.bc` or `.a` files with the rest of the WebAssembly modules, and uses _normal_ webassembly function invocations that are faster than with dynamic linking.
11+
This linking type embeds the `.o` or `.a` files with the rest of the WebAssembly modules, and uses _normal_ webassembly function invocations that are faster than with dynamic linking.
1212

13-
Any `.bc` or `.a` file placed as `content` in the built project will be statically linked to the currently running application.
13+
Any `.o` or `.a` file placed as `content` in the built project will be statically linked to the currently running application.
1414

15-
This allowing for p/invoke to be functional when resolving methods from the loaded module. If you have a `.bc` or a `.a` file you don't want to be include in the linking, you may add the `UnoAotCompile="false"` metadata that way:
15+
This allowing for p/invoke to be functional when resolving methods from the loaded module. If you have a `.o` or a `.a` file you don't want to be include in the linking, you may add the `UnoAotCompile="false"` metadata that way:
1616

1717
```xml
1818
<ItemGroup>
19-
<!-- Deactivate the discovery of a .bc or a .a file for static linking -->
20-
<Content Update="path\to\my\file.bc" UnoAotCompile="False" />
19+
<!-- Deactivate the discovery of a .o or a .a file for static linking -->
20+
<Content Update="path\to\my\file.a" UnoAotCompile="False" />
2121
</ItemGroup>
2222
```
2323

@@ -41,22 +41,22 @@ error: DISABLE_EXCEPTION_THROWING was set (likely due to -fno-exceptions), which
4141

4242
## Static Linking multi-version support
4343

44-
As emscripten's ABI is not guaranteed to be compatible between versions, it may also be required to include multiple versions of the same LLVM binaries, compiled against different versions of LLVM. In order to enable this scenario, the Uno Bootstrapper supports adding .bc files by convention.
45-
46-
If the bitcode file to be added is named `libTest.bc` or `libTest.a`, the following structure can be used in a project:
47-
48-
| File path | Description |
49-
|---------------------------------------|-------------------------------------------------------------------------------------------------------|
50-
| `libTest.bc/2.0.6/libTest.bc` | Emscripten 2.0.6 to 2.0.8, single threaded (Bootstrapper 3.3 and earlier format) |
51-
| `libTest.bc/2.0.9/libTest.bc` | Emscripten 2.0.9 and later, single threaded (Bootstrapper 3.3 and earlier format) |
52-
| `libTest.bc/2.0.6/st/libTest.bc` | Emscripten 2.0.6 and later, single threaded |
53-
| `libTest.bc/2.0.9/st/libTest.bc` | Emscripten 2.0.9 and later, single threaded |
54-
| `libTest.bc/2.0.6/mt/libTest.bc` | Emscripten 2.0.6 and later, multi threaded |
55-
| `libTest.bc/2.0.9/mt/libTest.bc` | Emscripten 2.0.9 and later, multi threaded |
56-
| `libTest.bc/2.0.6/st,simd/libTest.bc` | Emscripten 2.0.6 and later, single threaded with SIMD |
57-
| `libTest.bc/2.0.9/st,simd/libTest.bc` | Emscripten 2.0.9 and later, single threaded with SIMD |
58-
| `libTest.bc/2.0.6/mt,simd/libTest.bc` | Emscripten 2.0.6 and later, multi threaded with SIMD |
59-
| `libTest.bc/2.0.9/mt,simd/libTest.bc` | Emscripten 2.0.9 and later, multi threaded with SIMD |
44+
As emscripten's ABI is not guaranteed to be compatible between versions, it may also be required to include multiple versions of the same LLVM binaries, compiled against different versions of LLVM. In order to enable this scenario, the Uno Bootstrapper supports adding .a files by convention.
45+
46+
If the bitcode file to be added is named `libTest.o` or `libTest.a`, the following structure can be used in a project:
47+
48+
| File path | Description |
49+
|-------------------------------------|-------------------------------------------------------------------------------------------------------|
50+
| `libTest.a/2.0.6/libTest.a` | Emscripten 2.0.6 to 2.0.8, single threaded (Bootstrapper 3.3 and earlier format) |
51+
| `libTest.a/2.0.9/libTest.a` | Emscripten 2.0.9 and later, single threaded (Bootstrapper 3.3 and earlier format) |
52+
| `libTest.a/2.0.6/st/libTest.a` | Emscripten 2.0.6 and later, single threaded |
53+
| `libTest.a/2.0.9/st/libTest.a` | Emscripten 2.0.9 and later, single threaded |
54+
| `libTest.a/2.0.6/mt/libTest.a` | Emscripten 2.0.6 and later, multi threaded |
55+
| `libTest.a/2.0.9/mt/libTest.a` | Emscripten 2.0.9 and later, multi threaded |
56+
| `libTest.a/2.0.6/st,simd/libTest.a` | Emscripten 2.0.6 and later, single threaded with SIMD |
57+
| `libTest.a/2.0.9/st,simd/libTest.a` | Emscripten 2.0.9 and later, single threaded with SIMD |
58+
| `libTest.a/2.0.6/mt,simd/libTest.a` | Emscripten 2.0.6 and later, multi threaded with SIMD |
59+
| `libTest.a/2.0.9/mt,simd/libTest.a` | Emscripten 2.0.9 and later, multi threaded with SIMD |
6060

6161
Based on the emscripten version used by the .NET runtime and the enabled runtime features, the bootstrapper will choose the closest matching version.
6262

doc/using-the-bootstrapper.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,10 @@ By default, the .NET runtime does not load all resource assemblies, but if you w
104104
</PropertyGroup>
105105
```
106106

107-
## Interop
107+
### Interop
108108

109109
- `Module.mono_bind_static_method` is not available anymore, you'll need to use `Module.getAssemblyExports` instead.
110-
- `.bc` native files are not supported anymore. Use `.a` or `.o` extensions.
110+
- .NET 9 upgrades to emscripten 3.1.56 for which `.bc` native files are not supported properly. Use `.a` or `.o` extensions instead for native dependencies.
111111

112112
### Deprecated APIs
113113

0 commit comments

Comments
 (0)