
    G/Ph                         d dl Z d dlmZ d dlmZmZ d dlmZ dgZ G d de          Z	e
dk    rEd dlmZ  ej        d	           d d
lmZ  e ed                                                     dS dS )    N)cpu)	FCompilerdummy_fortran_file)	cyg2win32AbsoftFCompilerc                       e Zd ZdZdZdZddgdgdgdgdd	gd
gdZej        dk    rdZ	dZ
dZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )r   absoftzAbsoft Corp Fortran Compilerz(f90:.*?(Absoft Pro FORTRAN Version|FORTRAN 77 Compiler|Absoft Fortran Compiler Version|Copyright Absoft Corporation.*?Version)) (?P<version>[^\s*,]*)(.*?Absoft Corp|)Nf77f90<F90>arz-crranlib)version_cmdcompiler_f77compiler_fixcompiler_f90	linker_soarchiverr   ntz/out:z-pc                 h    t          t                                }ddd|dz   d|dz   g| j        d<   d S )Nr   z-Vz-cz.fz-oz.or   )r   r   executables)selffs     `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numpy/distutils/fcompiler/absoft.pyupdate_executablesz"AbsoftFCompiler.update_executables/   sB    (**+++2D$+,T644+A'''    c                 n    t           j        dk    rdg}n |                                 dk    rdg}nddg}|S )Nr   z/dllz9.0z-sharedz-Kshared)osnameget_versionr   opts     r   get_flags_linker_soz#AbsoftFCompiler.get_flags_linker_so4   sG    7D==(CC
 5((+CC"C
r   c                 :    t           j        dk    rdd|z  gS d|z   S )Nr   z-linkz/PATH:%sz-Lr   r    )r   dirs     r   library_dir_optionz"AbsoftFCompiler.library_dir_optionA   s'    7D==Z3/00czr   c                 6    t           j        dk    rd|z  S d|z   S )Nr   z%s.libz-lr&   )r   libs     r   library_optionzAbsoftFCompiler.library_optionF   s"    7D==s##czr   c                 J   t          j        |           }t          j                            d          }|rm|                                 dk    rd}nd}t          j                    rd}nd}|                    t          j	        
                    ||d|                     |S )NABSOFT10.0sh 64r*   )r   get_library_dirsr   environgetr!   r   is_64bitappendpathjoin)r   r#   dprefixsuffixs        r   r2   z AbsoftFCompiler.get_library_dirsK   s    (..JNN8$$ 
	F!!V++|~~ JJrw||AFFFFF'CDDEEE
r   c                    t          j        |           }|                                 dk    r|                    g d           nw|                                 dk    r|                    g d           nG|                                 dk    r|                    g d           n|                    g d           t          j        dk    r|                    d	           |S )
Nz11.0)af90mathafioaf77mathamiscr.   )r=   r>   r?   U778.0)f90mathfiof77mathrA   )rD   rC   fmathrA   r   COMDLG32)r   get_librariesr!   extendr   r    r6   r"   s     r   rH   zAbsoftFCompiler.get_libraries[   s    %d++''JJ@@@AAAA6))JJ>>>????5((JJ;;;<<<<JJ999:::7T>>JJz"""
r   c                     t          j        |           }t          j        dk    rW|                    dg           |                                 r-|                                 dk    r|                    d           |S )Nr   z-sz8.2z-fpic)r   	get_flagsr   r    rI   r!   r6   r"   s     r   rK   zAbsoftFCompiler.get_flagsi   ss    !$''7d??JJv!! (##%%u,,JJw'''
r   c                 t   t          j        |           }|                    g d           |                                 }t          j        dk    r |r|dk    r|                    ddg           nH|                    d           |r1|dk    r|                    d           n|                    d           |S )N)z-N22z-N90z-N110r   rB   -fz-N154.6z-B108)r   get_flags_f77rI   r!   r   r    r6   )r   r#   vs      r   rO   zAbsoftFCompiler.get_flags_f77r   s    %d++

,,,---7d?? +QXX

D&>***JJt 'e88JJw'''' JJv&&&
r   c                     t          j        |           }|                    g d           |                                 r.|                                 dk    r|                    dg           |S )Nz-YCFRL=1z-YCOM_NAMES=LCSz	-YCOM_PFXz	-YEXT_PFXz-YCOM_SFX=_z-YEXT_SFX=_z-YEXT_NAMES=LCSrN   z-YDEALLOC=ALL)r   get_flags_f90rI   r!   r"   s     r   rS   zAbsoftFCompiler.get_flags_f90   s    %d++

 E E E 	F 	F 	F 	.!!%''

O,---
r   c                     t          j        |           }|                    g d           |                    ddg           |S )NrR   rM   fixed)r   get_flags_fixrI   r"   s     r   rV   zAbsoftFCompiler.get_flags_fix   sX    %d++

 E E E 	F 	F 	F

D'?###
r   c                     dg}|S )Nz-O r"   s     r   get_flags_optzAbsoftFCompiler.get_flags_opt   s    f
r   )__name__
__module____qualname__compiler_typedescriptionversion_patternr   r   r    library_switchmodule_dir_switchmodule_include_switchr   r$   r(   r+   r2   rH   rK   rO   rS   rV   rY   rX   r   r   r   r      s       M0KBO !"
 
K 
w}}  A A A
    
  
         $        r   __main__)log   )customized_fcompilerr	   )compiler)r   numpy.distutils.cpuinfor   numpy.distutils.fcompilerr   r   numpy.distutils.misc_utilr   	compilersr   rZ   	distutilsrd   set_verbositynumpy.distutilsrf   printr!   rX   r   r   <module>rp      s   
			 ' ' ' ' ' ' C C C C C C C C / / / / / /	F F F F Fi F F FP zCa444444	E


1
1
1
=
=
?
?@@@@@	 r   