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

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: add no-origins 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..30b20dacc9659659fba214d4550df4f1a9e5aa27
--- /dev/null
+++ b/third_party/instrumented_libraries/scripts/build_and_package.sh
@@ -0,0 +1,83 @@
+#!/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
Alexander Potapenko 2015/03/25 13:10:34 Mind the line length.
earthdok 2015/03/25 13:24:09 Done.
+ echo You should then commit the resulting .sha1 file.
+}
+
+if ! [[ "${supported_releases}" =~ ${ubuntu_release} ]]
+then
+ echo "Unsupported Ubuntu release: ${ubuntu_release}"
Alexander Potapenko 2015/03/25 13:10:34 echo "Supported releases: ..."
earthdok 2015/03/25 13:24:09 Done.
+ 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