| Index: third_party/instrumented_libraries/scripts/build_and_package.sh
|
| diff --git a/third_party/instrumented_libraries/scripts/build_and_package.sh b/third_party/instrumented_libraries/scripts/build_and_package.sh
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..0de0c914dfebf74802e7148817bbb667e85240af
|
| --- /dev/null
|
| +++ b/third_party/instrumented_libraries/scripts/build_and_package.sh
|
| @@ -0,0 +1,87 @@
|
| +#!/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 -j4 -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}"
|
| + echo "Supported releases: ${supported_releases}"
|
| + 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
|
| +
|
|
|