§
    ûµ”cO  ã                  ó*  — d dl mZ d dlZddl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 dd
l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 ddlmZ  G d„ dee	¦  «        Z G d„ dee¦  «        Z G d„ dee¦  «        Z G d„ de¦  «        ZdS )é    )ÚannotationsNé   )Úcoredata)Ú	OptionKeyé   )ÚCompiler)ÚCLikeCompiler)ÚGnuCompilerÚgnu_common_warning_argsÚgnu_objc_warning_args)ÚClangCompiler)ÚExternalProgram)ÚMachineInfo)ÚEnvironment)ÚDynamicLinker)ÚMachineChoicec                  ó@   — e Zd ZdZ	 	 ddd„Zedd„¦   «         Zdd„ZdS ) ÚObjCCompilerÚobjcNÚccacheúT.List[str]ÚexelistÚversionÚstrÚfor_machiner   Úis_crossÚboolÚinfoú'MachineInfo'Úexe_wrapúT.Optional['ExternalProgram']ÚlinkerúT.Optional['DynamicLinker']Úfull_versionúT.Optional[str]c
                ój   — t          j        | |||||||	|¬¦	  «	         t          j        | |¦  «         d S )N)r   r$   r"   )r   Ú__init__r	   )
Úselfr   r   r   r   r   r   r    r"   r$   s
             ú;/usr/lib/python3/dist-packages/mesonbuild/compilers/objc.pyr'   zObjCCompiler.__init__&   sM   € õ
 	Ô˜$ ¨°¸+ÀtØ#+¸,Ø!'ð	)ñ 	)ô 	)ð 	)õ 	Ô˜t XÑ.Ô.Ð.Ð.Ð.ó    Úreturnc                 ó   — dS )NzObjective-C© r-   r*   r)   Úget_display_languagez!ObjCCompiler.get_display_language0   s   € àˆ}r*   Úwork_dirÚenvironmentú'Environment'ÚNonec                ó6   — d}|                       ||d|¦  «        S )Nz/#import<stddef.h>
int main(void) { return 0; }
zsanitycheckobjc.m)Ú_sanity_check_impl)r(   r/   r0   Úcodes       r)   Úsanity_checkzObjCCompiler.sanity_check4   s#   € ØBˆØ×&Ò& x°Ð>QÐSWÑXÔXÐXr*   )NN)r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   )r+   r   )r/   r   r0   r1   r+   r2   )Ú__name__Ú
__module__Ú__qualname__Úlanguager'   Ústaticmethodr.   r6   r-   r*   r)   r   r   "   st   € € € € € à€Hð
 8<Ø15ð	/ð /ð /ð /ð /ð ðð ð ñ „\ððYð Yð Yð Yð Yð Yr*   r   c                  ó    — e Zd Z	 	 	 	 ddd„ZdS )ÚGnuObjCCompilerNr   r   r   r   r   r   r   r   r   r   r   Úexe_wrapperr!   ÚdefinesúT.Optional[T.Dict[str, str]]r"   r#   r$   r%   c                ó"  — t                                | ||||||||	|
¬¦
  «
         t          j        | |¦  «         ddg}g ||dgz   |ddgz   |ddgz   |                      t          ¦  «        z   |                      t
          ¦  «        z   dœ| _        d S )N©r"   r$   ú-Wallú-Winvalid-pchú-Wextraú
