o 6˜¿a{ã@sŠddlZddlmZddlmZmZddlmZdgZGdd„deƒZ e dkrCddl m Z e   d ¡dd lmZeed d  ¡ƒdSdS) éN)Úcpu)Ú FCompilerÚdummy_fortran_file)Ú cyg2win32ÚAbsoftFCompilerc@s¨eZdZdZdZdZddgdgdgdgdd gd gd œZejd kr"d Z dZ dZ dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„ZdS)%rÚabsoftzAbsoft Corp Fortran Compilerz§(f90:.*?(Absoft Pro FORTRAN Version|FORTRAN 77 Compiler|Absoft Fortran Compiler Version|Copyright Absoft Corporation.*?Version)) (?P[^\s*,]*)(.*?Absoft Corp|)NÚf77Úf90úÚarz-crÚranlib)Ú version_cmdÚ compiler_f77Ú compiler_fixÚ compiler_f90Ú linker_soÚarchiverr Úntz/out:z-pcCs,ttƒƒ}ddd|dd|dg|jd<dS)Nr z-Vz-cz.fz-oz.or )rrÚ executables)ÚselfÚf©rúB/usr/lib/python3/dist-packages/numpy/distutils/fcompiler/absoft.pyÚupdate_executables/s ÿz"AbsoftFCompiler.update_executablescCs6tjdkr dg}|S| ¡dkrdg}|Sddg}|S)Nrz/dllz9.0z-sharedz-KÚshared)ÚosÚnameÚ get_version©rÚoptrrrÚget_flags_linker_so4s  üÿz#AbsoftFCompiler.get_flags_linker_socCstjdkr dd|gSd|S)Nrz-linkz/PATH:%sz-L©rr)rÚdirrrrÚlibrary_dir_optionAs  z"AbsoftFCompiler.library_dir_optioncCstjdkr d|Sd|S)Nrz%s.libz-lr!)rÚlibrrrÚlibrary_optionFs zAbsoftFCompiler.library_optioncCsbt |¡}tj d¡}|r/| ¡dkrd}nd}t ¡rd}nd}| tj   |d||f¡¡|S)NÚABSOFTú10.0ÚshÚÚ64z%slib%s) rÚget_library_dirsrÚenvironÚgetrrÚis_64bitÚappendÚpathÚjoin)rrÚdÚprefixÚsuffixrrrr+Ks   z AbsoftFCompiler.get_library_dirscCs„t |¡}| ¡dkr| gd¢¡n#| ¡dkr!| gd¢¡n| ¡dkr/| gd¢¡n| gd¢¡tjdkr@| d ¡|S) Nz11.0)Úaf90mathÚafioÚaf77mathÚamiscr')r5r6r7ÚU77ú8.0)Úf90mathÚfioÚf77mathr9)r<r;Úfmathr9rÚCOMDLG32)rÚ get_librariesrÚextendrrr/rrrrr@[s      zAbsoftFCompiler.get_librariescCsBt |¡}tjdkr| dg¡| ¡r| ¡dkr| d¡|S)Nrz-sz8.2z-fpic)rÚ get_flagsrrrArr/rrrrrBis     zAbsoftFCompiler.get_flagscCszt |¡}| gd¢¡| ¡}tjdkr$|r"|dkr"| ddg¡|S| d¡|r;|dkr6| d¡|S| d¡|S)N)z-N22z-N90z-N110rr:ú-fz-N15ú4.6z-B108)rÚ get_flags_f77rArrrr/)rrÚvrrrrErs    ø  ÿzAbsoftFCompiler.get_flags_f77cCs<t |¡}| gd¢¡| ¡r| ¡dkr| dg¡|S)N©z-YCFRL=1z-YCOM_NAMES=LCSz -YCOM_PFXz -YEXT_PFXz -YCOM_SFX=_z -YEXT_SFX=_z-YEXT_NAMES=LCSrDz -YDEALLOC=ALL)rÚ get_flags_f90rArrrrrrH„s   zAbsoftFCompiler.get_flags_f90cCs*t |¡}| gd¢¡| ddg¡|S)NrGrCÚfixed)rÚ get_flags_fixrArrrrrJs zAbsoftFCompiler.get_flags_fixcCs dg}|S)Nz-OrrrrrÚ get_flags_opt”szAbsoftFCompiler.get_flags_opt)Ú__name__Ú __module__Ú __qualname__Ú compiler_typeÚ descriptionÚversion_patternrrrÚlibrary_switchÚmodule_dir_switchÚmodule_include_switchrr r#r%r+r@rBrErHrJrKrrrrrs6 ù    Ú__main__)Úlogé)Úcustomized_fcompilerr)Úcompiler)rÚnumpy.distutils.cpuinforÚnumpy.distutils.fcompilerrrÚnumpy.distutils.misc_utilrÚ compilersrrLÚ distutilsrVÚ set_verbosityÚnumpy.distutilsrXÚprintrrrrrÚs     ü