Ζ
.Oφ9c       s   d  Z  d Z d k Z d k Z d k Z d k l Z l Z l Z l	 Z	 l
 Z
 d k l Z l Z 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.7 2000/09/27 02:08:14 gward Exp $N(   s   DistutilsExecErrors   DistutilsPlatformErrors   CompileErrors   LibErrors	   LinkError(   s	   CCompilers   gen_preprocess_optionss   gen_lib_options(   s
   write_files   BCPPCompilerc    
  sΩ   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 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   .exec    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   forces3   /mit/python/lib/python2.0/distutils/bcppcompiler.pys   __init__6 s    					i    c    sT  |  i | | |  \ } } } |  i | |  \ } }	 | t
 j o
 g  } n t | |  }
 | p g  } | i d  | o | i |  i  n | i |  i  x¨t t |   d r} | | } | | } 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    i   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   objectss   skip_sourcess   pp_optss   compile_optss   is   srcs   objs   exts   msgs	   input_opts
   output_opts3   /mit/python/lib/python2.0/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   msgs3   /mit/python/lib/python2.0/distutils/bcppcompiler.pys   create_static_lib s    c    sα  |  i | |  \ } } |  i | | |  \ } } } | o |  i d t	 |   n | t
 j	 o t i i | |  } n |  i | |  o;| 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 r } | i& d | | f  q~W|  i' t( | | f d	 |  t) t i i* |  } | g } g  } x_ | d rU } t i i t i i. |   \ } } | d
 j o | i& |  n | i& |  qιWx- | d r# } | i& d t i i* |   qKW| i& d  | i1 |  | i1 d | g  | i& d  xP | d rF } |  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   startup_objs   ld_argss   def_files   heads   tails   modnames   exts   temp_dirs   contentss   syms   objects2s	   resourcess   files   bases   ls   libs   libfiles   msgs3   /mit/python/lib/python2.0/distutils/bcppcompiler.pys   linkΊ s    

	 		 $	 !	 c 	   s¦   | o( | d } | d | d | | f } n | d | f } x` | d rR } xI | d r? } t i i	 | |  i |   } t i i |  o | Sn qW WqH Wt Sd  S(   Ns   _ds   _bcppi    (   s   debugs   libs   dlibs	   try_namess   dirss   dirs   names   oss   paths   joins   selfs   library_filenames   libfiles   existss   None(	   s   selfs   dirss   libs   debugs   dlibs	   try_namess   dirs   names   libfiles3   /mit/python/lib/python2.0/distutils/bcppcompiler.pys   find_library_fileCs    

	 	 c    s/  | t j o
 d } n g  } x| d rύ } 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    i    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   src_names   bases   exts3   /mit/python/lib/python2.0/distutils/bcppcompiler.pys   object_filenames]s"     
	 $$$s    (   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_filenames(    s3   /mit/python/lib/python2.0/distutils/bcppcompiler.pys   BCPPCompiler s"    	

J$(   s   __doc__s   __revision__s   syss   oss   strings   distutils.errorss   DistutilsExecErrors   DistutilsPlatformErrors   CompileErrors   LibErrors	   LinkErrors   distutils.ccompilers	   CCompilers   gen_preprocess_optionss   gen_lib_optionss   distutils.file_utils
   write_files   BCPPCompiler(    s3   /mit/python/lib/python2.0/distutils/bcppcompiler.pys   ? s   	%