diff options
Diffstat (limited to 'config/external/icu4x/moz.build')
-rw-r--r-- | config/external/icu4x/moz.build | 35 |
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", + ] |