Skip to content

Commit 4bfd299

Browse files
tarekghjkotas
andauthored
Apply suggestions from code review
Co-authored-by: Jan Kotas <[email protected]>
1 parent aff38a7 commit 4bfd299

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

docs/core/extensions/globalization-icu.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -255,24 +255,20 @@ This must be done for all the ICU binaries for the supported runtimes. Also, the
255255

256256
## Load specific ICU version on Linux
257257

258-
By default, when using ICU on Linux, .NET attempts to load the latest installed version of ICU from the system. However, you can specify a specific version of ICU to load by setting the `DOTNET_ICU_VERSION_OVERRIDE` environment variable. Here's how it works:
258+
By default, when using ICU on Linux, .NET attempts to load the latest installed version of ICU from the system. However, you can specify a specific version of ICU to load by setting the `DOTNET_ICU_VERSION_OVERRIDE` environment variable.
259259

260-
- **Specify a custom ICU version**
261-
262-
If the environment variable is set to a specific version number, such as `67.1`, .NET attempts to load that version of ICU. For example, .NET looks for the libraries `libicuuc.so.67.1` and `libicui18n.so.67.1`.
260+
For example, if the environment variable is set to a specific version number, such as `67.1`, .NET attempts to load that version of ICU. For example, .NET looks for the libraries `libicuuc.so.67.1` and `libicui18n.so.67.1`.
263261

264262
> [!NOTE]
265263
> This environment variable is supported only on .NET builds provided by Microsoft and is not supported on builds supplied by Linux distributions.
264+
> For .NET versions earlier than .NET 10, the environment variable is called `CLR_ICU_VERSION_OVERRIDE`.
266265
267266
- **Fallback mechanism**
268267

269268
If the specified version isn't found, .NET falls back to loading the highest installed ICU version from the system.
270269

271270
This configuration provides flexibility in controlling ICU version usage, ensuring compatibility with application-specific or system-provided ICU versions.
272271

273-
> [!NOTE]
274-
> For .NET versions earlier than .NET 10, the environment variable is called `CLR_ICU_VERSION_OVERRIDE`.
275-
276272
## macOS behavior
277273

278274
macOS has a different behavior for resolving dependent dynamic libraries from the load commands specified in the `Mach-O` file than the Linux loader. In the Linux loader, .NET can try `libicudata`, `libicuuc`, and `libicui18n` (in that order) to satisfy ICU dependency graph. However, on macOS, this doesn't work. When building ICU on macOS, you, by default, get a dynamic library with these load commands in `libicuuc`. The following snippet shows an example.

0 commit comments

Comments
 (0)