o
    ʩZh                     @   s   d dl Z d dlmZ d dlmZ d dlmZ e  dkr"d dlm	Z	 G dd deZ
G d	d
 d
e
ZG dd deZe  dkrRG dd de	ZG dd deZdS dS )    N)UnixCCompiler)find_executable)simple_version_matchWindows)MSVCCompilerc                   @   &   e Zd ZdZdZdZdZd	ddZdS )
IntelCCompilerz=A modified Intel compiler compatible with a GCC-built Python.inteliccZfPICr   c                 C   ~   t | ||| |  }|r|dk rdnd}d|| _| j}t dkr(d}nd}| j|||d|d	 |d
 | d	 d d S )N15openmpqopenmpz7icc -fPIC -fp-model strict -O3 -fomit-frame-pointer -{}Darwin-Wl,-undefined,dynamic_lookup-sharedxiar cru -shared-intel compilerZcompiler_socompiler_cxxZarchiverZ
linker_exeZ	linker_sor   __init__get_versionformatcc_exeplatformsystemZset_executablesselfverbosedry_runforcevZmpoptr   Zshared_flag r%   U/var/www/html/lang_env/lib/python3.10/site-packages/numpy/distutils/intelccompiler.pyr      &   

zIntelCCompiler.__init__Nr   r   r   __name__
__module____qualname____doc__compiler_typer   Zcc_argsr   r%   r%   r%   r&   r   
   s    r   c                   @   s.   e Zd ZdZeeddgD ]Zer dS qdS )IntelItaniumCCompilerZinteler
   ZeccN)r*   r+   r,   r.   mapr   r   r%   r%   r%   r&   r/   &   s    r/   c                   @   r   )
IntelEM64TCCompilerzT
    A modified Intel x86_64 compiler compatible with a 64bit GCC-built Python.
    Zintelemzicc -m64z-fPICr   c                 C   r   )Nr   r   r   zEicc -std=c99 -m64 -fPIC -fp-model strict -O3 -fomit-frame-pointer -{}r   r   r   r   r   r   r   r   r   r%   r%   r&   r   8   r'   zIntelEM64TCCompiler.__init__Nr(   r)   r%   r%   r%   r&   r1   0   s    r1   c                   @   s,   e Zd ZdZdZdZd
ddZddd	ZdS )IntelCCompilerWzQ
        A modified Intel compiler compatible with an MSVC-built Python.
        ZintelwZiclr   c                 C   $   t | ||| tdd}|| _d S )NzIntel\(R\).*?32,start)r   r   r   Z_IntelCCompilerW__versionr    r!   r"   r#   Zversion_matchr%   r%   r&   r   V      

zIntelCCompilerW.__init__Nc                 C   sH   t | | | d| _| d| _| d| _g d| _g d| _d S )Nzicl.exeZxilibZxilink)/nologoz/O3z/MD/W3	/Qstd=c99)r8   z/Odz/MDdr9   r:   z/Z7z/D_DEBUG)r   
initializeZfind_execclibZlinkerZcompile_optionsZcompile_options_debug)r    Z	plat_namer%   r%   r&   r;   [   s   
zIntelCCompilerW.initializer(   )N)r*   r+   r,   r-   r.   r   r   r;   r%   r%   r%   r&   r2   O   s    
r2   c                   @   s   e Zd ZdZdZdddZdS )IntelEM64TCCompilerWze
        A modified Intel x86_64 compiler compatible with
        a 64bit MSVC-built Python.
        Zintelemwr   c                 C   r3   )NzIntel\(R\).*?64,r4   )r   r   r   Z_IntelEM64TCCompilerW__versionr6   r%   r%   r&   r   l   r7   zIntelEM64TCCompilerW.__init__Nr(   )r*   r+   r,   r-   r.   r   r%   r%   r%   r&   r>   e   s    r>   )r   Zdistutils.unixccompilerr   Znumpy.distutils.exec_commandr   Znumpy.distutils.ccompilerr   r   Znumpy.distutils.msvc9compilerr   r   r/   r1   r2   r>   r%   r%   r%   r&   <module>   s    
