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","."]
docstr: Adds supports for rc and res files.
docstr_tok: ["Adds","supports","for","rc","and","res","files","."]
code: def object_filenames(
      self, source_filenames, strip_dir=0, output_dir=""
  ):
      """Adds supports for rc and res files."""
      if output_dir is None:
          output_dir = ""
      obj_names = []
      for src_name in source_filenames:
          # use normcase to make sure '.rc' is really '.rc' and not '.RC'
          base, ext = os.path.splitext(os.path.normcase(src_name))
          if ext not in (self.src_extensions + [".rc", ".res"]):
              raise UnknownFileError(
                  "unknown file type '%s' (from '%s')" % (ext, src_name)
              )
          if strip_dir:
              base = os.path.basename(base)
          if ext in (".res", ".rc"):
              # these need to be compiled to object files
              obj_names.append(
                  os.path.join(
                      output_dir, base + ext + self.obj_extension
                  )
              )
          else:
              obj_names.append(
                  os.path.join(output_dir, base + self.obj_extension)
              )
      return obj_names
  
imports: import os
  import sys
  import copy
  from subprocess import Popen, PIPE, check_output
  import re
  from distutils.unixccompiler import UnixCCompiler
  from distutils.file_util import write_file
  from distutils.errors import DistutilsExecError, CCompilerError, CompileError, UnknownFileError
  from distutils.version import LooseVersion
  from distutils.spawn import find_executable
label_desc: Use image node_id 4 for calling the CygwinCCompiler obj's underlying member method code with example usage: obj.object_filenames(source_filenames, strip_dir, output_dir) and returns: obj_names