gecko-dev/taskcluster/scripts/misc/build-clang.sh

59 строки
1.3 KiB
Bash
Executable File

#!/bin/bash
set -x -e -v
# This script is for building clang.
ORIGPWD="$PWD"
JSON_CONFIG="$1"
cd $GECKO_PATH
if [ -n "$TOOLTOOL_MANIFEST" ]; then
. taskcluster/scripts/misc/tooltool-download.sh
fi
if [ -d "$MOZ_FETCHES_DIR/binutils/bin" ]; then
export PATH="$MOZ_FETCHES_DIR/binutils/bin:$PATH"
fi
case "$JSON_CONFIG" in
*macosx64*)
# 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
;;
*win64*)
UPLOAD_DIR=$ORIGPWD/public/build
# Set up all the Visual Studio paths.
. taskcluster/scripts/misc/vs-setup.sh
# LLVM_ENABLE_DIA_SDK is set if the directory "$ENV{VSINSTALLDIR}DIA SDK"
# exists.
export VSINSTALLDIR="${VSPATH}/"
export PATH="$(cd $MOZ_FETCHES_DIR/cmake && pwd)/bin:${PATH}"
export PATH="$(cd $MOZ_FETCHES_DIR/ninja && pwd)/bin:${PATH}"
;;
*linux64*|*android*)
;;
*)
echo Cannot figure out build configuration for $JSON_CONFIG
exit 1
;;
esac
# 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
set -x
# Put a tarball in the artifacts dir
mkdir -p $UPLOAD_DIR
cp clang*.tar.* $UPLOAD_DIR
. $GECKO_PATH/taskcluster/scripts/misc/vs-cleanup.sh