mirror of
https://github.com/ps5-payload-dev/sdk.git
synced 2026-10-22 03:14:55 -05:00
49 lines
1.8 KiB
Bash
Executable File
49 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) 2024 John Törnblom
|
|
#
|
|
# This file is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; see the file COPYING. If not see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
SCRIPT_PATH="${BASH_SOURCE[0]}"
|
|
SCRIPT_NAME="$(basename "${SCRIPT_PATH}")"
|
|
SCRIPT_DIR="$(dirname "${SCRIPT_PATH}")"
|
|
|
|
# check if script name matches an llvm tool
|
|
LLVM_CONFIG="${SCRIPT_DIR}/llvm-config"
|
|
LLVM_BINDIR=$("${LLVM_CONFIG}" --bindir)
|
|
BIN_PATH="${LLVM_BINDIR}/${SCRIPT_NAME}"
|
|
if [ -f "${BIN_PATH}" ]; then
|
|
exec "${BIN_PATH}" "$@"
|
|
fi
|
|
|
|
# check if symlink points to this script
|
|
SCRIPT_LINK="$(readlink "${SCRIPT_PATH}")"
|
|
SCRIPT_LINK="$(basename "${SCRIPT_LINK}")"
|
|
if [ "$SCRIPT_LINK" = "llvm-bin-wrapper" ]; then
|
|
BIN_NAME=$(echo $SCRIPT_NAME | rev | cut -d'-' -f1 | rev)
|
|
BIN_PATH="${LLVM_BINDIR}/${BIN_NAME}"
|
|
exec -a "${SCRIPT_NAME}" "${BIN_PATH}" "$@"
|
|
fi
|
|
|
|
# if the script is not a symlink, its probably a copy of a symlink
|
|
if [ "$SCRIPT_LINK" = "" ]; then
|
|
BIN_NAME=$(echo $SCRIPT_NAME | rev | cut -d'-' -f1 | rev)
|
|
BIN_PATH="${LLVM_BINDIR}/llvm-${BIN_NAME}"
|
|
exec -a "${SCRIPT_NAME}" "${BIN_PATH}" "$@"
|
|
fi
|
|
|
|
# assume the symlink points to another symlink in the script dir
|
|
BIN_PATH="${SCRIPT_DIR}/${SCRIPT_LINK}"
|
|
exec -a "${SCRIPT_NAME}" "${BIN_PATH}" "$@"
|