-ν
λΆ<c       s   d  Z  d Z d k Z d k Z d k l Z l Z l Z l Z l	 Z	 l
 Z
 d k l Z l Z l Z d k l Z d k l Z d e f d     YZ d S(	   s   distutils.bcppcompiler

Contains BorlandCCompiler, an implementation of the abstract CCompiler class
for the Borland C++ compiler.
s<   $Id: bcppcompiler.py,v 1.11 2001/12/06 20:51:35 fdrake Exp $N(   s   DistutilsExecErrors   DistutilsPlatformErrors   CompileErrors   LibErrors	   LinkErrors   UnknownFileError(   s	   CCompilers   gen_preprocess_optionss   gen_lib_options(   s
   write_file(   s   newers   BCPPCompilerc    
  sχ   t  Z d  Z d Z h  Z d g Z d d d g Z e e Z d Z d Z	 d Z
 d	 Z Z d
 Z d d d d  Z e e e d e e d  Z e d e e d  Z e e e e e d e e e d 	 Z d d  Z d d d  Z e e e e e d  Z RS(   s   Concrete class that implements an interface to the Borland C/C++
    compiler, as defined by the CCompiler abstract class.
    s   bcpps   .cs   .ccs   .cpps   .cxxs   .objs   .libs   .dlls   %s%ss   .exei    c    sΒ   t  i |  | | |  d |  _ d |  _ d |  _ t	 |  _
 d d d d g |  _ d d d d g |  _ d	 d
 d d g |  _ d	 d
 d d g |  _ g  |  _ d
 d d g |  _ d
 d d d g |  _ d  S(   Ns	   bcc32.exes   ilink32.exes   tlib.exes   /tWMs   /O2s   /qs   /g0s   /Ods   /Tpds   /Gns   /xs   /r(   s	   CCompilers   __init__s   selfs   verboses   dry_runs   forces   ccs   linkers   libs   Nones   preprocess_optionss   compile_optionss   compile_options_debugs   ldflags_shareds   ldflags_shared_debugs   ldflags_statics   ldflags_exes   ldflags_exe_debug(   s   selfs   verboses   dry_runs   force(    (    s,   /usr/lib/python2.2/distutils/bcppcompiler.pys   __init__6 s    					c    sR  |  i | | |  \ } } } |  i | |  \ }	 } | t
 j o
 g  } n t | |  } | p g  } | i d  | o | i |  i  n | i |  i  x¦t t |   D]} | | } |	 | } t i i |  d } | | o |  i d | | f  n=t i i |  } t i i |  } |  i t i i  |   | d j o q΄ n | d j oE y |  i! d d | | g  Wn t" j
 o }
 t$ |
  n Xq΄ n | |  i% j o
 d } n! | |  i' j o
 d	 } n d } d
 | } y4 |  i! |  i) g | | | | g | | g  Wn t" j
 o }
 t$ |
  n Xq΄ W|	 Sd  S(   Ns   -ci   s   skipping %s (%s up-to-date)s   .ress   .rcs   brcc32s   -fos    s   -Ps   -o(*   s   selfs   _fix_compile_argss
   output_dirs   macross   include_dirss   _prep_compiles   sourcess   objectss   skip_sourcess   extra_postargss   Nones   gen_preprocess_optionss   pp_optss   extra_preargss   compile_optss   appends   debugs   extends   compile_options_debugs   compile_optionss   ranges   lens   is   srcs   objs   oss   paths   splitexts   exts   announces   normpaths   mkpaths   dirnames   spawns   DistutilsExecErrors   msgs   CompileErrors   _c_extensionss	   input_opts   _cpp_extensionss
   output_opts   cc(   s   selfs   sourcess
   output_dirs   macross   include_dirss   debugs   extra_preargss   extra_postargss   pp_optss   objectss   msgs   srcs   skip_sourcess   objs   is   exts	   input_opts   compile_optss
   output_opt(    (    s,   /usr/lib/python2.2/distutils/bcppcompiler.pys   compileR sL    	
 


4c 
   sέ   |  i | |  \ } } |  i | d | } |  i | |  o | d g | } | o n | o | | d *n | o | i |  n y |  i |  i g |  Wn t j
 o }	 t |	  n Xn |  i d |  d  S(   Ns
   output_dirs   /ui    s   skipping %s (up-to-date)(   s   selfs   _fix_object_argss   objectss
   output_dirs   library_filenames   output_libnames   output_filenames
   _need_links   lib_argss   debugs   extra_preargss   extra_postargss   extends   spawns   libs   DistutilsExecErrors   msgs   LibErrors   announce(
   s   selfs   objectss   output_libnames
   output_dirs   debugs   extra_preargss   extra_postargss   output_filenames   lib_argss   msg(    (    s,   /usr/lib/python2.2/distutils/bcppcompiler.pys   create_static_lib s    c    sΩ  |  i | |  \ } } |  i | | |  \ } } } | o |  i d t	 |   n | t
 j	 o t i i | |  } n |  i | |  o3| t i j o) d } |	 o |  i } n |  i } n& d } |	 o |  i } n |  i } | t
 j o
 d } n΅ t i i |  \ } } t i i |  \ } } t i i" | d  } t i i | d |  } d g } x, | p g  D] } | i& d | | f  q|W|  i' t( | | f d	 |  t) t i i* |  } | g } g  } x] | D]U } t i i t i i. |   \ } } | d
 j o | i& |  n | i& |  qεWx+ | D]# } | i& d t i i* |   qEW| i& d  | i1 |  | i1 d | g  | i& d  xN | D]F } |  i3 | | |	  } | t
 j o | i& |  n | i& |  q­W| i& d  | i& d  | i1 d | g  | i& d  | i1 |  |
 o |
 | d *n | o | i1 |  n |  i7 t i i" |   y |  i8 |  i9 g |  Wn t: j
 o } t< |  n Xn |  i= d |  d  S(   Ns5   I don't know what to do with 'runtime_library_dirs': s   c0w32s   c0d32s    i    s   %s.defs   EXPORTSs     %s=_%ss
   writing %ss   .ress   /L%ss   /L.s   ,s   ,,s   import32s   cw32mts   skipping %s (up-to-date)(>   s   selfs   _fix_object_argss   objectss
   output_dirs   _fix_lib_argss	   librariess   library_dirss   runtime_library_dirss   warns   strs   Nones   oss   paths   joins   output_filenames
   _need_links   target_descs	   CCompilers
   EXECUTABLEs   startup_objs   debugs   ldflags_exe_debugs   ld_argss   ldflags_exes   ldflags_shared_debugs   ldflags_shareds   export_symbolss   def_files   splits   heads   tails   splitexts   modnames   exts   dirnames   temp_dirs   contentss   syms   appends   executes
   write_files   maps   normpaths   objects2s	   resourcess   files   normcases   bases   ls   extends   libs   find_library_files   libfiles   extra_preargss   extra_postargss   mkpaths   spawns   linkers   DistutilsExecErrors   msgs	   LinkErrors   announce(   s   selfs   target_descs   objectss   output_filenames
   output_dirs	   librariess   library_dirss   runtime_library_dirss   export_symbolss   debugs   extra_preargss   extra_postargss
   build_temps   objects2s   ld_argss   libfiles   heads   msgs   syms   files   contentss   ls   modnames   exts   libs   temp_dirs   def_files   tails   bases   startup_objs	   resources(    (    s,   /usr/lib/python2.2/distutils/bcppcompiler.pys   linkΊ s    

	 	 $ ! c 	   s’   | o( | d } | d | d | | f } n | d | f } x\ | D]P } xG | D]? } t i i	 | |  i |   } t i i |  o | Sn qS WqF Wt Sd  S(   Ns   _ds   _bcpp(   s   debugs   libs   dlibs	   try_namess   dirss   dirs   names   oss   paths   joins   selfs   library_filenames   libfiles   existss   None(	   s   selfs   dirss   libs   debugs	   try_namess   names   libfiles   dlibs   dir(    (    s,   /usr/lib/python2.2/distutils/bcppcompiler.pys   find_library_fileCs    

  s    c    s-  | t j o
 d } n g  } x| D]ύ } t i i t i i |   \ } } | |  i d d g j o t d | | f  n | o t i i |  } n | d j o$ | i t i i | | |   nU | d j o$ | i t i i | | d   n$ | i t i i | | |  i   q$ W| Sd  S(   Ns    s   .rcs   .ress"   unknown file type '%s' (from '%s')(   s
   output_dirs   Nones	   obj_namess   source_filenamess   src_names   oss   paths   splitexts   normcases   bases   exts   selfs   src_extensionss   UnknownFileErrors	   strip_dirs   basenames   appends   joins   obj_extension(   s   selfs   source_filenamess	   strip_dirs
   output_dirs	   obj_namess   exts   bases   src_name(    (    s,   /usr/lib/python2.2/distutils/bcppcompiler.pys   object_filenames]s"     
 $$$c    s   |  i t | |  \ }
 } } t | |  } d g | } | t j	 o | i
 d |  n | o | | d *n | o | i |  n | i
 |  |  i p | t j p t | |  o_ | o |  i t i i |   n y |  i |  Wn# t j
 o }	 |	 GHt |	  n Xn d  S(   Ns	   cpp32.exes   -oi    (   s   selfs   _fix_compile_argss   Nones   macross   include_dirss   _s   gen_preprocess_optionss   pp_optss   pp_argss   output_files   appends   extra_preargss   extra_postargss   extends   sources   forces   newers   mkpaths   oss   paths   dirnames   spawns   DistutilsExecErrors   msgs   CompileError(   s   selfs   sources   output_files   macross   include_dirss   extra_preargss   extra_postargss   pp_argss   pp_optss   msgs   _(    (    s,   /usr/lib/python2.2/distutils/bcppcompiler.pys
   preprocessys$    '(   s   __name__s
   __module__s   __doc__s   compiler_types   executabless   _c_extensionss   _cpp_extensionss   src_extensionss   obj_extensions   static_lib_extensions   shared_lib_extensions   static_lib_formats   shared_lib_formats   exe_extensions   __init__s   Nones   compiles   create_static_libs   links   find_library_files   object_filenamess
   preprocess(    (    (    s,   /usr/lib/python2.2/distutils/bcppcompiler.pys   BCPPCompiler s$    	

J$(   s   __doc__s   __revision__s   syss   oss   distutils.errorss   DistutilsExecErrors   DistutilsPlatformErrors   CompileErrors   LibErrors	   LinkErrors   UnknownFileErrors   distutils.ccompilers	   CCompilers   gen_preprocess_optionss   gen_lib_optionss   distutils.file_utils
   write_files   distutils.dep_utils   newers   BCPPCompiler(   s	   CCompilers   DistutilsPlatformErrors   __revision__s   DistutilsExecErrors   gen_preprocess_optionss   gen_lib_optionss	   LinkErrors   BCPPCompilers   syss   newers   CompileErrors
   write_files   oss   LibErrors   UnknownFileError(    (    s,   /usr/lib/python2.2/distutils/bcppcompiler.pys   ? s   	+