diff options
Diffstat (limited to '')
-rwxr-xr-x | taskcluster/scripts/misc/build-msix-packaging.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/taskcluster/scripts/misc/build-msix-packaging.sh b/taskcluster/scripts/misc/build-msix-packaging.sh new file mode 100755 index 0000000000..345057a016 --- /dev/null +++ b/taskcluster/scripts/misc/build-msix-packaging.sh @@ -0,0 +1,33 @@ +#!/bin/bash +set -x -e -v + +cd $MOZ_FETCHES_DIR/msix-packaging + +export PATH=$MOZ_FETCHES_DIR/clang/bin:$PATH + +# makelinux.sh invokes `make` with no parallelism. These jobs run on hosts with +# 16+ vCPUs; let's try to take advantage. +export MAKEFLAGS=-j16 + +./makelinux.sh --pack -- \ + -DCMAKE_SYSROOT=$MOZ_FETCHES_DIR/sysroot \ + -DCMAKE_EXE_LINKER_FLAGS_INIT='-fuse-ld=lld -Wl,-rpath=\$ORIGIN' \ + -DCMAKE_SHARED_LINKER_FLAGS_INIT='-fuse-ld=lld -Wl,-rpath=\$ORIGIN' \ + -DCMAKE_SKIP_BUILD_RPATH=TRUE + +mkdir msix-packaging +cp .vs/bin/makemsix msix-packaging +cp .vs/lib/libmsix.so msix-packaging + +# The `msix-packaging` tool links against libicu dynamically. It would be +# better to link statically, but it's not easy to achieve. This copies the +# needed libicu libraries from the sysroot, and the rpath settings above allows +# them to be loaded, which means the consuming environment doesn't need to +# install libicu directly. +LD_LIBRARY_PATH=$MOZ_FETCHES_DIR/sysroot/usr/lib/x86_64-linux-gnu \ +ldd msix-packaging/libmsix.so | awk '$3 ~ /libicu/ {print $3}' | xargs -I '{}' cp '{}' msix-packaging + +tar caf msix-packaging.tar.zst msix-packaging + +mkdir -p $UPLOAD_DIR +cp msix-packaging.tar.zst $UPLOAD_DIR |