Bug 1374940 adds a MOZ_TOOLCHAINS environment variable with a list of path@task-id strings, where task-id is corresponding to the (possibly optimized) toolchain job, and path corresponding to the toolchain-artifact defined for that toolchain job. We want to use that to pull artifacts instead of tooltool packages.
57 lines
2.2 KiB
Bash
Executable File
57 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -x -e -v
|
|
|
|
# This script is for building clang-cl on Windows.
|
|
|
|
: TOOLTOOL_CACHE ${TOOLTOOL_CACHE:=/home/worker/tooltool-cache}
|
|
export TOOLTOOL_CACHE
|
|
|
|
TOOLTOOL_AUTH_FILE=/c/builds/relengapi.tok
|
|
if [ ! -e ${TOOLTOOL_AUTH_FILE} ]; then
|
|
echo cannot find ${TOOLTOOL_AUTH_FILE}
|
|
exit 1
|
|
fi
|
|
|
|
./build/src/mach artifact toolchain -v --authentication-file="${TOOLTOOL_AUTH_FILE}" --tooltool-manifest "build/src/${TOOLTOOL_MANIFEST}"${TOOLTOOL_CACHE:+ --cache-dir ${TOOLTOOL_CACHE}}${MOZ_TOOLCHAINS:+ ${MOZ_TOOLCHAINS}}
|
|
|
|
# Set up all the Visual Studio paths.
|
|
MSVC_DIR=vs2015u3
|
|
VSWINPATH="$(cd ${MSVC_DIR} && pwd)"
|
|
|
|
echo vswinpath ${VSWINPATH}
|
|
|
|
export WINDOWSSDKDIR="${VSWINPATH}/SDK"
|
|
export WIN32_REDIST_DIR="${VSWINPATH}/VC/redist/x64/Microsoft.VC140.CRT"
|
|
export WIN_UCRT_REDIST_DIR="${VSWINPATH}/SDK/Redist/ucrt/DLLs/x64"
|
|
|
|
export PATH="${VSWINPATH}/VC/bin/amd64:${VSWINPATH}/VC/bin:${VSWINPATH}/SDK/bin/x64:${VSWINPATH}/VC/redist/x64/Microsoft.VC140.CRT:${VSWINPATH}/SDK/Redist/ucrt/DLLs/x64:${VSWINPATH}/DIA SDK/bin/amd64:${PATH}"
|
|
|
|
export INCLUDE="${VSWINPATH}/VC/include:${VSWINPATH}/VC/atlmfc/include:${VSWINPATH}/SDK/Include/10.0.14393.0/ucrt:${VSWINPATH}/SDK/Include/10.0.14393.0/shared:${VSWINPATH}/SDK/Include/10.0.14393.0/um:${VSWINPATH}/SDK/Include/10.0.14393.0/winrt:${VSWINPATH}/DIA SDK/include"
|
|
export LIB="${VSWINPATH}/VC/lib/amd64:${VSWINPATH}/VC/atlmfc/lib/amd64:${VSWINPATH}/SDK/lib/10.0.14393.0/ucrt/x64:${VSWINPATH}/SDK/lib/10.0.14393.0/um/x64:${VSWINPATH}/DIA SDK/lib/amd64"
|
|
|
|
export PATH="$(cd svn && pwd)/bin:${PATH}"
|
|
export PATH="$(cd cmake && pwd)/bin:${PATH}"
|
|
export PATH="$(cd ninja && pwd)/bin:${PATH}"
|
|
|
|
# We use |mach python| to set up a virtualenv automatically for us. We create
|
|
# a dummy mozconfig, because the default machinery for config.guess-choosing
|
|
# of the objdir doesn't work very well.
|
|
MOZCONFIG="$(pwd)/mozconfig"
|
|
cat > ${MOZCONFIG} <<EOF
|
|
mk_add_options MOZ_OBJDIR=$(pwd)/objdir
|
|
EOF
|
|
|
|
# gets a bit too verbose here
|
|
set +x
|
|
|
|
BUILD_CLANG_DIR=build/src/build/build-clang
|
|
MOZCONFIG=${MOZCONFIG} build/src/mach python ${BUILD_CLANG_DIR}/build-clang.py -c ${BUILD_CLANG_DIR}/${1}
|
|
|
|
set -x
|
|
|
|
# Put a tarball in the artifacts dir
|
|
UPLOAD_PATH=public/build
|
|
mkdir -p ${UPLOAD_PATH}
|
|
cp clang*.tar.* ${UPLOAD_PATH}
|