diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /intl/icu_capi/js/examples/tinywasm/Makefile | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'intl/icu_capi/js/examples/tinywasm/Makefile')
-rwxr-xr-x | intl/icu_capi/js/examples/tinywasm/Makefile | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/intl/icu_capi/js/examples/tinywasm/Makefile b/intl/icu_capi/js/examples/tinywasm/Makefile new file mode 100755 index 0000000000..786dff11cb --- /dev/null +++ b/intl/icu_capi/js/examples/tinywasm/Makefile @@ -0,0 +1,42 @@ +# This file is part of ICU4X. For terms of use, please see the file +# called LICENSE at the top level of the ICU4X source tree +# (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). + +.DEFAULT_GOAL := build +FORCE: + +ALL_HEADERS := $(wildcard ../../include/*) +ICU4X_NIGHTLY_TOOLCHAIN ?= "nightly-2022-12-26" + +$(ALL_HEADERS): + +# 100 KiB, working around a bug in older rustc +# https://github.com/unicode-org/icu4x/issues/2753 +WASM_STACK_SIZE := 100000 + +BASEDIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) + +lib: $(ALL_HEADERS) + rm -rf lib; + mkdir lib; + cp ../../package/lib/* lib + +crate/target/wasm32-unknown-unknown/release/crate.wasm: FORCE + rustup toolchain install ${ICU4X_NIGHTLY_TOOLCHAIN} + rustup component add rust-src --toolchain ${ICU4X_NIGHTLY_TOOLCHAIN} + # Build the WASM library + cd crate && \ + RUSTFLAGS="-Cpanic=abort -Copt-level=s -C link-arg=-zstack-size=${WASM_STACK_SIZE} -Clinker-plugin-lto -Ccodegen-units=1 -C linker=${BASEDIR}/ld.py -C linker-flavor=wasm-ld -Clto -Cembed-bitcode" \ + cargo +${ICU4X_NIGHTLY_TOOLCHAIN} build \ + -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort \ + --target wasm32-unknown-unknown \ + --release + +build: crate/target/wasm32-unknown-unknown/release/crate.wasm lib + ls -l crate/target/wasm32-unknown-unknown/release/crate.wasm + +test: + node tiny.mjs + +clean: + git clean -xf * |