#!/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