diff options
Diffstat (limited to 'config/external/icu/data')
-rw-r--r-- | config/external/icu/data/convert_icudata.py | 20 | ||||
-rw-r--r-- | config/external/icu/data/icu_data.S | 29 | ||||
-rw-r--r-- | config/external/icu/data/icudt73l.dat | bin | 0 -> 15518912 bytes | |||
-rw-r--r-- | config/external/icu/data/moz.build | 40 |
4 files changed, 89 insertions, 0 deletions
diff --git a/config/external/icu/data/convert_icudata.py b/config/external/icu/data/convert_icudata.py new file mode 100644 index 0000000000..b09affb9d8 --- /dev/null +++ b/config/external/icu/data/convert_icudata.py @@ -0,0 +1,20 @@ +# 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/. + +import os +import subprocess + +import buildconfig + + +def main(output, data_file): + output.close() + subprocess.run( + [ + os.path.join(buildconfig.topobjdir, "dist", "host", "bin", "icupkg"), + "-tb", + data_file, + output.name, + ] + ) diff --git a/config/external/icu/data/icu_data.S b/config/external/icu/data/icu_data.S new file mode 100644 index 0000000000..6ca4ce5973 --- /dev/null +++ b/config/external/icu/data/icu_data.S @@ -0,0 +1,29 @@ +/* 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/. */ + +#if defined(_WIN32) && defined(__i386__) +// Mark the object as SAFESEH-enabled. +.def @feat.00; +.scl 3; +.type 0; +.endef +.global @feat.00 +.set @feat.00, 1 +#endif + +.global ICU_DATA_SYMBOL +#if defined(__APPLE__) +.data +.const +#elif defined(__wasi__) +.section .rodata,"",@ +#else +.section .rodata +#endif +.balign 16 +ICU_DATA_SYMBOL: +.incbin ICU_DATA_FILE +#ifdef __wasi__ +.size ICU_DATA_SYMBOL, . - ICU_DATA_SYMBOL +#endif diff --git a/config/external/icu/data/icudt73l.dat b/config/external/icu/data/icudt73l.dat Binary files differnew file mode 100644 index 0000000000..b2780e7c75 --- /dev/null +++ b/config/external/icu/data/icudt73l.dat diff --git a/config/external/icu/data/moz.build b/config/external/icu/data/moz.build new file mode 100644 index 0000000000..715f73550d --- /dev/null +++ b/config/external/icu/data/moz.build @@ -0,0 +1,40 @@ +# -*- 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 a library containing the ICU data for use in the JS shell, so that +# JSAPI consumers don't have to deal with setting ICU's data path. +Library("icudata") + +LOCAL_INCLUDES += ["."] + +prefix = "" +if (CONFIG["OS_ARCH"] == "WINNT" and CONFIG["CPU_ARCH"] == "x86") or CONFIG[ + "OS_ARCH" +] == "Darwin": + prefix = "_" + +data_file = { + "little": "icudt%sl.dat" % CONFIG["MOZ_ICU_VERSION"], + "big": "icudt%sb.dat" % CONFIG["MOZ_ICU_VERSION"], +} +data_dir = { + "little": SRCDIR, + "big": OBJDIR, +} +endianness = CONFIG["TARGET_ENDIANNESS"] or "little" +DEFINES["ICU_DATA_FILE"] = '"%s/%s"' % (data_dir[endianness], data_file[endianness]) +DEFINES["ICU_DATA_SYMBOL"] = "%sicudt%s_dat" % (prefix, CONFIG["MOZ_ICU_VERSION"]) +SOURCES += [ + "icu_data.S", +] + +if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["CC_TYPE"] == "clang-cl": + USE_INTEGRATED_CLANGCL_AS = True + +if CONFIG["TARGET_ENDIANNESS"] == "big": + GeneratedFile( + data_file["big"], script="convert_icudata.py", inputs=[data_file["little"]] + ) |