Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(485)

Unified Diff: third_party/instrumented_libraries/scripts/build_and_package.sh

Issue 1019213003: Instrumented libraries: add a script to build/package binaries. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
+
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698