blob: 0a2586690a0a1d310f3368984c1c0362ee47eb24 [file] [log] [blame] [edit]
#!/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
### 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 "$@"