From: Travis Wrightsman <travis@wrightsman.org>
Date: Sun, 20 Jul 2025 19:22:53 +0200
Subject: Fix ICU support data loading with system ICU

Forwarded: https://github.com/godotengine/godot/pull/108806
Applied-Upstream: 4.5, https://github.com/godotengine/godot/commit/ed0efc4791088dfd0608476ef9d2067d46e26c3c
---
 modules/text_server_adv/SCsub               | 3 +++
 modules/text_server_adv/text_server_adv.cpp | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/modules/text_server_adv/SCsub b/modules/text_server_adv/SCsub
index 30f21eb..2cfd3b1 100644
--- a/modules/text_server_adv/SCsub
+++ b/modules/text_server_adv/SCsub
@@ -49,6 +49,9 @@ if "svg" in env.module_list:
     # Enable ThorVG static object linking.
     env_text_server_adv.Append(CPPDEFINES=["TVG_STATIC"])
 
+if env["builtin_icu4c"]:
+    env_text_server_adv.Append(CCDEFINES=["HAVE_ICU_BUILTIN"])
+
 if env["builtin_harfbuzz"]:
     env_harfbuzz = env_modules.Clone()
     env_harfbuzz.disable_warnings()
diff --git a/modules/text_server_adv/text_server_adv.cpp b/modules/text_server_adv/text_server_adv.cpp
index 71bded1..6657764 100644
--- a/modules/text_server_adv/text_server_adv.cpp
+++ b/modules/text_server_adv/text_server_adv.cpp
@@ -434,7 +434,7 @@ bool TextServerAdvanced::_has(const RID &p_rid) {
 bool TextServerAdvanced::_load_support_data(const String &p_filename) {
 	_THREAD_SAFE_METHOD_
 
-#ifdef ICU_STATIC_DATA
+#if defined(ICU_STATIC_DATA) || !defined(HAVE_ICU_BUILTIN)
 	if (!icu_data_loaded) {
 		UErrorCode err = U_ZERO_ERROR;
 		u_init(&err); // Do not check for errors, since we only load part of the data.
