aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper/install_compiler_wrapper.sh
diff options
context:
space:
mode:
Diffstat (limited to 'compiler_wrapper/install_compiler_wrapper.sh')
-rwxr-xr-xcompiler_wrapper/install_compiler_wrapper.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/compiler_wrapper/install_compiler_wrapper.sh b/compiler_wrapper/install_compiler_wrapper.sh
new file mode 100755
index 00000000..479b112c
--- /dev/null
+++ b/compiler_wrapper/install_compiler_wrapper.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+#
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script rebuilds and installs compiler wrappers
+
+if [[ ! -e /etc/cros_chroot_version ]]; then
+ echo "Please run this script inside chroot"
+ exit 1
+fi
+set -e
+cd "$(dirname "$(readlink -m "$0")")"
+echo "Updated files:"
+# Update the host wrapper
+./build.py --config=cros.host --use_ccache=false --use_llvm_next=false --output_file=./clang_host_wrapper
+sudo mv ./clang_host_wrapper /usr/bin/clang_host_wrapper
+echo "/usr/bin/clang_host_wrapper"
+sudo cp ../binary_search_tool/bisect_driver.py /usr/bin
+echo "/usr/bin/clang_host_wrapper/bisect_driver.py"
+# Update the target wrappers
+for GCC in cross-x86_64-cros-linux-gnu/gcc cross-armv7a-cros-linux-gnueabihf/gcc cross-aarch64-cros-linux-gnu/gcc; do
+ if ! FILES="$(equery f ${GCC})"; then
+ if [[ $(equery l "${GCC}" 2>&1 | wc -c) -eq 0 ]]; then
+ echo "no ${GCC} package found; skipping" >&2
+ continue
+ fi
+ # Something went wrong, and the equery above probably complained about it.
+ exit 1
+ fi
+ ./build.py --config=cros.hardened --use_ccache=false --use_llvm_next=false --output_file=./sysroot_wrapper.hardened.noccache
+ sudo mv ./sysroot_wrapper.hardened.noccache "$(grep sysroot_wrapper.hardened.noccache <<< "${FILES}")"
+ grep sysroot_wrapper.hardened.noccache <<< "${FILES}"
+ ./build.py --config=cros.hardened --use_ccache=true --use_llvm_next=false --output_file=./sysroot_wrapper.hardened.ccache
+ sudo mv ./sysroot_wrapper.hardened.ccache "$(grep sysroot_wrapper.hardened.ccache <<< "${FILES}")"
+ grep sysroot_wrapper.hardened.ccache <<< "${FILES}"
+ sudo cp ../binary_search_tool/bisect_driver.py "$(grep bisect_driver.py <<< "${FILES}")"
+ grep bisect_driver.py <<< "${FILES}"
+done