. "$GRIMOIRE/CMAKE_DEPENDS" &&
. "$GRIMOIRE/build_system_handler.function" &&

case "$HOST" in
  (*-musl)
    buildsys_depends libexecinfo &&
    buildsys_depends musl-obstack
    ;;
esac &&
buildsys_depends libtool &&

buildsys_depends PKG-CONFIG &&
buildsys_depends python3 &&
buildsys_depends mako &&

if [ x"$LLVM_TOOLCHAIN_COMPILER"x = x"gcc"x ] ;then
  buildsys_depends -sub CXX gcc
fi &&

if [[ "$LLVM_WITH_ANALYZER" == "y" ]] ;then
  # perl is required for scan-build, which is the analyzer itself
  runtime_depends perl
fi &&

buildsys_optional_depends zlib \
                          -o LLVM_ENABLE_ZLIB \
                          "Enable using zlib for (de)compression?" \
                          &&

buildsys_optional_depends zstd\
                          -o LLVM_ENABLE_ZSTD \
                          "Enable using zstd for (de)compression?" \
                          &&

buildsys_optional_depends z3 \
                          -o LLVM_ENABLE_Z3_SOLVER \
                          "Enable support for the Z3 constraint solver?" \
                          &&

buildsys_optional_depends libffi \
                          -o LLVM_ENABLE_FFI \
                          "Use sytem FFI?" \
                          &&

buildsys_optional_depends ocaml \
                          "Build bindings for OCaml?" \
                          &&

buildsys_optional_depends doxygen \
                          -o LLVM_ENABLE_DOXYGEN \
                          "Build documentation?" \
                          &&

if [[ "$LLVM_WITH_LLDB" == y ]]; then
  buildsys_depends six -o LLDB_USE_SYSTEM_SIX &&
  buildsys_depends swig &&
  buildsys_depends libedit &&
  buildsys_depends ncurses
fi &&

if [[ "$LLVM_WITH_MLIR" == y ]]; then
  buildsys_optional_depends vulkan-loader \
                            -o MLIR_ENABLE_VULKAN_RUNNER \
                            "Build the MLIR Vulkan runner?"
fi &&

if [[ "$LLVM_WITH_SPIRV" == y ]]; then
  buildsys_depends spirv-headers &&
  buildsys_depends spirv-tools
fi
