JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $Yf:@sddlZddlZddlZddlmZddlmZddlmZm Z m Z ddl m Z m Z mZmZddlmZejdkrddlZGdd d eZdS) N) sysconfig)newer) CCompilergen_preprocess_optionsgen_lib_options)DistutilsExecError CompileErrorLibError LinkError)logdarwincseZdZdZddddgddgddgddd gd dgd d d gddiZejdddkrdgedrr isinstancestrtype TypeErrorr)r*joinr@rAr%r(r+rZ EXECUTABLErrrbasenamer5r6r7r8r,rr r rB)rZ target_descrArDr=r r!r"Zexport_symbolsrBr.r/Z build_temprCr0Zlib_optsZld_argsZlinkerir3r#r#r$linksH       "zUnixCCompiler.linkcCsd|S)Nz-Lr#)rdirr#r#r$library_dir_optionsz UnixCCompiler.library_dir_optioncCsd|kpd|kS)Ngcczg++r#)rZ compiler_namer#r#r$_is_gccszUnixCCompiler._is_gcccCs tjjtjd}tjdddkr<d|Stjdddkr]d|Stjddd kr|j|rd d|gSd d|gStjddd kstjddd krd|gS|j|rtjddkr d|Sd|Snd|SdS)NCCrr z-LZfreebsdz -Wl,-rpath=zhp-uxz-Wl,+sz+sZirix646Zosf1V5z-rpathGNULDyesz-Wl,--enable-new-dtags,-Rz-Wl,-Rz-R)r)r*rNrrr5r6rT)rrQrr#r#r$runtime_library_dir_options 2  z(UnixCCompiler.runtime_library_dir_optioncCsd|S)Nz-lr#)rlibr#r#r$library_option szUnixCCompiler.library_optioncCs.|j|dd}|j|dd}|j|dd}|j|dd}tjdkrtjd}tjd|} | dkrd } n| jd } x|D]w} tj j | |} tj j | |} tj j | |}tj j | |}tjdkr| j d sF| j d r| j d  rtj j | | d d|} tj j | | d d|} tj j | | d d|}tj j | | d d|}tj j | r| Stj j |r|Stj j | r| Stj j |r|SqWdS)NZlib_typeshareddylib xcode_stubstaticr CFLAGSz-isysroot\s+(\S+)/rGz/System/z/usr/z /usr/local/) r?r5r6rrresearchgroupr)r*rM startswithexists)rdirsr[rBZshared_fZdylib_fZ xcode_stub_fZstatic_fZcflagsmZsysrootrQr]r^r`r_r#r#r$find_library_file s>   """"zUnixCCompiler.find_library_file)__name__ __module__ __qualname__Z compiler_typeZ executablesr5r6Zsrc_extensionsZ obj_extensionZstatic_lib_extensionZshared_lib_extensionZdylib_lib_extensionZxcode_stub_lib_extensionZstatic_lib_formatZshared_lib_formatZdylib_lib_formatZxcode_stub_lib_formatZ exe_extensionrr4r<rErPrRrTrZr\rjr#r#)rr$r -sF            6   , r )r)r5rcZ distutilsrZdistutils.dep_utilrZdistutils.ccompilerrrrZdistutils.errorsrrr r r r6r7r r#r#r#r$s$"