-í
ì¶<c       s°   d  Z  d Z d k Z d k Z d k Z d k Z d k Td k l Z d k l	 Z	 d k
 l Z d k l Z l Z l Z d k l Z l Z l Z l Z d	 e f d
 „  ƒ  YZ d S(   s9  distutils.unixccompiler

Contains the UnixCCompiler class, a subclass of CCompiler that handles
the "typical" Unix-style command-line C compiler:
  * macros defined with -Dname[=value]
  * macros undefined with -Uname
  * include search directories specified with -Idir
  * libraries specified with -lllib
  * library search directories specified with -Ldir
  * compile handled by 'cc' (or similar) executable with -c option:
    compiles .c to .o
  * link static library handled by 'ar' command (possibly with 'ranlib')
  * link shared library handled by 'cc -shared'
s>   $Id: unixccompiler.py,v 1.38.6.1 2002/03/17 19:47:39 mwh Exp $N(   s   *(   s   copy(   s	   sysconfig(   s   newer(   s	   CCompilers   gen_preprocess_optionss   gen_lib_options(   s   DistutilsExecErrors   CompileErrors   LibErrors	   LinkErrors   UnixCCompilerc    
  sj  t  Z d Z h  e d <d g d <d g d <d d g d <d g d <d	 d
 g d <e d <Z e i d  d j o d g e d <n d d d d d d g Z d Z d Z	 d Z
 d Z d Z Z Z d d d d „ Z e e e e e d „ Z e e e d e e d „ Z e d d „ Z e e e e e d e e e d „	 Z d  „  Z d! „  Z d" „  Z d d# „ Z RS($   Ns   unixs   preprocessors   ccs   compilers   compiler_sos   -shareds	   linker_sos
   linker_exes   ars   -crs   archivers   ranlibi   s   darwins   .cs   .Cs   .ccs   .cxxs   .cpps   .ms   .os   .as   .sos   .dylibs   lib%s%si    c    s   t  i |  | | | ƒ d  S(   N(   s	   CCompilers   __init__s   selfs   verboses   dry_runs   force(   s   selfs   verboses   dry_runs   force(    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   __init__S s    c    s
  |  i t | | ƒ \ }
 } } t | | ƒ } |  i | } | o | i d | g ƒ n | o | | d *n | o | i | ƒ n |  i p | t j p t | | ƒ oZ | o |  i t i i | ƒ ƒ n y |  i | ƒ Wn t j
 o }	 t |	 ‚ n Xn d  S(   Ns   -oi    (   s   selfs   _fix_compile_argss   Nones   macross   include_dirss   _s   gen_preprocess_optionss   pp_optss   preprocessors   pp_argss   output_files   extends   extra_preargss   extra_postargss   forces   newers   sources   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/unixccompiler.pys
   preprocessZ s     'c    sX  |  i | | | ƒ \ } } } |  i | | ƒ \ }	 } t	 | | ƒ } | d g } | o d g | d *n | o | | d *n | t j o
 g  } n x· t t | ƒ ƒ D]£ } | | }
 |	 | } | |
 o |  i d |
 | f ƒ nd |  i t i i | ƒ ƒ y) |  i |  i | |
 d | g | ƒ Wn t j
 o } t | ‚ n Xq© W|	 Sd  S(   Ns   -cs   -gi    s   skipping %s (%s up-to-date)s   -o(   s   selfs   _fix_compile_argss
   output_dirs   macross   include_dirss   _prep_compiles   sourcess   objectss   skip_sourcess   gen_preprocess_optionss   pp_optss   cc_argss   debugs   extra_preargss   extra_postargss   Nones   ranges   lens   is   srcs   objs   announces   mkpaths   oss   paths   dirnames   spawns   compiler_sos   DistutilsExecErrors   msgs   CompileError(   s   selfs   sourcess
   output_dirs   macross   include_dirss   debugs   extra_preargss   extra_postargss   pp_optss   objectss   srcs   skip_sourcess   objs   cc_argss   is   msg(    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   compilez s*    	
 )c    sÞ   |  i | | ƒ \ } } |  i | d | ƒ} |  i | | ƒ o‰ |  i t	 i
 i | ƒ ƒ |  i |  i | g | |  i ƒ |  i o@ y |  i |  i | g ƒ Wn t j
 o } t | ‚ n Xn n |  i d | ƒ d  S(   Ns
   output_dirs   skipping %s (up-to-date)(   s   selfs   _fix_object_argss   objectss
   output_dirs   library_filenames   output_libnames   output_filenames
   _need_links   mkpaths   oss   paths   dirnames   spawns   archivers   ranlibs   DistutilsExecErrors   msgs   LibErrors   announce(   s   selfs   objectss   output_libnames
   output_dirs   debugs   msgs   output_filename(    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   create_static_lib¦ s    "	
c    s  |  i | | ƒ \ } } |  i | | | ƒ \ } } } t |  | | | ƒ } t
 | ƒ t t f j o t d ‚ n | t j	 o t i i | | ƒ } n |  i | | ƒ oÞ | |  i | d | g } |	 o d g | d *n |
 o |
 | d *n | o | i | ƒ n |  i t i i | ƒ ƒ y@ | t i j o |  i |  i | ƒ n |  i |  i  | ƒ Wn t! j
 o } t# | ‚ n Xn |  i$ d | ƒ d  S(   Ns%   'output_dir' must be a string or Nones   -os   -gi    s   skipping %s (up-to-date)(%   s   selfs   _fix_object_argss   objectss
   output_dirs   _fix_lib_argss	   librariess   library_dirss   runtime_library_dirss   gen_lib_optionss   lib_optss   types
   StringTypes   NoneTypes	   TypeErrors   Nones   oss   paths   joins   output_filenames
   _need_links   ld_argss   debugs   extra_preargss   extra_postargss   extends   mkpaths   dirnames   target_descs	   CCompilers
   EXECUTABLEs   spawns
   linker_exes	   linker_sos   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   lib_optss   ld_argss   msg(    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   linkÇ s2    	c    s   d | Sd  S(   Ns   -L(   s   dir(   s   selfs   dir(    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   library_dir_optionü s    c    sM   t  i i t i d ƒ ƒ } | d j p
 | d j o d | Sn	 d | Sd  S(   Ns   CCs   gccs   g++s   -Wl,-Rs   -R(   s   oss   paths   basenames	   sysconfigs   get_config_vars   compilers   dir(   s   selfs   dirs   compiler(    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   runtime_library_dir_optionÿ s    c    s   d | Sd  S(   Ns   -l(   s   lib(   s   selfs   lib(    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   library_options    c    sÖ   xÏ | D]Ã } t i i | |  i | d d ƒƒ } t i i | |  i | d d ƒƒ } t i i | |  i | d d ƒƒ } t i i | ƒ o | Sn7 t i i | ƒ o | Sn t i i | ƒ o | Sn q Wt Sd  S(   Ns   lib_types   shareds   dylibs   static(   s   dirss   dirs   oss   paths   joins   selfs   library_filenames   libs   shareds   dylibs   statics   existss   None(   s   selfs   dirss   libs   debugs   statics   dylibs   shareds   dir(    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   find_library_files     $$$(   s   __name__s
   __module__s   compiler_types   Nones   executabless   syss   platforms   src_extensionss   obj_extensions   static_lib_extensions   shared_lib_extensions   dylib_lib_extensions   static_lib_formats   shared_lib_formats   dylib_lib_formats   __init__s
   preprocesss   compiles   create_static_libs   links   library_dir_options   runtime_library_dir_options   library_options   find_library_file(    (    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   UnixCCompiler. s&   Z	 ,!$5			(   s   __doc__s   __revision__s   strings   res   oss   syss   typess   copys	   distutilss	   sysconfigs   distutils.dep_utils   newers   distutils.ccompilers	   CCompilers   gen_preprocess_optionss   gen_lib_optionss   distutils.errorss   DistutilsExecErrors   CompileErrors   LibErrors	   LinkErrors   UnixCCompiler(   s	   sysconfigs   __revision__s   DistutilsExecErrors   strings   gen_preprocess_optionss	   CCompilers   gen_lib_optionss	   LinkErrors   UnixCCompilers   syss   res   newers   CompileErrors   copys   oss   LibError(    (    s-   /usr/lib/python2.2/distutils/unixccompiler.pys   ? s   $