case "$THIS_SUB_DEPENDS" in
  TARGET-*)
    target="${THIS_SUB_DEPENDS#TARGET-}"
    message "${MESSAGE_COLOR}$target target support enforced by sub-dependency.$DEFAULT_COLOR"
    list_add LLVM_TARGETS "$target"
    ;;
  RUNTIME-*)
    target="${THIS_SUB_DEPENDS#RUNTIME-}"
    message "${MESSAGE_COLOR}$target runtime support enforced by sub-dependency.$DEFAULT_COLOR"
    list_add LLVM_RUNTIMES "$target"
    ;;
  BOLT)
    message "${MESSAGE_COLOR}Building bolt enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_BOLT=y
    ;;
  CLANG)
    message "${MESSAGE_COLOR}Building clang enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_CLANG=y
    ;;
  FLANG)
    message "${MESSAGE_COLOR}Building flang enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_FLANG=y
    ;;
  LIBCLC)
    message "${MESSAGE_COLOR}Building libclc enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_LIBCLC=y
    ;;
  LLD)
    message "${MESSAGE_COLOR}Building lld enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_LLD=y
    ;;
  LLDB)
    message "${MESSAGE_COLOR}Building lldb enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_LLDB=y
    ;;
  MLIR)
    message "${MESSAGE_COLOR}Building MLIR enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_MLIR=y
    ;;
  POLLY)
    message "${MESSAGE_COLOR}Building polly enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_POLLY=y
    ;;
  RTTI)
    message "${MESSAGE_COLOR}RTTI support enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_RTTI=y
    ;;
  SPIRV)
    message "${MESSAGE_COLOR}SPIR-V support enforced by sub-dependency.$DEFAULT_COLOR"
    LLVM_WITH_SPIRV=y
    ;;
  *)
    message "${PROBLEM_COLOR}bogus sub_depends: $SPELL $THIS_SUB_DEPENDS${DEFAULT_COLOR}"
    return 1
    ;;
esac
