async def METHOD_NAME(
    request: CCToolchainRequest,
    subsystem: ExternalCCSubsystem,
    platform: Platform,
) -> CCToolchain:
    """Set up a toolchain from a downloadable archive."""
    download_file_request = subsystem.get_request(platform).download_file_request
    maybe_archive_digest = await Get(Digest, DownloadFile, download_file_request)
    extracted_archive = await Get(ExtractedArchive, Digest, maybe_archive_digest)
    # Populate the toolchain for C or C++ accordingly
    if request.language == CCLanguage.CXX:
        return CCToolchain(
            compiler=subsystem.cxx_executable,
            compiler_flags=tuple(subsystem.cxx_compiler_flags),
            compiler_definitions=tuple(subsystem.cxx_definitions),
            digest=extracted_archive.digest,
        )
    return CCToolchain(
        compiler=subsystem.c_executable,
        compiler_flags=tuple(subsystem.c_compiler_flags),
        compiler_definitions=tuple(subsystem.c_definitions),
        digest=extracted_archive.digest,
    )