fune/taskcluster/scripts/misc/build-clang-linux-macosx-cross.sh
David Major 103a1cbba6 Bug 1573211 - Update to clang 9.0.0 r=glandium
Updates all clang 8.0.1 to version 9.0.0, except for the mingw builds
which suffer from bug 1548624 and will be handled separately later.

Differential Revision: https://phabricator.services.mozilla.com/D44160

MANUAL PUSH: Rebuild clang toolchains without stalling autoland

--HG--
rename : build/build-clang/clang-8-android.json => build/build-clang/clang-android.json
rename : build/build-clang/clang-8-linux64-aarch64-cross.json => build/build-clang/clang-linux64-aarch64-cross.json
rename : build/build-clang/clang-8-linux64.json => build/build-clang/clang-linux64.json
rename : build/build-clang/clang-8-macosx64.json => build/build-clang/clang-macosx64.json
rename : taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-linux-macosx-cross.sh
2019-09-21 16:26:53 +02:00

37 lines
1.2 KiB
Bash
Executable file

#!/bin/bash
set -x -e -v
# This script is for building clang for Mac OS X targets on a Linux host,
# including native Mac OS X Compiler-RT libraries and llvm-symbolizer.
cd $GECKO_PATH
. taskcluster/scripts/misc/tooltool-download.sh
# these variables are used in build-clang.py
export CROSS_CCTOOLS_PATH=$MOZ_FETCHES_DIR/cctools
export CROSS_SYSROOT=$MOZ_FETCHES_DIR/MacOSX10.11.sdk
export PATH=$PATH:$CROSS_CCTOOLS_PATH/bin
# gets a bit too verbose here
set +x
cd $MOZ_FETCHES_DIR/llvm-project
python3 $GECKO_PATH/build/build-clang/build-clang.py -c $GECKO_PATH/$1 --skip-tar
# We now have a native macosx64 toolchain.
# What we want is a native linux64 toolchain which can target macosx64 and use the sanitizer dylibs.
# Overlay the linux64 toolchain that we used for this build (except llvm-symbolizer).
(
cd build/stage1
# Need the macosx64 native llvm-symbolizer since this gets shipped with sanitizer builds
mv clang/bin/llvm-symbolizer $MOZ_FETCHES_DIR/clang/bin/
cp --remove-destination -lr $MOZ_FETCHES_DIR/clang/* clang/
tar -c -J -f $MOZ_FETCHES_DIR/llvm-project/clang.tar.xz clang
)
set -x
# Put a tarball in the artifacts dir
mkdir -p $UPLOAD_DIR
cp clang.tar.* $UPLOAD_DIR