46 lines
1.4 KiB
Bash
Executable File
46 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
project_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
|
|
check_command() {
|
|
local command_name="$1"
|
|
if command -v "${command_name}" >/dev/null 2>&1; then
|
|
printf '%-24s %s\n' "${command_name}" "$(command -v "${command_name}")"
|
|
else
|
|
printf '%-24s %s\n' "${command_name}" "MISSING"
|
|
fi
|
|
}
|
|
|
|
printf 'Kubbe environment doctor\n'
|
|
printf 'Project: %s\n\n' "${project_root}"
|
|
|
|
for command_name in cmake ninja gcc g++ clang clang++ gdb clang-tidy llvm-symbolizer pkg-config git python3; do
|
|
check_command "${command_name}"
|
|
done
|
|
|
|
if [[ -x "${project_root}/.toolchains/ccache/current/ccache" ]]; then
|
|
printf '%-24s %s\n' "ccache (local)" "${project_root}/.toolchains/ccache/current/ccache"
|
|
else
|
|
check_command ccache
|
|
fi
|
|
|
|
printf '\nPackage visibility\n'
|
|
for package_name in sdl3 vulkan gl; do
|
|
if pkg-config --exists "${package_name}"; then
|
|
printf '%-24s %s\n' "${package_name}" "$(pkg-config --modversion "${package_name}")"
|
|
else
|
|
printf '%-24s %s\n' "${package_name}" "MISSING"
|
|
fi
|
|
done
|
|
|
|
printf '\nVendor source roots\n'
|
|
for vendor_name in sdl skia v8 vulkan ccache valgrind googletest; do
|
|
if [[ -d "${project_root}/vendor/source/${vendor_name}" ]]; then
|
|
printf '%-24s %s\n' "${vendor_name}" "READY"
|
|
else
|
|
printf '%-24s %s\n' "${vendor_name}" "MISSING"
|
|
fi
|
|
done
|
|
|