ó \ĞKc@sdZddlZddlmZmZddlTddlmZddlZd„Z ee de ƒdddd „Z ee d e ƒdS( s= unixccompiler - can handle very long argument lists for ar. iÿÿÿÿN(tDistutilsExecErrort CompileError(t*(treplace_methodc Csudtjj|jdƒ|f}y/|j|j||d|g|d|ƒWntk rp}t|‚nXdS(s9Compile a single source files with a Unix-style compiler.s%s: %sis-otdisplayN(tostpathtbasenamet compiler_sotspawnRR( tselftobjtsrctexttcc_argstextra_postargstpp_optsRtmsg((sA/usr/lib/python2.7/site-packages/numpy/distutils/unixccompiler.pytUnixCCompiler__compiles #t_compileic Cs„|j||ƒ\}}|j|d|ƒ}|j||ƒrpytj|ƒWnttfk rinX|jtjj |ƒƒ||j }xk|rı|d }|d}dtjj |j dƒt |ƒ|f}|j|j |g|d|ƒq“W|jr€dtjj |jdƒ|f}y!|j|j|gd|ƒWqmtk ri} t| ‚qmXq€ntjd|ƒdS( sŒ Build a static library in a separate sub-process. Parameters ---------- objects : list or tuple of str List of paths to object files used to build the static library. output_libname : str The library name as an absolute or relative (if `output_dir` is used) path. output_dir : str, optional The path to the output directory. Default is None, in which case the ``output_dir`` attribute of the UnixCCompiler instance. debug : bool, optional This parameter is not used. target_lang : str, optional This parameter is not used. Returns ------- None t output_diri2s %s: adding %d object files to %siRs%s:@ %ssskipping %s (up-to-date)N(t_fix_object_argstlibrary_filenamet _need_linkRtunlinktIOErrortOSErrortmkpathRtdirnametobjectsRtarchivertlenR tranlibRtLibErrortlogtdebug( R Rtoutput_libnameRR#t target_langtoutput_filenamet tmp_objectsRR((sA/usr/lib/python2.7/site-packages/numpy/distutils/unixccompiler.pytUnixCCompiler_create_static_libs6        tcreate_static_lib( t__doc__Rtdistutils.errorsRRtdistutils.unixccompilertnumpy.distutils.ccompilerRR"Rt UnixCCompilertNoneR((((sA/usr/lib/python2.7/site-packages/numpy/distutils/unixccompiler.pyts    A