§
    ‹ã÷cá  ã                  óì   — d dl mZ d dlZd dlZddlmZmZmZ ddlm	Z	 ddlm
Z
 ddlmZ dd	lmZmZmZ ej        r&d d
lmZ ddlmZ ddlmZ ddlmZ  G d„ de¦  «        Z G d„ de¦  «        Zdd„ZdS )é    )ÚannotationsNé   )ÚExtensionModuleÚModuleReturnValueÚ
ModuleInfoé   )Úbuild)Úmesonlib)ÚCT_INPUT_KW)Ú	KwargInfoÚtyped_kwargsÚtyped_pos_args)Ú	TypedDict)ÚModuleState)ÚInterpreter)ÚExternalProgramc                  ó$   — e Zd ZU ded<   ded<   dS )ÚProjectKwargsz<T.List[T.Union[mesonlib.FileOrString, build.GeneratedTypes]]Úsourcesz4T.Union[mesonlib.FileOrString, build.GeneratedTypes]Úconstraint_fileN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    ú=/usr/lib/python3/dist-packages/mesonbuild/modules/icestorm.pyr   r       s*   € € € € € € àMÐMÐMÑMØMÐMÐMÑMÐMÐMr   r   c                  ó4  ‡ — e Zd Z eddd¬¦  «        Zdˆ fd	„Zdd„Z edeee	j
        ej        ej        ej        f¬¦  «         ed ej        d¬¦  «         edee	j
        ej        ej        ej        fd¬¦  «        ¦  «        dd„¦   «         ¦   «         Zˆ xZS )ÚIceStormModulezFPGA/Icestormz0.45.0T)ÚunstableÚinterpreterr   ÚreturnÚNonec                óš   •— t          ¦   «                              |¦  «         i | _        | j                             d| j        i¦  «         d S )NÚproject)ÚsuperÚ__init__ÚtoolsÚmethodsÚupdater%   )Úselfr!   Ú	__class__s     €r   r'   zIceStormModule.__init__)   sR   ø€ Ý‰Œ×Ò˜Ñ%Ô%Ð%Ø35ˆŒ
ØŒ×ÒØ�t”|ð
ñ 	ô 	ð 	ð 	ð 	r   Ústater   c                ó(  — |                      d¦  «        | j        d<   |                      d¦  «        | j        d<   |                      d¦  «        | j        d<   |                      d¦  «        | j        d<   |                      d¦  «        | j        d<   d S )NÚyosyszarachne-pnrÚarachneÚicepackÚiceprogÚicetime)Úfind_programr(   )r+   r-   s     r   Údetect_toolszIceStormModule.detect_tools0   sŠ   € Ø#×0Ò0°Ñ9Ô9ˆŒ
�7ÑØ %× 2Ò 2°=Ñ AÔ AˆŒ
�9ÑØ %× 2Ò 2°9Ñ =Ô =ˆŒ
�9ÑØ %× 2Ò 2°9Ñ =Ô =ˆŒ
�9ÑØ %× 2Ò 2°9Ñ =Ô =ˆŒ
�9ÑÐÐr   zicestorm.project)Úvarargsr   )Únamer   )ÚrequiredÚargsúJT.Tuple[str, T.List[T.Union[mesonlib.FileOrString, build.GeneratedTypes]]]Úkwargsr   r   c                óf  — | j         s|                      |¦  «         |\  }}| j                             t	          t          j        ||d         ¦  «        ¦  «        ¦  «        }t          j        |› d�|j	        |j
        |j        | j         d         ddddg||› d�g¦  «        }t          j        |› d	�|j	        |j
        |j        | j         d
         dddddddg|d         |g|› d�g¦  «        }t          j        |› d�|j	        |j
        |j        | j         d         ddg|g|› d�gd¬¦  «        }	t          j        |› d�| j         d         |	gg |j	        |j
        |j        ¦  «        }
t          j        |› d�| j         d         |	gg |j	        |j
        |j        ¦  «        }t          d |||	|
