summaryrefslogtreecommitdiffstats
path: root/config/external/icu4x/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'config/external/icu4x/moz.build')
-rw-r--r--config/external/icu4x/moz.build35
1 files changed, 35 insertions, 0 deletions
diff --git a/config/external/icu4x/moz.build b/config/external/icu4x/moz.build
new file mode 100644
index 0000000000..63273b83ff
--- /dev/null
+++ b/config/external/icu4x/moz.build
@@ -0,0 +1,35 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Build the ICU4X data directly into the binary file. This is an experiment that can
+# be enabled by adding `ac_add_options --enable-icu4x` to your mozconfig.
+# See `intl/ICU4X.md`.
+
+if CONFIG["MOZ_ICU4X"]:
+ DEFINES["MOZ_ICU4X"] = 1
+ Library("icu4xdata")
+ LOCAL_INCLUDES += ["."]
+
+ # The "mangled" symbol gets prefixed by a "_" in certain platforms.
+ symbol_prefix = ""
+ if (CONFIG["OS_ARCH"] == "WINNT" and CONFIG["CPU_ARCH"] == "x86") or CONFIG[
+ "OS_ARCH"
+ ] == "Darwin":
+ symbol_prefix = "_"
+
+ # To re-generate this file run: intl/update-icu4x.sh
+ DEFINES["ICU4X_DATA_FILE"] = '"icu4x.postcard"'
+
+ # In C++ this data will be available via:
+ #
+ # extern uint8_t icu4x_static_locale_data;
+ # uint8_t firstByte = (&icu4x_static_locale_data)[0];
+ DEFINES["ICU4X_DATA_SYMBOL"] = "%s%s" % (symbol_prefix, "icu4x_static_locale_data")
+
+ # This is assembly which has instructions to include the binary locale data directly.
+ SOURCES += [
+ "icu4x_data.S",
+ ]