-í
ë¶<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    
  s0   t  Z d  Z   d Z & h  Z ) d g Z * d d d g Z . e e Z / d Z 0 d Z	 1 d Z
 2 d	 Z Z 3 d
 Z 6 d d d d „ Z R 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 Cd d „ Z ]d d d „ Z y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é   6 ; t  i |  | | | ƒ A d |  _ B d |  _ C d |  _ E t	 |  _
 F d d d d g |  _ G d d d d g |  _ I d	 d
 d d g |  _ J d	 d
 d d g |  _ K g  |  _ L d
 d d g |  _ M 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    sÇ  R [ |  i | | | ƒ \ } } } ] |  i | | ƒ \ }	 } _ | t
 j o ` g  } n b t | | ƒ } c | p g  } d | i d ƒ e | o f | i |  i ƒ n h | i |  i ƒ j xôt t | ƒ ƒ Dj ]Ý} k | | } |	 | } l t i i | ƒ d } n | | o o |  i d | | f ƒ n|q t i i | ƒ } r t i i | ƒ } s |  i t i i  | ƒ ƒ u | d j o
 w qØ n x | d j oT z y  { |  i! d d | | g ƒ Wn$ | t" j
 o }
 } t$ |
 ‚ n X~ qØ n  | |  i% j o ‚ d } n* ƒ | |  i' j o „ d	 } n
 ‰ d } ‹ d
 | }  y7 ‘ |  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   	!
 	
 
	7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 | | ƒ oÞÙ | t i j o5 Ú d } Û |	 o Ü |  i } n Þ |  i } n2 à 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 } ð x2 | p g  Dð ]  } ñ | i& d | | f ƒ qÇWò |  i' t( | | f ó d	 | ƒ ö t) t i i* | ƒ } ù | g } ú g  } û xl | Dû ]a } ü t i i t i i. | ƒ ƒ \ } } ý | d
 j o þ | i& | ƒ n  | i& | ƒ qHWx1 | D]& } | i& d t i i* | ƒ ƒ qºW| i& d ƒ | i1 | ƒ | i1 d | g ƒ | i& d ƒ x] | D]R } |  i3 | | |	 ƒ } | t
 j o | i& | ƒ n #| i& | ƒ q7W&| i& d ƒ '| i& d ƒ *| i1 d | g ƒ ,| i& d ƒ -| i1 | ƒ 0|
 o 1|
 | d *n 2| o 3| i1 | ƒ n 5|  i7 t i i" | ƒ ƒ 6y 7|  i8 |  i9 g | ƒ Wn$ 8t: j
 o } 9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É   CM| o. N| d } O| d | d | | f } n Q| d | f } Sxq | DS]_ } TxS | DT]H } Ut i i	 | |  i | ƒ ƒ } Vt i i | ƒ o W| Sn qk WqX WZt 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    sc  ]a| t j o ad } n bg  } cx)| Dc]} et i i t i i | ƒ ƒ \ } } f| |  i d d g j o gt d | | f ‚ n j| o kt i i | ƒ } n l| d j o' n| i t i i | | | ƒ ƒ na o| d j o' q| i t i i | | d ƒ ƒ n* s| i t i i | t| |  i ƒ ƒ q3 Wu| 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    sY  y|  i t | | ƒ \ }
 } } ƒt | | ƒ } „d g | } …| t j	 o †| i
 d | ƒ n ‡| o ˆ| | d *n ‰| o Š| i | ƒ n ‹| i
 | ƒ |  i p | t j p t | | ƒ ot ‘| o  ’|  i t i i | ƒ ƒ n “y ”|  i | ƒ Wn, •t j
 o }	 –|	 GH—t |	 ‚ 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   		.