Commit b251b58b authored by earthdok's avatar earthdok Committed by Commit bot

Instrumented libraries: add a script to build/package binaries.

BUG=462636
R=glider@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/1019213003

Cr-Commit-Position: refs/heads/master@{#322149}
parent 346f30ca
#!/bin/bash
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
set -eu
supported_build_types="msan-no-origins msan-chained-origins"
supported_releases="precise trusty"
ubuntu_release=$(lsb_release -cs)
function show_help {
echo "Usage: build_and_package.sh <build_type>"
echo "Supported build types: all ${supported_build_types}"
}
function build_libraries {
local build_type=$1
case ${build_type} in
"msan-chained-origins")
local gyp_defines="msan=1 msan_track_origins=2"
;;
"msan-no-origins")
local gyp_defines="msan=1 msan_track_origins=0"
;;
*)
show_help
exit 1
;;
esac
local archive_name=${build_type}-${ubuntu_release}
local out_dir=out_${archive_name}
echo "Building instrumented libraries in ${out_dir}..."
rm -rf $out_dir
mkdir $out_dir
GYP_DEFINES="${gyp_defines} use_instrumented_libraries=1 instrumented_libraries_jobs=8" \
GYP_GENERATOR_FLAGS="output_dir=${out_dir}" \
gclient runhooks
ninja -C ${out_dir}/Release instrumented_libraries
echo "Creating archive ${archive_name}.tgz..."
files=$(ls -1 ${out_dir}/Release/instrumented_libraries)
tar zcf ${archive_name}.tgz -C ${out_dir}/Release/instrumented_libraries --exclude="?san/*.txt" ${files}
echo To upload, run:
echo upload_to_google_storage.py -b chromium-instrumented-libraries ${archive_name}.tgz
echo You should then commit the resulting .sha1 file.
}
if ! [[ "${supported_releases}" =~ ${ubuntu_release} ]]
then
echo "Unsupported Ubuntu release: ${ubuntu_release}"
exit 1
fi
if [ -z "${1-}" ]
then
show_help
exit 0
fi
if ! [[ "all ${supported_build_types}" =~ $1 ]]
then
show_help
exit 1
fi
if [ "$1" == "all" ]
then
for build_type in ${supported_build_types}
do
build_libraries ${build_type}
done
else
build_libraries $1
fi
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment