code: def base_compiler(vs=None, pythonflags=None, cpp=False, use_env=True):
      """
      Returns basic compiler command and PythonFlags.
  
      Args:
          vs:
              Windows only. A `wdev.WindowsVS` instance or None to use default
              `wdev.WindowsVS` instance.
          pythonflags:
              A `pipcl.PythonFlags` instance or None to use default
              `pipcl.PythonFlags` instance.
          cpp:
              If true we return C++ compiler command instead of C. On Windows
              this has no effect - we always return `cl.exe`.
          use_env:
              If true we return '$CC' or '$CXX' if the corresponding
              environmental variable is set (without evaluating with `getenv()`
              or `os.environ`).
  
      Returns `(cc, pythonflags)`:
          cc:
              C or C++ command. On Windows this is of the form
              `{vs.vcvars}&&{vs.cl}`; otherwise it is typically `cc` or `c++`.
          pythonflags:
              The `pythonflags` arg or a new `pipcl.PythonFlags` instance.
      """
      if not pythonflags:
          pythonflags = PythonFlags()
      cc = None
      if use_env:
          if cpp:
              if os.environ.get("CXX"):
                  cc = "$CXX"
          else:
              if os.environ.get("CC"):
                  cc = "$CC"
      if cc:
          pass
      elif windows():
          if not vs:
              vs = wdev.WindowsVS()
          cc = f'"{vs.vcvars}"&&"{vs.cl}"'
      elif wasm():
          cc = "em++" if cpp else "emcc"
      else:
          cc = "c++" if cpp else "cc"
      cc = macos_add_cross_flags(cc)
      return cc, pythonflags
  
imports: import base64
  import glob
  import hashlib
  import inspect
  import io
  import os
  import platform
  import re
  import shutil
  import site
  import setuptools
  import subprocess
  import sys
  import sysconfig
  import tarfile
  import textwrap
  import time
  import zipfile
  import wdev
label_desc: Use image node_id 2 for calling a global function with example usage: base_compiler(vs, pythonflags, cpp, use_env) and returns: cc,  pythonflags