code: def UnixCCompiler__compile(
      self, obj, src, ext, cc_args, extra_postargs, pp_opts
  ):
      """Compile a single source files with a Unix-style compiler."""
      # HP ad-hoc fix, see ticket 1383
      ccomp = self.compiler_so
      if ccomp[0] == "aCC":
          # remove flags that will trigger ANSI-C mode for aCC
          if "-Ae" in ccomp:
              ccomp.remove("-Ae")
          if "-Aa" in ccomp:
              ccomp.remove("-Aa")
          # add flags for (almost) sane C++ handling
          ccomp += ["-AA"]
          self.compiler_so = ccomp
      # ensure OPT environment variable is read
      if "OPT" in os.environ:
          from distutils.sysconfig import get_config_vars
  
          opt = " ".join(os.environ["OPT"].split())
          gcv_opt = " ".join(get_config_vars("OPT")[0].split())
          ccomp_s = " ".join(self.compiler_so)
          if opt not in ccomp_s:
              ccomp_s = ccomp_s.replace(gcv_opt, opt)
              self.compiler_so = ccomp_s.split()
          llink_s = " ".join(self.linker_so)
          if opt not in llink_s:
              self.linker_so = llink_s.split() + opt.split()
  
      display = "%s: %s" % (os.path.basename(self.compiler_so[0]), src)
  
      # gcc style automatic dependencies, outputs a makefile (-MF) that lists
      # all headers needed by a c file as a side effect of compilation (-MMD)
      if getattr(self, "_auto_depends", False):
          deps = ["-MMD", "-MF", obj + ".d"]
      else:
          deps = []
  
      try:
          self.spawn(
              self.compiler_so
              + cc_args
              + [src, "-o", obj]
              + deps
              + extra_postargs,
              display=display,
          )
      except DistutilsExecError:
          msg = str(get_exception())
          raise CompileError(msg)
  
      # add commandline flags to dependency file
      if deps:
          with open(obj + ".d", "a") as f:
              f.write(
                  _commandline_dep_string(
                      cc_args, extra_postargs, pp_opts
                  )
              )
  
file_path: catboost/contrib/python/numpy/py2/numpy/distutils/unixccompiler.py
imports: from __future__ import division, absolute_import, print_function
  import os
  from distutils.errors import DistutilsExecError, CompileError
  from distutils.unixccompiler import *
  from numpy.distutils.ccompiler import replace_method
  from numpy.distutils.compat import get_exception
  from numpy.distutils.misc_util import _commandline_dep_string
label_desc: Use image node_id 1 for calling a global function with example usage: UnixCCompiler__compile(obj, src, ext, cc_args, extra_postargs, pp_opts) without return types