o 6a @sddlZddlmZddlmZddlmZmZmZddgZGdddeZ ddl Z GdddeZ e d krbdd l mZed dd lmZd ejvrWeed ddSeedddSdS)N) FCompiler)platform)joindirnamenormpathPGroupFCompilerPGroupFlangCompilerc@seZdZdZdZdZedkr(ddgddggd ddgd gd d gd gdZdgZnddgdgddgdgdgd d gd gdZdgZdZ dZ ddZ ddZ ddZ edkrXddZnddZddZd S)!rpgzPortland Group Fortran Compilerz1\s*pg(f77|f90|hpf|fortran) (?P[\d.-]+).*darwinz-V pgfortran -dynamiclib)r -Mfixedr libtoolarz-crranlib version_cmd compiler_f77 compiler_fix compiler_f90 linker_soarchiverrrz-fpic-module z-IcCsddg}|j|S)Nz-Minform=informz-Mnosecond_underscore) pic_flagsselfoptr >/usr/lib/python3/dist-packages/numpy/distutils/fcompiler/pg.py get_flags+s zPGroupFCompiler.get_flagscCdgS)Nz-fastr rr r r! get_flags_opt/zPGroupFCompiler.get_flags_optcCr#Nz-gr r$r r r!get_flags_debug2r&zPGroupFCompiler.get_flags_debugcCsgdS)N)z-dynamicz -undefineddynamic_lookupr r$r r r!get_flags_linker_so6z#PGroupFCompiler.get_flags_linker_socCsddgS)Nz-sharedrr r$r r r!r*:r+cCsd|S)Nz-R%sr rdirr r r!runtime_library_dir_option=r+z*PGroupFCompiler.runtime_library_dir_optionN)__name__ __module__ __qualname__ compiler_type descriptionversion_patternr executablesrmodule_dir_switchmodule_include_switchr"r%r(r*r.r r r r!r s@    c@seZdZdZdZdZdZdgZddgdgdgdgdgedd gdd Zd Z d Z d d Z e j ddddZddZddZddZddZddZddZdS)rflangz$Portland Group Fortran LLVM Compilerz/\s*(flang|clang) version (?P[\d.-]+).*zlib.exer z --versionNz/verbosez/OUT:rrcCst|}|gd|S)N)r8flangrtiompstub)r get_librariesextendrr r r!r;Xs z!PGroupFlangCompiler.get_libraries)maxsizecCs6t|}t|jdd}|tt|dd|S)z%List of compiler library directories.rrz..lib)rget_library_dirsrr5appendrr)rr flang_dirr r r!r@]s z$PGroupFlangCompiler.get_library_dirscCgSNr r$r r r!r"fzPGroupFlangCompiler.get_flagscCrCrDr r$r r r!get_flags_freeirEz"PGroupFlangCompiler.get_flags_freecCr#r'r r$r r r!r(lr&z#PGroupFlangCompiler.get_flags_debugcCr#)Nz-O3r r$r r r!r%or&z!PGroupFlangCompiler.get_flags_optcCrCrDr r$r r r!get_flags_archrrEz"PGroupFlangCompiler.get_flags_archcCstrD)NotImplementedErrorr,r r r!r.urEz.PGroupFlangCompiler.runtime_library_dir_option)r/r0r1r2r3r4ar_exepossible_executablesr5library_switchr6r; functools lru_cacher@r"rFr(r%rGr.r r r r!rCs2    __main__)log)customized_fcompilerr8)compilerr )sysnumpy.distutils.fcompilerrros.pathrrr compilersrrLrr/ distutilsrO set_verbositynumpy.distutilsrQargvprint get_versionr r r r!s   66