code: def _windows_compile(
      output, objects, options, cwd=None, ccache_env=None
  ):
      cmd = ["clang"]
      cmd += ["-O2"]
  
      if output.endswith(".so") or output.endswith(".dll"):
          cmd += ["-shared"]
      elif output.endswith(".obj"):
          cmd += ["-c"]
  
      if isinstance(objects, str):
          objects = [objects]
      cmd += ["-o", output]
      cmd += objects
      if options:
          cmd += options
      env = None
      if ccache_env is not None:
          if shutil.which("ccache"):
              cmd.insert(0, "ccache")
              env = os.environ.copy()
              env.update(ccache_env)
          else:
              raise ValueError("ccache not found")
  
      try:
          proc = subprocess.Popen(
              cmd,
              stdout=subprocess.PIPE,
              stderr=subprocess.STDOUT,
              cwd=cwd,
              env=env,
          )
          (out, _) = proc.communicate()
      except FileNotFoundError:
          raise RuntimeError(
              "Can not find the LLVM clang for Windows clang.exe)."
              "Make sure it's installed"
              " and the installation directory is in the %PATH% environment "
              "variable. Prebuilt binaries can be found at: https://llvm.org/"
          )
      if proc.returncode != 0:
          msg = "Compilation error:\n"
          msg += " ".join(cmd) + "\n"
          msg += py_str(out)
  
          raise RuntimeError(msg)
  
file_path: tvm/python/tvm/contrib/cc.py
imports: import sys
  import shutil
  import os
  import subprocess
  from .None import utils, tar
  from .._ffi.base import py_str
label_desc: Use image node_id 11 for calling a global function with example usage: _windows_compile(output, objects, options, cwd, ccache_env) without return types