class_docstr: Abstract base class to define the interface that must be implemented
  by real compiler classes.  Also has some utility methods used by
  several compiler classes.
  
  The basic idea behind a compiler abstraction class is that each
  instance can be used for all the compile/link steps in building a
  single project.  Thus, attributes common to all of those compile and
  link steps -- include directories, macros to define, libraries to link
  against, etc. -- are attributes of the compiler instance.  To allow for
  variability in how individual files are treated, most of those
  attributes may be varied on a per-compilation or per-link basis.
class_docstr_tok: ["Abstract","base","class","to","define","the","interface","that","must","be","implemented","by","real","compiler","classes",".","Also","has","some","utility","methods","used","by","several","compiler","classes",".","The","basic","idea","behind","a","compiler","abstraction","class","is","that","each","instance","can","be","used","for","all","the","compile\/link","steps","in","building","a","single","project",".","Thus",",","attributes","common","to","all","of","those","compile","and","link","steps","--","include","directories",",","macros","to","define",",","libraries","to","link","against",",","etc",".","--","are","attributes","of","the","compiler","instance",".","To","allow","for","variability","in","how","individual","files","are","treated",",","most","of","those","attributes","may","be","varied","on","a","per-compilation","or","per-link","basis","."]
docstr: Link a bunch of stuff together to create a static library file.
  The "bunch of stuff" consists of the list of object files supplied
  as 'objects', the extra object files supplied to
  'add_link_object()' and/or 'set_link_objects()', the libraries
  supplied to 'add_library()' and/or 'set_libraries()', and the
  libraries supplied as 'libraries' (if any).
  
  'output_libname' should be a library name, not a filename; the
  filename will be inferred from the library name.  'output_dir' is
  the directory where the library file will be put.
  
  'debug' is a boolean; if true, debugging information will be
  included in the library (note that on most platforms, it is the
  compile step where this matters: the 'debug' flag is included here
  just for consistency).
  
  'target_lang' is the target language for which the given objects
  are being compiled. This allows specific linkage time treatment of
  certain languages.
  
  Raises LibError on failure.
docstr_tok: ["Link","a","bunch","of","stuff","together","to","create","a","static","library","file",".","The","``","bunch","of","stuff","''","consists","of","the","list","of","object","files","supplied","as","'objects","'",",","the","extra","object","files","supplied","to","'add_link_object","(",")","'","and\/or","'set_link_objects","(",")","'",",","the","libraries","supplied","to","'add_library","(",")","'","and\/or","'set_libraries","(",")","'",",","and","the","libraries","supplied","as","'libraries","'","(","if","any",")",".","'output_libname","'","should","be","a","library","name",",","not","a","filename",";","the","filename","will","be","inferred","from","the","library","name",".","'output_dir","'","is","the","directory","where","the","library","file","will","be","put",".","'debug","'","is","a","boolean",";","if","true",",","debugging","information","will","be","included","in","the","library","(","note","that","on","most","platforms",",","it","is","the","compile","step","where","this","matters",":","the","'debug","'","flag","is","included","here","just","for","consistency",")",".","'target_lang","'","is","the","target","language","for","which","the","given","objects","are","being","compiled",".","This","allows","specific","linkage","time","treatment","of","certain","languages",".","Raises","LibError","on","failure","."]
code: def create_static_lib(
      self,
      objects,
      output_libname,
      output_dir=None,
      debug=0,
      target_lang=None,
  ):
      """Link a bunch of stuff together to create a static library file.
      The "bunch of stuff" consists of the list of object files supplied
      as 'objects', the extra object files supplied to
      'add_link_object()' and/or 'set_link_objects()', the libraries
      supplied to 'add_library()' and/or 'set_libraries()', and the
      libraries supplied as 'libraries' (if any).
  
      'output_libname' should be a library name, not a filename; the
      filename will be inferred from the library name.  'output_dir' is
      the directory where the library file will be put.
  
      'debug' is a boolean; if true, debugging information will be
      included in the library (note that on most platforms, it is the
      compile step where this matters: the 'debug' flag is included here
      just for consistency).
  
      'target_lang' is the target language for which the given objects
      are being compiled. This allows specific linkage time treatment of
      certain languages.
  
      Raises LibError on failure.
      """
      pass
  
imports: import sys
  import os
  import re
  import warnings
  from .errors import CompileError, LinkError, UnknownFileError, DistutilsPlatformError, DistutilsModuleError
  from .spawn import spawn
  from .file_util import move_file
  from .dir_util import mkpath
  from ._modified import newer_group
  from .util import split_quoted, execute
  from ._log import log
label_desc: Use image node_id 29 for calling the CCompiler obj's underlying member method code with example usage: obj.create_static_lib(objects, output_libname, output_dir, debug, target_lang) without return types