diff options
author | sammc <sammc@chromium.org> | 2015-05-31 18:09:36 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-01 01:10:10 +0000 |
commit | 74f1d187956e64c25724b116ed06ca7d00b89917 (patch) | |
tree | 06691d49eb471280c56b0a4d6bf8374954b957f1 /third_party/instrumented_libraries/scripts | |
parent | b45962be3b0ac2a4133290e4e02b4f9fdec012a6 (diff) | |
download | chromium_src-74f1d187956e64c25724b116ed06ca7d00b89917.zip chromium_src-74f1d187956e64c25724b116ed06ca7d00b89917.tar.gz chromium_src-74f1d187956e64c25724b116ed06ca7d00b89917.tar.bz2 |
GN: Add support for prebuilt instrumented libraries.
TBR=glider@chromium.org
Review URL: https://codereview.chromium.org/1150193002
Cr-Commit-Position: refs/heads/master@{#332148}
Diffstat (limited to 'third_party/instrumented_libraries/scripts')
-rwxr-xr-x | third_party/instrumented_libraries/scripts/unpack_binaries.py | 42 | ||||
-rwxr-xr-x | third_party/instrumented_libraries/scripts/unpack_binaries.sh | 15 |
2 files changed, 42 insertions, 15 deletions
diff --git a/third_party/instrumented_libraries/scripts/unpack_binaries.py b/third_party/instrumented_libraries/scripts/unpack_binaries.py new file mode 100755 index 0000000..3e17790 --- /dev/null +++ b/third_party/instrumented_libraries/scripts/unpack_binaries.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python +# 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. + +"""Unpacks pre-built sanitizer-instrumented third-party libraries.""" + +import os +import subprocess +import shutil +import sys + +import download_binaries + + +def get_archive_name(archive_prefix): + return '%s-%s.tgz' % (archive_prefix, download_binaries.get_ubuntu_release()) + + +def main(archive_prefix, archive_dir, target_dir, stamp_dir=None): + shutil.rmtree(target_dir, ignore_errors=True) + + os.mkdir(target_dir) + subprocess.check_call([ + 'tar', + '-zxf', + os.path.join(archive_dir, get_archive_name(archive_prefix)), + '-C', + target_dir]) + stamp_file = os.path.join(stamp_dir or target_dir, '%s.txt' % archive_prefix) + open(stamp_file, 'w').close() + + if stamp_dir: + with open(os.path.join(stamp_dir, '%s.d' % archive_prefix), 'w') as f: + f.write('%s: %s' % ( + stamp_file, os.path.join(archive_dir, + get_archive_name(archive_prefix)))) + return 0 + + +if __name__ == '__main__': + sys.exit(main(*sys.argv[1:])) diff --git a/third_party/instrumented_libraries/scripts/unpack_binaries.sh b/third_party/instrumented_libraries/scripts/unpack_binaries.sh deleted file mode 100755 index 12af6ad..0000000 --- a/third_party/instrumented_libraries/scripts/unpack_binaries.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/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. - -# Unpacks an archive containing prebuilt instrumented libraries into output dir. - -archive_file=$1 -target_dir=$2 -stamp_file=$3 - -rm ${target_dir}/* -rf -tar -zxf ${archive_file} -C ${target_dir} - -touch ${stamp_file} |