| #!/bin/bash | |
| # Copyright 2020 The Fuchsia Authors. All rights reserved. | |
| # Use of this source code is governed by a BSD-style license that can be | |
| # found in the LICENSE file. | |
| #### CATEGORY=Run, inspect and debug | |
| #### PREBUILTS=${PREBUILT_CLANG_DIR} | |
| ### Provides a shortcut to the prebuilt LLVM binutils tools | |
| ## usage: fx binutils [tool name] | |
| ## | |
| ## -h|--help Shows this help and lists all available llvm tools | |
| source "$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"/../lib/vars.sh || exit $? | |
| readonly clang_prefix="${PREBUILT_CLANG_DIR}/bin/llvm-" | |
| function binutils { | |
| fx-config-read | |
| if [[ $# -lt 1 ]]; then | |
| fx-command-help | |
| exit 1 | |
| fi | |
| if [[ "$1" == -h || "$1" == "--help" ]]; then | |
| fx-print-command-help "$0" | |
| echo -e "\nThe list of LLVM tools accessible is:" | |
| for f in ${clang_prefix}*; do | |
| if [[ -x "$f" ]]; then | |
| t="$(basename "$f")" | |
| echo " ${t#llvm-}" | |
| fi | |
| done | |
| exit 0 | |
| fi | |
| readonly tool="${1}" | |
| shift | |
| readonly tool_path="${clang_prefix}${tool}" | |
| if [[ ! -x "${tool_path}" ]]; then | |
| fx-error "Prebuilt binutils tool doesn't exist or is not executable: '${tool_path}'" | |
| exit 1 | |
| fi | |
| "${tool_path}" "$@" | |
| } | |
| binutils "$@" |