ó 2ÄÈ[c@ sZddlmZmZddlZddlZddlZddlmZmZddl m Z m Z ddl m Z ddlmZmZddlmZmZddlmZmZdd lmZmZd d „Zd atad Zd„ZeƒZdefd„ƒYZdefd„ƒYZ defd„ƒYZ!de"fd„ƒYZ#dS(iÿÿÿÿ(tdivisiontprint_functionN(tmkstemptmkdtemp(tPopentPIPE(tDistutilsError(t ccompilertcustomized_ccompiler(tassert_t assert_equal(t system_infot ConfigParser(tdefault_lib_dirstdefault_include_dirsicC s-itd6td6j|jƒtƒ}|ƒS(sg notfound_action: 0 - do nothing 1 - display warning message 2 - raise error ttemp1ttemp2(t Temp1Infot Temp2Infotgettlowert _system_info(tnametnotfound_actiontcl((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyt get_classs  sZ [ALL] library_dirs = {dir1:s}{pathsep:s}{dir2:s} libraries = {lib1:s},{lib2:s} extra_compile_args = -I/fake/directory runtime_library_dirs = {dir1:s} [temp1] library_dirs = {dir1:s} libraries = {lib1:s} runtime_library_dirs = {dir1:s} [temp2] library_dirs = {dir2:s} libraries = {lib2:s} extra_link_args = -Wl,-rpath={lib2:s} rpath = {dir2:s} s· /* This file is generated from numpy/distutils/testing/test_system_info.py */ #include void foo(void) { printf("Hello foo"); } void bar(void) { printf("Hello bar"); } cC sÄtƒ}y |j}WnRtk rjy|js?|jƒnWnttfk rZtSX|jg}nXy@t |dt dt ƒ}|j j ƒ|j j ƒ|jƒWntk r¿tSXtS(s? Return True if there appears to be an executable compiler tstdouttstderr(RtcompilertAttributeErrort initializedt initializeRt ValueErrortFalsetccRRRtcloseRtwaittOSErrortTrue(Rtcmdtp((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyt have_compiler;s$       RcB s#eZeedd„Zd„ZRS(icC sfi|j_g|_idd6dd6dd6dd6dd6dd6dd 6dd 6}t|ƒ|_dS( Ntt library_dirst include_dirstruntime_library_dirstrpathtsrc_dirst0tsearch_static_firsttextra_compile_argstextra_link_args(t __class__tinfotlocal_prefixesR tcp(tselfR Rt verbositytdefaults((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyt__init__Ws    cC si|d6|d6}|S(s-Override _check_libs to return with all dirs t librariesR+((R8tlib_dirstlibstopt_libstextsR5((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyt _check_libsjs(t__name__t __module__R RR;RA(((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyRUs RcB seZdZdZRS(sFor testing purposesR(RBRCt__doc__tsection(((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyRpsRcB seZdZdZRS(sFor testing purposesR(RBRCRDRE(((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyRustTestSystemInfoReadingcB s£eZd„Zd„Zd„Zd„Zd„Zejj e ddƒd„ƒZ ejj e ddƒejj de e jƒƒkdd ƒd „ƒƒZRS( cC sºtƒ|_tjj|jdƒ|_tjj|jdƒ|_tƒ|_tjj|jdƒ|_tjj|jdƒ|_ t j i|jd6|jd6|jd6|j d6tj d 6a tƒ\}|_tj|ƒt|jd ƒ}|jt ƒWd QXt|jd ƒ}|jtƒWd QXt|jd ƒ}|jtƒWd QXd „}|td ƒ|jƒ|_|tdƒ|jƒ|_|tdƒ|jƒ|_d S(s Create the libraries sfoo.cs libfoo.sosbar.cs libbar.sotdir1tlib1tdir2tlib2tpathseptwNcS s|g|_|jƒ|S(N(tfilestparse_config_files(tctsite_cfg((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pytsite_and_parsešs  tdefaultRR(Rt_dir1tostpathtjoint_src1t_lib1t_dir2t_src2t_lib2t simple_sitetformatRKRPRt_sitecfgR#topentwritetfakelib_c_textRt c_defaulttc_temp1tc_temp2(R8tfdRQ((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pytsetup|s0         cC s|ytj|jƒWntk r'nXytj|jƒWntk rOnXytj|jƒWntk rwnXdS(N(tshutiltrmtreeRSt ExceptionRYRTtremoveR^(R8((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pytteardown¢s   cC s„|j}t|jƒ|j|jgƒt|jƒ|j|jgƒt|jƒ|jgƒ|j ƒ}t|ddgƒdS(NR2s-I/fake/directory( RbR t get_lib_dirsRSRYt get_librariesRXR[tget_runtime_lib_dirstcalc_extra_info(R8ttsitextra((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyttest_all±s   cC sX|j}t|jƒ|jgƒt|jƒ|jgƒt|jƒ|jgƒdS(N(RcR RlRSRmRXRn(R8Rp((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyt test_temp1ºs cC s…|j}t|jƒ|jgƒt|jƒ|jgƒt|jddƒ|jgƒ|jƒ}t|dd|jgƒdS(NtkeyR.R3s -Wl,-rpath=(RdR RlRYRmR[RnRo(R8RpRq((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyt test_temp2Ás   treasonsMissing compilercC s¬tƒ}tjƒ}z‚tj|jƒ|jtjj|jƒgd|jƒt tjj |jj ddƒƒp’tjj |jj ddƒƒƒWdtj|ƒXdS(Nt output_dirs.cs.os.obj( RRTtgetcwdtchdirRStcompileRUtbasenameRWR tisfiletreplace(R8ROt previousDir((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyt test_compile1Ës  ($&tmsvcsFails with MSVC compiler cC sª|j}tƒ}|jƒd}tjƒ}zgtj|jƒ|jtjj |j ƒgd|jd|ƒt tjj |j j ddƒƒƒWdtj|ƒXdS(NR3Rwtextra_postargss.cs.o(RdRRoRTRxRyRYRzRUR{RZR R|R}(R8RpROR3R~((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyt test_compile2Ús   ')(RBRCRfRkRrRsRutpytesttmarktskipift HAVE_COMPILERRtreprRt new_compilerR‚(((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyRFzs &   "!($t __future__RRRTRgRƒttempfileRRt subprocessRRtdistutils.errorsRtnumpy.distutilsRRt numpy.testingR R tnumpy.distutils.system_infoR R R RRR\RPRaR)R†RRRtobjectRF(((sE/tmp/pip-build-fiC0ax/numpy/numpy/distutils/tests/test_system_info.pyts(