docstr: Convert a set of object files that are not compatible with the default
  linker, to a file that is compatible.
docstr_tok: ["Convert","a","set","of","object","files","that","are","not","compatible","with","the","default","linker",",","to","a","file","that","is","compatible","."]
code: def wrap_unlinkable_objects(self, objects, output_dir, extra_dll_dir):
      """
      Convert a set of object files that are not compatible with the default
      linker, to a file that is compatible.
      """
      if self.c_compiler.compiler_type == "msvc":
          # Compile a DLL and return the lib for the DLL as
          # the object. Also keep track of previous DLLs that
          # we have compiled so that we can link against them.
  
          # If there are .a archives, assume they are self-contained
          # static libraries, and build separate DLLs for each
          archives = []
          plain_objects = []
          for obj in objects:
              if obj.lower().endswith(".a"):
                  archives.append(obj)
              else:
                  plain_objects.append(obj)
  
          chained_libs = []
          chained_dlls = []
          for archive in archives[::-1]:
              lib, dll = self._link_wrapper_lib(
                  [archive],
                  output_dir,
                  extra_dll_dir,
                  chained_dlls=chained_dlls,
                  is_archive=True,
              )
              chained_libs.insert(0, lib)
              chained_dlls.insert(0, dll)
  
          if not plain_objects:
              return chained_libs
  
          lib, dll = self._link_wrapper_lib(
              plain_objects,
              output_dir,
              extra_dll_dir,
              chained_dlls=chained_dlls,
              is_archive=False,
          )
          return [lib] + chained_libs
      else:
          raise ValueError("Unsupported C compiler")
  
imports: import re
  import os
  import sys
  import warnings
  import platform
  import tempfile
  import hashlib
  import base64
  import subprocess
  from subprocess import Popen, PIPE, STDOUT
  from numpy.distutils.exec_command import filepath_from_subprocess_output
  from numpy.distutils.fcompiler import FCompiler
  from distutils.version import LooseVersion
label_desc: Use image node_id 11 for calling the Gnu95FCompiler obj's underlying member method code with example usage: obj.wrap_unlinkable_objects(objects, output_dir, extra_dll_dir) and returns: unknown, chained_libs