JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrў fW:c@sdZddlZddlmZmZmZmZmZmZddl m Z m Z m Z ddl mZddlmZddlmZGdd d e ZdS( udistutils.bcppcompiler Contains BorlandCCompiler, an implementation of the abstract CCompiler class for the Borland C++ compiler. iN(uDistutilsExecErroruDistutilsPlatformErroru CompileErroruLibErroru LinkErroruUnknownFileError(u CCompilerugen_preprocess_optionsugen_lib_options(u write_file(unewer(ulogc Bs|EeZdZdZdZiZdgZdddgZeeZdZ dZ d Z d Z Z d Zd d d d dZdddd dddddZdd dddZdddddd dddddd Zd ddZd dddZdddddddZdS(u BCPPCompileruConcrete class that implements an interface to the Borland C/C++ compiler, as defined by the CCompiler abstract class. ubcppu.cu.ccu.cppu.cxxu.obju.libu.dllu%s%su.exeicCstj||||d|_d|_d|_d|_ddddg|_ddddg|_d d dd g|_ d d dd g|_ g|_ d dd g|_ d dd d g|_ dS( Nu bcc32.exeu ilink32.exeutlib.exeu/tWMu/O2u/qu/g0u/Odu/Tpdu/Gnu/xu/r(u CCompileru__init__ucculinkerulibuNoneupreprocess_optionsucompile_optionsucompile_options_debuguldflags_shareduldflags_shared_debuguldflags_staticu ldflags_exeuldflags_exe_debug(uselfuverboseudry_runuforce((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyu__init__5s     uBCPPCompiler.__init__c Cs |j||||||\}} }} } |p6g} | jd|r_| j|jn| j|jx| D]} y| | \}}Wntk rwvYnXtjj|}tjj| } |j tjj | |dkrqvn|dkrZy|j dd| |gWqvt k rS}zt |WYdd}~XqvXqvn||jkrrd}n||jkrd}nd}d| }y4|j |jg| | ||g||gWqvt k r}zt |WYdd}~XqvXqvW| S( Nu-cu.resu.rcubrcc32u-fouu-Pu-o(u_setup_compileuappenduextenducompile_options_debugucompile_optionsuKeyErroruosupathunormpathumkpathudirnameuspawnuDistutilsExecErroru CompileErroru _c_extensionsu_cpp_extensionsucc(uselfusourcesu output_dirumacrosu include_dirsudebugu extra_preargsuextra_postargsudependsuobjectsupp_optsubuildu compile_optsuobjusrcuextumsgu input_optu output_opt((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyucompileQsF         .#uBCPPCompiler.compilec Cs|j||\}}|j|d|}|j||r|dg|}|rXny|j|jg|Wqtk r}zt|WYdd}~XqXntjd|dS(Nu output_diru/uuskipping %s (up-to-date)( u_fix_object_argsulibrary_filenameu _need_linkuspawnulibuDistutilsExecErroruLibErrorulogudebug( uselfuobjectsuoutput_libnameu output_dirudebugu target_languoutput_filenameulib_argsumsg((u;/opt/alt/python33/lib64/python3.3/distutils/bcppcompiler.pyucreate_static_libs"uBCPPCompiler.create_static_libc Cs|j||\}}|j|||\}}}|rUtjdt|n|dk rytjj||}n|j ||r|t j krd}| r|j dd}q|j dd}n5d}| r|jdd}n|jdd}|dkrd}ntjj|\}}tjj|\}}tjj|d}tjj|d|}dg}x+|pgD]}|jd||fqW|jt||fd |ttjj|}|g}g}x[|D]S}tjjtjj|\}}|d kr@|j|q|j|qWx+|D]#}|jd tjj|qXW|jd |j||jd |g|jdxL|D]D}|j||| }|dkr|j|q|j|qW|jd|jd|jd |g|jd |j|| rh| |dds .