ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ ]c@`sVdZddlmZmZmZddlZddlZddlmZddlm Z ddl m Z ddl mZmZmZddlmZdd lmZdd lmZdd lmZdd lmZmZmZmZmZmZm Z m!Z!dd l"m#Z#ye$Wn!e%k r;ddl&m'Z$nXde fdYZ dS(sC Modified version of build_ext that handles fortran source files. i(tdivisiontabsolute_importtprint_functionN(tglob(t newer_group(t build_ext(tDistutilsFileErrortDistutilsSetupErrortDistutilsError(t copy_file(tlog(t exec_command(t combine_paths(tfilter_sourcest has_f_sourcesthas_cxx_sourcestget_ext_source_filestget_numpy_include_dirst is_sequencetget_build_architecturet msvc_version(tshow_fortran_compilers(tSetRcB`seZdZejddgZejdddefgZdZd Z d Z d Z d Z d Z dZdZdZRS(s:build C/C++/F extensions (compile/link to build directory)s fcompiler=s!specify the Fortran compiler types parallel=tjsnumber of parallel jobsshelp-fcompilers list available Fortran compilerscC`s#tj|d|_d|_dS(N(t old_build_exttinitialize_optionstNonet fcompilertparallel(tself((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/distutils/command/build_ext.pyR.s  cC`s|jrByt|j|_WqBtk r>tdqBXnt|jtro|jjtj|_n|jp{g}|j jdkrg|j _n|j j|_|jj |t j ||jdddS(Ns)--parallel/-j argument must be an integertbuildR(RR(Rtintt ValueErrort isinstancet include_dirststrtsplittostpathsept distributionRtextendRtfinalize_optionstset_undefined_options(Rt incl_dirs((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/distutils/command/build_ext.pyR)3s    c C`s|js dS|jd|jjr|jr|jjjdritjd|jj d}q|jj d}d|_|j |j d|jjdextension %r has Fortran sources but no Fortran compiler foundsTextension %r has Fortran libraries but no Fortran linker found, using default linkersc++sLextension %r has C++ libraries but no C++ linker found, using default linkertdependsscompiling C sourcest output_dirR6R"tdebugtextra_postargsscompiling C++ sourcess#compiling Fortran 90 module sourcess*.modsfailed to move %r to %rscompiling Fortran sourcestintelwtintelemwR4R5truntime_library_dirstexport_symbolst build_tempt target_lang(R8R9(RwR~R(R8R9(>RURRRRStlisttget_ext_fullnameRAR$tjoinRHtget_package_dirR%tpathtget_ext_filenamet build_libRzR3RR R|RRtextra_compile_argsRTt undef_macrosRIR R0R]RVR`R\thasattrRxRyRYRRDRR"Rtcompilet module_dirstdirnametmkpathtmodule_dir_switchRtmodule_optionstabspathtisfiletremovet move_fileRt extra_objectsR(textra_link_argst get_librariesR5tlink_shared_objectt_libs_with_msvc_and_fortranRtget_export_symbols(#RRfRUtfullnametmodpathtpackagetbaseRut package_dirt ext_filenameRzt extra_argsR6tundeft c_sourcest cxx_sourcest f_sourcestfmodule_sourcesRRZtkwsR{R"t c_objectsR}t f_objectsRtmodule_build_dirtexisting_modulestftttobjectsR4R5tlinker((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/distutils/command/build_ext.pytbuild_extensions            '*                    $               cC`sw|jdj}|jdj}|jjtjj|dgd|j}|jj |dd|d|j dS(NR,R-sgfortran_vs2003_hack.cR{t_gfortran_workaroundR|( RHR,R-R0RR%RRRtcreate_static_libR|(RRR,R-R((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/distutils/command/build_ext.pyt_add_dummy_mingwex_syms   cC`s|dkrdSx;|D]3}|jdr2qnt}xI|pDgD];}tjj|d|}tjj|rEt}PqEqEW|rqnt}x|D]}tjj|d|}tjj|rtjj|j|d}t |||j|kr|j |jnt}PqqW|r3qnt j d||fqWg} x`|j D]U} | jdrtdd| gd t\} } | s| } qn| j | q^W|j| x|jD]} | jds|j | t| d | d }|rwtjj|j| d}tjj|sOt |d |n|j|krt|j |jqtqwqqWdS( NRws%s.libslib%s.as.libs+could not find library %r in directories %ss/usr/libtcygpaths-wtuse_teetlibs.ai(Rt startswithR[R%RRRR_RR RIR RDR5R R(R4R (RRt c_librariestc_library_dirsRct fileexiststlibdirtlibfiletlibfile2t f_lib_dirstdirtstoRtptdst_name((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/distutils/command/build_ext.pyRsZ     !   cC`sA|j|jg}x$|jD]}|jt|q W|S(N(tcheck_extensions_listR>R(R(Rt filenamesRf((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/distutils/command/build_ext.pytget_source_filess cC`sw|j|jg}xZ|jD]O}|js5q n|j|j}|jtjj|j |j |q W|S(N( RR>RURRSRIR%RRRR(RtoutputsRfR((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/distutils/command/build_ext.pyt get_outputss N(s fcompiler=Ns!specify the Fortran compiler type(s parallel=Rsnumber of parallel jobs(t__name__t __module__t descriptionRt user_optionsRt help_optionsRRR)RGRsRRRRR(((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/distutils/command/build_ext.pyRs$        6 ((t__doc__t __future__RRRR%tsysRtdistutils.dep_utilRtdistutils.command.build_extRRtdistutils.errorsRRRtdistutils.file_utilR tnumpy.distutilsR tnumpy.distutils.exec_commandR tnumpy.distutils.system_infoR tnumpy.distutils.misc_utilR RRRRRRRt'numpy.distutils.command.config_compilerRRPt NameErrortsetsR(((sT/opt/alt/python27/lib64/python2.7/site-packages/numpy/distutils/command/build_ext.pyts$  :