ghidra/Ghidra/RuntimeScripts/Linux/support/buildNatives

41 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
#----------------------------------------
# Build Native Binaries
#
# args: forwarded to gradle (-i, -s, etc)
#----------------------------------------
# Make sure gradle is on the path
if ! [ -x "$(command -v gradle)" ] ; then
echo "Gradle not found on the PATH."
exit 1
fi
# Resolve symbolic link if present and get the directory this script lives in.
# NOTE: "readlink -f" is best but works on Linux only, "readlink" will only work if your PWD
# contains the link you are calling (which is the best we can do on macOS), and the "echo" is the
# fallback, which doesn't attempt to do anything with links.
SCRIPT_FILE="$(readlink -f "$0" 2>/dev/null || readlink "$0" 2>/dev/null || echo "$0")"
SCRIPT_DIR="${SCRIPT_FILE%/*}"
buildGhidraNatives () {
echo "Building natives in Ghidra..."
pushd ${SCRIPT_DIR}/../Ghidra &>/dev/null
gradle "$@" buildNatives
result=$?
popd &>/dev/null
return $result
}
buildGplNatives () {
echo "Building natives in GPL..."
pushd ${SCRIPT_DIR}/../GPL &>/dev/null
gradle "$@" buildNatives
result=$?
popd &>/dev/null
return $result
}
buildGhidraNatives "$@" && buildGplNatives "$@"