|g¦  «        S )Nr   Ú_blifr/   z-qz-pzsynth_ice40 -blif @OUTPUT@z@INPUT@z.blifÚ_ascr0   z-dÚ1kz-oz@OUTPUT@r   z.ascÚ_binr1   z.binT)Úbuild_by_defaultz-uploadr2   z-timer3   )r(   r5   r!   Úsource_strings_to_filesÚlistÚ	itertoolsÚchainr	   ÚCustomTargetÚsubdirÚ
subprojectÚenvironmentÚ	RunTargetr   )r+   r-   r9   r;   Ú	proj_nameÚarg_sourcesÚall_sourcesÚblif_targetÚ
asc_targetÚ
bin_targetÚupload_targetÚtime_targets               r   r%   zIceStormModule.project7   s.  € ð Œzð 	%Ø×Ò˜eÑ$Ô$Ð$Ø!%Ñˆ	�;ØÔ&×>Ò>Ý•” ¨f°YÔ.?Ñ@Ô@ÑAÔAñCô Cˆõ Ô(ØÐÐÐØŒLØÔØÔØŒZ˜Ô  $¨Ð.JÈIÐVØØÐ Ð Ð Ð!ñ
ô 
ˆõ Ô'ØÐÐÐØŒLØÔØÔØŒZ˜	Ô" D¨$°°d¸IÀtÈZÐXØÐ%Ô&¨Ð4ØÐÐÐÐ ñ
ô 
ˆ
õ Ô'ØÐÐÐØŒLØÔØÔØŒZ˜	Ô" I¨zÐ:ØˆLØÐÐÐÐ Ø!ð	
ñ 	
ô 	
ˆ
õ œØÐ!Ð!Ð!ØŒZ˜	Ô" JÐ/ØØŒLØÔØÔñ
ô 
ˆõ ”oØÐÐÐØŒZ˜	Ô" JÐ/ØØŒLØÔØÔñ
ô 
ˆõ !ØØ˜* j°-ÀÐMñOô Oð 	Or   )r!   r   r"   r#   )r-   r   r"   r#   )r-   r   r9   r:   r;   r   r"   r   )r   r   r   r   ÚINFOr'   r5   r   Ústrr
   ÚFiler	   rF   ÚCustomTargetIndexÚGeneratedListr   r   Úevolver   r%   Ú__classcell__)r,   s   @r   r   r   %   s(  ø€ € € € € àˆ:�o x¸$Ð?Ñ?Ô?€Dðð ð ð ð ð ð>ð >ð >ð >ð €^Ð&¨Ø  (¤-°Ô1CÀUÔE\Ø"Ô0ð2ð3ñ 3ô 3ð €\ØØˆÔ 	Ð*Ñ*Ô*Øˆ	ØØ�(”- Ô!3°UÔ5LÈeÔNaÐbØð	
ñ 	
ô 	
ñô ð<Oð <Oð <Oñô ñ3ô 3ð<Oð <Oð <Oð <Oð <Or   r   Úinterpr   r"   c                ó    — t          | ¦  «        S )N)r   )rZ   s    r   Ú
initializer\   ‚   s   € Ý˜&Ñ!Ô!Ð!r   )rZ   r   r"   r   )Ú
__future__r   rD   ÚtypingÚTÚ r   r   r   r	   r
   Úinterpreter.type_checkingr   Úinterpreterbase.decoratorsr   r   r   ÚTYPE_CHECKINGÚtyping_extensionsr   r   r!   r   Úprogramsr   r   r   r\   r   r   r   ú<module>rf      s�  ðð #Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ø Ð Ð Ð à <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ Pà„?ð 
NØ+Ð+Ð+Ð+Ð+Ð+àÐÐÐÐÐØ)Ð)Ð)Ð)Ð)Ð)Ø*Ð*Ð*Ð*Ð*Ð*ðNð Nð Nð Nð N˜	ñ Nô Nð Nð
ZOð ZOð ZOð ZOð ZO�_ñ ZOô ZOð ZOðz"ð "ð "ð "ð "ð "r   