fune/taskcluster/scripts/misc/build-sccache.sh
Mike Hommey 49b4329f1c Bug 1788854 - Upgrade MacOS SDK to 11.3. r=firefox-build-system-reviewers,andi
We keep the older 11.0 and 10.11 SDKs for openh264.

Ideally, we'd rename the SDK directory not to contain its version, but
ld64 actually relies on the directory name to figure out the platform
version when it's not given to it, which it's not. We can make clang do
that, but it's rather involved (because it also requires setting up the
host linker properly, which we don't do), so we just go the easy route
and keep the SDK version in its directory.

Differential Revision: https://phabricator.services.mozilla.com/D156279
2022-09-04 21:07:01 +00:00

69 lines
1.9 KiB
Bash
Executable file

#!/bin/bash
set -x -e -v
# Needed by osx-cross-linker.
export TARGET="$1"
# This script is for building sccache
COMPRESS_EXT=zst
case "$(uname -s)" in
Linux)
PATH="$MOZ_FETCHES_DIR/binutils/bin:$PATH"
;;
MINGW*|MSYS*)
UPLOAD_DIR=$PWD/public/build
. $GECKO_PATH/taskcluster/scripts/misc/vs-setup.sh
;;
esac
cd $GECKO_PATH
PATH="$(cd $MOZ_FETCHES_DIR && pwd)/rustc/bin:$PATH"
cd $MOZ_FETCHES_DIR/sccache
COMMON_FEATURES="native-zlib"
case "$(uname -s)" in
Linux)
export CC="$MOZ_FETCHES_DIR/clang/bin/clang"
case "$TARGET" in
*-apple-darwin)
export PATH="$MOZ_FETCHES_DIR/clang/bin:$PATH"
export PATH="$MOZ_FETCHES_DIR/cctools/bin:$PATH"
export RUSTFLAGS="-C linker=$GECKO_PATH/taskcluster/scripts/misc/osx-cross-linker"
if test "$TARGET" = "aarch64-apple-darwin"; then
export MACOSX_DEPLOYMENT_TARGET=11.0
else
export MACOSX_DEPLOYMENT_TARGET=10.12
fi
export TARGET_CC="$MOZ_FETCHES_DIR/clang/bin/clang -isysroot $MOZ_FETCHES_DIR/MacOSX11.3.sdk"
cargo build --features "all $COMMON_FEATURES" --verbose --release --target $TARGET
;;
*)
export CFLAGS_x86_64_unknown_linux_gnu="--sysroot=$MOZ_FETCHES_DIR/sysroot-x86_64-linux-gnu"
export RUSTFLAGS="-C linker=$CC -C link-arg=--sysroot=$MOZ_FETCHES_DIR/sysroot-x86_64-linux-gnu"
cargo build --features "all dist-server openssl/vendored $COMMON_FEATURES" --verbose --release
;;
esac
;;
MINGW*|MSYS*)
cargo build --verbose --release --features="dist-client s3 gcs $COMMON_FEATURES"
;;
esac
SCCACHE_OUT=target/release/sccache*
if [ -n "$TARGET" ]; then
SCCACHE_OUT=target/$TARGET/release/sccache*
fi
mkdir sccache
cp $SCCACHE_OUT sccache/
tar -c sccache | python3 $GECKO_PATH/taskcluster/scripts/misc/zstdpy > sccache.tar.$COMPRESS_EXT
mkdir -p $UPLOAD_DIR
cp sccache.tar.$COMPRESS_EXT $UPLOAD_DIR
. $GECKO_PATH/taskcluster/scripts/misc/vs-cleanup.sh