class_docstr: Handles the Cygwin port of the GNU C compiler to Windows.
class_docstr_tok: ["Handles","the","Cygwin","port","of","the","GNU","C","compiler","to","Windows","."]
code: def __init__(self, verbose=0, dry_run=0, force=0):
      super().__init__(verbose, dry_run, force)
  
      status, details = check_config_h()
      self.debug_print(
          "Python's GCC status: {} (details: {})".format(
              status, details
          )
      )
      if status is not CONFIG_H_OK:
          self.warn(
              "Python's pyconfig.h doesn't seem to support your compiler. "
              "Reason: %s. "
              "Compiling may fail because of undefined preprocessor macros."
              % details
          )
  
      self.cc = os.environ.get("CC", "gcc")
      self.cxx = os.environ.get("CXX", "g++")
  
      self.linker_dll = self.cc
      shared_option = "-shared"
  
      self.set_executables(
          compiler="%s -mcygwin -O -Wall" % self.cc,
          compiler_so="%s -mcygwin -mdll -O -Wall" % self.cc,
          compiler_cxx="%s -mcygwin -O -Wall" % self.cxx,
          linker_exe="%s -mcygwin" % self.cc,
          linker_so=(
              "{} -mcygwin {}".format(self.linker_dll, shared_option)
          ),
      )
  
      # Include the appropriate MSVC runtime library if Python was built
      # with MSVC 7.0 or later.
      self.dll_libraries = get_msvcr()
  
imports: import os
  import re
  import sys
  import copy
  import shlex
  import warnings
  from subprocess import check_output
  from .unixccompiler import UnixCCompiler
  from .file_util import write_file
  from .errors import DistutilsExecError, DistutilsPlatformError, CCompilerError, CompileError
  from .version import LooseVersion, suppress_known_deprecation
  from ._collections import RangeMap
label_desc: Use image node_id 1 to create a new CygwinCCompiler object from inherited base classes: UnixCCompiler with example: obj = CygwinCCompiler(verbose, dry_run, force)