
    G/Ph                     ^    d dl mZ d dlmZ d	dZ G d de          Z G d de          ZdS )
    )Command)logNc                     | rd S | g } |                      d           ddlm} dd l}|j        j        } ||           d S )N   r   )show_fcompilers)appendnumpy.distutils.fcompilerr   distutils.corecore_setup_distribution)_cacher   	distutilsdists       g/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numpy/distutils/command/config_compiler.pyshow_fortran_compilersr      si     	
MM!999999>-DOD    c                   F    e Zd ZdZdZg dZdddefgZg dZd Z	d	 Z
d
 ZdS )	config_fcz Distutils command to hold user specified options
    to Fortran compilers.

    config_fc command is used by the FCompiler.customize() method.
    z2specify Fortran 77/Fortran 90 compiler information)
)z
fcompiler=Nzspecify Fortran compiler type)zf77exec=Nzspecify F77 compiler command)zf90exec=Nzspecify F90 compiler command)z	f77flags=Nzspecify F77 compiler flags)z	f90flags=Nzspecify F90 compiler flags)zopt=Nzspecify optimization flags)zarch=Nz0specify architecture specific optimization flags)debuggz"compile with debugging information)nooptNzcompile without optimization)noarchNz+compile without arch-dependent optimizationzhelp-fcompilerNz list available Fortran compilers)r   r   r   c                     d | _         d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _        d | _	        d S N)
	fcompilerf77execf90execf77flagsf90flagsoptarchr   r   r   selfs    r   initialize_optionszconfig_fc.initialize_options/   sL    	

r   c                 P   t          j        d           |                     d          }|                     d          }|                     d          }|                     d          }| ||||g}dD ]}g }|D ]I}t          ||          }	|	5t	          |	t
                    s|	j        }	|	|vr|                    |	           J|sd }
n|d         }
t          |          dk    rt          j	        d	|d
|d           |
r&|D ]#}t          ||          t          |||
           $d S )NzTunifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
build_clib	build_extconfigbuild)r   r   r     commands have different --
 options:  , using first in list as defaultr   infoget_finalized_commandgetattr
isinstancestrcompiler_typer   lenwarnsetattrr#   r&   r'   r(   r)   cmd_listalcvv1s              r   finalize_optionszconfig_fc.finalize_options;   sm   ghhh//==
..{;;	++H55**733&*i? 	@ 	@AA / /AqMM=%a--B1?qzz188A;;; 4bbt"1vvaxx?@qq!!!E F F F @! @ @Aq!}},gaB.?.?.?	@ 	@r   c                     d S r    r"   s    r   runzconfig_fc.runR       r   )__name__
__module____qualname____doc__descriptionuser_optionsr   help_optionsboolean_optionsr$   r>   rA   r@   r   r   r   r      s          GK
 
 
L 
4!C		!
L
 322O
 
 
@ @ @.    r   r   c                   .    e Zd ZdZdZdgZd Zd Zd ZdS )	config_cczN Distutils command to hold user specified options
    to C/C++ compilers.
    z"specify C/C++ compiler information)z	compiler=Nzspecify C/C++ compiler typec                     d | _         d S r   compilerr"   s    r   r$   zconfig_cc.initialize_optionsa   s    r   c                 P   t          j        d           |                     d          }|                     d          }|                     d          }|                     d          }| ||||g}dD ]}g }|D ]I}t          ||          }	|	5t	          |	t
                    s|	j        }	|	|vr|                    |	           J|sd }
n|d         }
t          |          dk    rt          j	        d	|d
|d           |
r&|D ]#}t          ||          t          |||
           $d S )NzSunifing config_cc, config, build_clib, build_ext, build commands --compiler optionsr&   r'   r(   r)   rN   r   r   r*   r+   r,   r-   r7   s              r   r>   zconfig_cc.finalize_optionsd   sf   fggg//==
..{;;	++H55**733&*i? 	@ 	@AA / /AqMM=%a--B1?qzz188A;;; 4bbt"1vvaxx?@qq!!!E F F F @! @ @Aq!}},gaB.?.?.?r   c                     d S r   r@   r"   s    r   rA   zconfig_cc.run|   rB   r   N)	rC   rD   rE   rF   rG   rH   r$   r>   rA   r@   r   r   rL   rL   V   s^          7K 	;
L    0    r   rL   r   )r
   r   numpy.distutilsr   r   r   rL   r@   r   r   <module>rS      s    " " " " " "      
 
 
 
B B B B B B B BH( ( ( ( ( ( ( ( ( (r   