a
    bDéa
  ã                   @   sH   d dl Z d dlZd dlmZ d dlmZ d dlmZ G dd„ deƒZdS )é    N)Úbuild)Úget_platform)Úshow_fortran_compilersc                   @   sl   e Zd Zddd„ fddd„ fdejfgej Zejg d¢ Zejdd	d
efg Zdd„ Z	dd„ Z
dd„ Zd	S )r   Z	config_ccc                  G   s   dS ©NT© ©Úargsr   r   úm/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/numpy/distutils/command/build.pyÚ<lambda>	   ó    zbuild.<lambda>Z	config_fcc                  G   s   dS r   r   r   r   r   r	   r
   
   r   Z	build_src))z
fcompiler=Nz!specify the Fortran compiler type)z
warn-errorNz'turn all warnings into errors (-Werror))zcpu-baseline=Nz4specify a list of enabled baseline CPU optimizations)zcpu-dispatch=Nz.specify a list of dispatched CPU optimizations)zdisable-optimizationNz1disable CPU optimized code(dispatch,simd,fast...))z
simd-test=NzMspecify a list of CPU optimizations to be tested against NumPy SIMD interfacezhelp-fcompilerNz list available Fortran compilersc                 C   s2   t  | ¡ d | _d| _d| _d| _d| _d| _d S )NFÚminzmax -xop -fma4zTBASELINE SSE2 SSE42 XOP FMA4 (FMA3 AVX2) AVX512F AVX512_SKX VSX VSX2 VSX3 NEON ASIMD)Ú	old_buildÚinitialize_optionsZ	fcompilerZ
warn_errorZcpu_baselineZcpu_dispatchZdisable_optimizationZ	simd_test©Úselfr   r   r	   r   "   s    

zbuild.initialize_optionsc                 C   sP   | j }t | ¡ djtƒ gtjd d… ¢R Ž }|d u rLtj 	| j
d| ¡| _ d S )Nz	.{}-{}.{}é   Úscripts)Úbuild_scriptsr   Úfinalize_optionsÚformatr   ÚsysÚversion_infoÚosÚpathÚjoinÚ
build_base)r   r   Úplat_specifierr   r   r	   r   4   s    

ÿzbuild.finalize_optionsc                 C   s   t  | ¡ d S )N)r   Úrunr   r   r   r	   r   <   s    z	build.run)Ú__name__Ú
__module__Ú__qualname__r   Úhas_ext_modulesÚsub_commandsÚuser_optionsÚhelp_optionsr   r   r   r   r   r   r   r	   r      s   

þýÿÿr   )	r   r   Zdistutils.command.buildr   r   Údistutils.utilr   Z'numpy.distutils.command.config_compilerr   r   r   r   r	   Ú<module>   s
   