-Wpedantic©Ú0Ú1Ú2Ú3Ú
everything)r   r'   r
   Úsupported_warn_argsr   r   Ú	warn_args©r(   r   r   r   r   r   r   r>   r?   r"   r$   Údefault_warn_argss               r)   r'   zGnuObjCCompiler.__init__:   sÅ   € õ 	×Ò˜d F¨G°W¸kÈ8Ø" K¸È\ð 	ñ 	[ô 	[ð 	[åÔ˜T 7Ñ+Ô+Ð+Ø$ oÐ6ÐØ!Ø0Ø0°I°;Ñ>Ø0°I¸|Ð3LÑLØ):¸iÈÐ=VÑ)VØ)-×)AÒ)AÕBYÑ)ZÔ)Zñ*[à)-×)AÒ)AÕBWÑ)XÔ)Xñ*Yð	[ð [ˆŒˆˆr*   ©NNNN©r   r   r   r   r   r   r   r   r   r   r   r   r>   r!   r?   r@   r"   r#   r$   r%   )r7   r8   r9   r'   r-   r*   r)   r=   r=   9   sC   € € € € € ð ?CØ9=Ø7;Ø15ð[ð [ð [ð [ð [ð [ð [r*   r=   c                  ó:   ‡ — e Zd Z	 	 	 	 ddd„Zdˆ fd„Zdd„Zˆ xZS ) ÚClangObjCCompilerNr   r   r   r   r   r   r   r   r   r   r   r>   r!   r?   r@   r"   r#   r$   r%   c                ó®   — t                                | ||||||||	|
¬¦
  «
         t          j        | |¦  «         ddg}g ||dgz   |ddgz   dgdœ| _        d S )NrB   rC   rD   rE   rF   z-WeverythingrG   )r   r'   r   rN   rO   s               r)   r'   zClangObjCCompiler.__init__N   sŒ   € õ 	×Ò˜d F¨G°W¸kÈ8Ø" K¸È\ð 	ñ 	[ô 	[ð 	[åÔ˜t WÑ-Ô-Ð-Ø$ oÐ6ÐØ!Ø0Ø0°I°;Ñ>Ø0°I¸|Ð3LÑLØ)7Ð(8ð	:ð :ˆŒˆˆr*   r+   ú%'coredata.MutableKeyedOptionDictType'c                óÌ   •— t          ¦   «                              ¦   «         }|                     t          d| j        d¬¦  «        t          j        dg d¢d¦  «        i¦  «         |S )NÚstdÚc©ÚmachineÚlangzC language standard to use)	ÚnoneÚc89Úc99Úc11Úc17Úgnu89Úgnu99Úgnu11Úgnu17r]   )ÚsuperÚget_optionsÚupdater   r   r   ÚUserComboOption)r(   ÚoptsÚ	__class__s     €r)   rg   zClangObjCCompiler.get_options^   so   ø€ Ý‰wŒw×"Ò"Ñ$Ô$ˆØ�ŠÝ�e TÔ%5¸CÐ@Ñ@Ô@Å(ÔBZØ,ØXÐXÐXØñCô Cð
ñ 	ô 	ð 	ð ˆr*   Úoptionsú'coredata.KeyedOptionDictType'c                ó”   — g }|t          d| j        d¬¦  «                 }|j        dk    r|                     d|j        z   ¦  «         |S )NrX   rY   rZ   r]   z-std=)r   r   ÚvalueÚappend)r(   rl   ÚargsrX   s       r)   Úget_option_compile_argsz)ClangObjCCompiler.get_option_compile_argsi   sN   € ØˆØ•i ¨tÔ/?ÀcÐJÑJÔJÔKˆØŒ9˜ÒÐØ�KŠK˜ #¤)Ñ+Ñ,Ô,Ð,Øˆr*   rQ   rR   )r+   rV   )rl   rm   r+   r   )r7   r8   r9   r'   rg   rr   Ú__classcell__)rk   s   @r)   rT   rT   M   sy   ø€ € € € € ð ?CØ9=Ø7;Ø15ð:ð :ð :ð :ð :ð 	ð 	ð 	ð 	ð 	ð 	ðð ð ð ð ð ð ð r*   rT   c                  ó   — e Zd ZdZdS )ÚAppleClangObjCCompilerz?Handle the differences between Apple's clang and vanilla clang.N)r7   r8   r9   Ú__doc__r-   r*   r)   ru   ru   p   s   € € € € € àIÐIÐIÐIr*   ru   ) Ú
__future__r   ÚtypingÚTÚ r   Úmesonlibr   Ú	compilersr   Úmixins.cliker	   Ú
mixins.gnur
   r   r   Úmixins.clangr   ÚTYPE_CHECKINGÚprogramsr   Ú	envconfigr   r0   r   Úlinkersr   r   r   r=   rT   ru   r-   r*   r)   ú<module>r„      sÕ  ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ 'Ð 'Ð 'Ð 'Ð 'Ð 'à„?ð )Ø*Ð*Ð*Ð*Ð*Ð*Ø'Ð'Ð'Ð'Ð'Ð'Ø)Ð)Ð)Ð)Ð)Ð)Ø'Ð'Ð'Ð'Ð'Ð'Ø(Ð(Ð(Ð(Ð(Ð(ðYð Yð Yð Yð Y�= (ñ Yô Yð Yð.[ð [ð [ð [ð [�k <ñ [ô [ð [ð(!ð !ð !ð !ð !˜ |ñ !ô !ð !ðFJð Jð Jð Jð JÐ.ñ Jô Jð Jð Jð Jr*   