+
    êh:.  ã                   ó  € R t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIt^RIHt ]P(                  ! R	R
7      R 4       t]P(                  ! R	R
7      R 4       t ! R R]P.                  4      tR# )z"Tests for distutils.unixccompiler.N)Ú	sysconfig)Úconsolidate_linker_args)ÚDistutilsPlatformError)Úsupport)ÚEnvironmentVarGuard)Ú_clear_cached_macosx_ver)ÚunixT)Úautousec                 óä   € V P                  \        R \        P                  4       V P                  \        R\        P                  4       V P                  \        R\        P
                  4       R# )ÚplatformÚget_config_varÚget_config_varsN)ÚsetattrÚsysr   r   r   r   )Úmonkeypatchs   &ÚS/usr/lib/python3/dist-packages/setuptools/_distutils/compilers/C/tests/test_unix.pyÚsave_valuesr      sJ   € à×Ñœ˜Z¬¯©Ô6Ø×Ñœ	Ð#3´Y×5MÑ5MÔNØ×Ñœ	Ð#4´i×6OÑ6OÖPó    c                 ód   €  ! R  R\         P                  4      pV! 4       V P                  n        R# )c                   ó&   a € ] tR t^t o R tRtV tR# )Ú)compiler_wrapper.<locals>.CompilerWrapperc                ó$   € V P                  R 4      # )z/foo)Úruntime_library_dir_option©Úselfs   &r   Ú	rpath_fooÚ3compiler_wrapper.<locals>.CompilerWrapper.rpath_foo   s   € Ø×2Ñ2°6Ó:Ð:r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   ÚCompilerWrapperr      s   ø‡ € ÷	;ð 	;r   r&   N)r   ÚCompilerÚinstanceÚcc)Úrequestr&   s   & r   Úcompiler_wrapperr+      s%   € ô;œ$Ÿ-™-ô ;ñ *Ó+€G×ÑÖr   c                   óp  a € ] tR t^"t o ]P
                  P                  R4      R 4       t]P
                  P                  R4      R 4       t]P
                  P                  R4      ]P
                  P                  R4      R 4       4       t
]P
                  P                  R4      R 4       tR tR tR	tV tR
# )ÚTestUnixCCompilerzplatform.system == "Windows"c                ó�  a aa€ R \         n        RoRpRpRV3RV3RV3RV3RV3RV3RV3RV3RV3R V3R!V3R".pV3R loVVV 3R lpV FC  w  rVVw  rxV! WxV4       Vf
   V! RW†4       Vf   V! VRV4       Ve   K3  Ve   K9  V! RRV4       KE  	  \        P                  p	R\         n        R	 p
V
\        n        S P                  P                  4       R
R.8X  g   Q hR p
V
\        n        S P                  P                  4       RR.8X  g   Q hR p
V
\        n        S P                  P                  4       RR.8X  g   Q hV	\        n        R\         n        R p
V
\        n        S P                  P                  4       \        RR.4      8X  g   Q hR p
V
\        n        S P                  P                  4       \        RR.4      8X  g   Q hR\         n        R p
V
\        n        S P                  P                  4       R8X  g   Q hR\         n        R p
V
\        n        S P                  P                  4       \        RR.4      8X  g   Q hR\         n        R p
V
\        n        S P                  P                  4       \        RR.4      8X  g   Q hR\         n        R p
V
\        n        S P                  P                  4       R8X  g   Q hR# )#ÚdarwinÚMACOSX_DEPLOYMENT_TARGETz-Wl,-rpath,/fooz-L/fooNc                 ó   <a € VV 3R  lpV# )c                 ó   <€ V S8X  d   S# R # ©Úxxxr   )ÚvarÚdarwin_ver_varÚsyscfg_macosx_vers   &€€r   ÚgcvÚRTestUnixCCompiler.test_runtime_libdir_option.<locals>.make_darwin_gcv.<locals>.gcvC   s   ø€ Ø˜.Ô(Ø,Ð,Ùr   r   )r7   r8   r6   s   f €r   Úmake_darwin_gcvÚETestUnixCCompiler.test_runtime_libdir_option.<locals>.make_darwin_gcvB   s   ù€ öð
 ˆJr   c                 ó|  <€ \         P                  pR V : RV: R2p\        P                  pVP	                  S4      p\        4        S! V 4      \        n        Ve   WS&   MSV9   d   VP                  S4       Ve(   S	P                  P                  4       V8X  g   Q V4       hMN\        P                  ! \        SR,           R7      ;_uu_ 4        S	P                  P                  4        RRR4       Ve   WcS&   MSV9   d   VP                  S4       V\        n        \        4        R#   + '       g   i     LH; i)zmacOS version = (sysconfig=z, env=Ú)Nz	 mismatch)Úmatch)ÚosÚenvironr   r   Úgetr   Úpopr)   r   ÚpytestÚraisesr   )
r7   Úenv_macosx_verÚexpected_flagÚenvÚmsgÚold_gcvÚold_env_macosx_verr6   r:   r   s
   &&&    €€€r   Údo_darwin_testÚDTestUnixCCompiler.test_runtime_libdir_option.<locals>.do_darwin_testJ   s  ø€ Ü—*‘*ˆCØ/Ð0AÑ/DÀFÈ>ÑJ\Ð\]Ð^ˆCô  ×.Ñ.ˆGØ!$§¡¨Ó!8Ðô %Ô&Ù'6Ð7HÓ'IŒIÔ$ØÒ)Ø&4�NÒ#Ø 3Ô&Ø—‘˜Ô'ð Ò(Ø—w‘w×(Ñ(Ó*¨mÔ;Ð@¸SÓ@Ñ;ä—]’]Ü*°.À<Õ2O÷ö ð —G‘G×%Ñ%Ô'÷ð "Ò-Ø&8�NÒ#Ø 3Ô&Ø—‘˜Ô'Ø'.ŒIÔ$Ü$Ö&÷÷ ús   ÃD+Ä+D;	Ú zhp-uxc                 ó   € R # r3   r   ©Úvs   &r   r8   Ú9TestUnixCCompiler.test_runtime_libdir_option.<locals>.gcv{   ó   € Ùr   z+sc                 ó   € R # )Úgccr   rO   s   &r   r8   rQ   �   rR   r   z-Wl,+sc                 ó   € R # )zg++r   rO   s   &r   r8   rQ   ‡   rR   r   Úbarc                 ó*   € V R 8X  d   R# V R8X  d   R# R# )ÚCCrT   ÚGNULDÚyesNr   rO   s   &r   r8   rQ   ’   s   € Ø�DŒyÙØ�g”Ùñ r   z-Wl,--enable-new-dtagsc                 ó*   € V R 8X  d   R# V R8X  d   R# R# )rX   zgcc -pthread -B /barrY   rZ   Nr   rO   s   &r   r8   rQ   ž   s   € Ø�DŒyÙ-Ø�g”Ùñ r   c                 ó*   € V R 8X  d   R# V R8X  d   R# R# )rX   rT   rY   ÚnoNr   rO   s   &r   r8   rQ   ­   s   € Ø�DŒyÙØ�g”Ùñ r   z
-Wl,-R/fooc                 ó*   € V R 8X  d   R# V R8X  d   R# R# )rX   zx86_64-pc-linux-gnu-gcc-4.4.2rY   rZ   Nr   rO   s   &r   r8   rQ   º   s   € Ø�DŒyÙ6Ø�g”Ùñ r   c                 ó*   € V R 8X  d   R# V R8X  d   R# R# )rX   r)   rY   rZ   Nr   rO   s   &r   r8   rQ   É   s   € Ø�DŒyÙØ�g”Ùñ r   c                 ó*   € V R 8X  d   R# V R8X  d   R# R# )rX   r)   rY   r]   Nr   rO   s   &r   r8   rQ   Ø   s   € Ø�DŒyÙØ�g”Ùñ r   )NN)NÚ11)Ú10N)ú10.3N)z10.3.1N)ú10.5N)z10.5.1N)rc   rc   )rc   rd   )rd   rc   )rd   ra   ))z10.4rb   N)r   r   r   r   r)   r   r   )r   Údarwin_rpath_flagÚdarwin_lib_flagÚdarwin_test_casesrK   Úmacosx_versrF   r7   rE   rI   r8   r6   r:   s   f          @@r   Útest_runtime_libdir_optionÚ,TestUnixCCompiler.test_runtime_libdir_option#   s  ú€ ð  ŒŒØ3ˆØ-ÐØ"ˆð ˜?Ð+ØÐ,Ð-Ø˜?Ð+Ø˜_Ð-Ø˜Ð/ØÐ.Ð/ØÐ0Ð1Ø˜Ð/ØÐ0Ð1Ø˜Ð/ØÐ.Ð/Ø"ð
Ðõ	÷	'óB +<Ñ&ˆKØ0;Ñ-ÐÙÐ,¸mÔLà Ò(Ù˜r >ÔAØÒ%ÙÐ0°"°mÔDØ Ô(¨^Ô-CÙ˜r 2 }Ö5ñ +<ô ×*Ñ*ˆð ŒŒò	ð $'Œ	Ô Ø�w‰w× Ñ Ó" t¨XÐ&6Ô6Ð6Ð6ò	ð $'Œ	Ô Ø�w‰w× Ñ Ó" x°Ð&:Ô:Ð:Ð:ò	ð $'Œ	Ô Ø�w‰w× Ñ Ó" x°Ð&:Ô:Ð:Ð:à#*Œ	Ô ð ŒŒò	ð $'Œ	Ô Ø�w‰w× Ñ Ó"Ô&=Ø$Øð?
ó 'ô ð 	ð ò
	ð $'Œ	Ô Ø�w‰w× Ñ Ó"Ô&=Ø$Øð?
ó 'ô ð 	ð ð ŒŒò	ð $'Œ	Ô Ø�w‰w× Ñ Ó" lÔ2Ð2Ð2ð ŒŒò	ð $'Œ	Ô Ø�w‰w× Ñ Ó"Ô&=Ø$Øð?
ó 'ô ð 	ð ð ŒŒò	ð $'Œ	Ô Ø�w‰w× Ñ Ó"Ô&=Ø$Øð?
ó 'ô ð 	ð ð ŒŒò	ð $'Œ	Ô Ø�w‰w× Ñ Ó" lÔ2Ð2Ò2r   c                óV  € R  pR\         P                  /R lpV\         n        V\         n        \        4       ;_uu_ 4       pRVR&   VR \         P                  ! V P
                  4       RRR4       V P
                  P                  ^ ,          R8X  g   Q hR#   + '       g   i     L6; i)c                 ó   € V R 8X  d   R# R# ©ÚLDSHAREDú*gcc-4.2 -bundle -undefined dynamic_lookup úgcc-4.2r   rO   s   &r   r8   Ú9TestUnixCCompiler.test_cc_overrides_ldshared.<locals>.gcvå   ó   € Ø�JŒÙCÙr   Ú_origc                 óf   € V'       d$   \        \        \        P                  V4      4      # V ! 4       # ©N©ÚlistÚmapr   r   ©rs   Úargss   $*r   ÚgcvsÚ:TestUnixCCompiler.test_cc_overrides_ldshared.<locals>.gcvsê   ó$   € ßÜœC¤	× 8Ñ 8¸$Ó?Ó@Ð@Ù“7ˆNr   Úmy_ccrX   rn   N©r   r   r   r   Úcustomize_compilerr)   Ú	linker_so©r   r8   r{   rG   s   &   r   Útest_cc_overrides_ldsharedÚ,TestUnixCCompiler.test_cc_overrides_ldsharedá   s…   € ò	ð
	œi×7Ñ7ô 	ð
 $'Œ	Ô Ø$(Œ	Ô!Ü ×"Ô" cØˆC�‰IØ�J�Ü×(Ò(¨¯©Ô1÷ #ð �w‰w× Ñ  Õ# wÔ.Ð.Ò.÷	 #×"ús   Á)BÂB(	Údisable_macos_customizationc                óâ  € R pR\         P                  /R lpV\         n        V\         n        \        P                  P                  V P                  RRR7      ;_uu_ 4       p\        P                  P                  V P                  RRR7      ;_uu_ 4        \        P                  P                  V P                  R	RR7      ;_uu_ 4        \        4       ;_uu_ 4       pR
VR&   RVR&   VR \         P                  ! V P                  4       V P                  P                  R,          RR.8X  g   Q hV P                  P                  R. RRR7       VP                  ^ ,          ^ ,          p. ROpVR,          V8X  g   Q h RRR4       RRR4       RRR4       RRR4       R#   + '       g   i     L*; i  + '       g   i     L5; i  + '       g   i     L@; i  + '       g   i     R# ; i)z}
Ensure that setting CC env variable also changes default linker
correctly when building C++ extensions.

pypa/distutils#126
c                 óN   € V R 8X  d   R# V R8X  d   R# V R8X  d   R# V R8X  d   R# R# )	rn   ro   ÚLDCXXSHAREDz*g++-4.2 -bundle -undefined dynamic_lookup ÚCXXzg++-4.2rX   rp   rM   r   rO   s   &r   r8   ÚKTestUnixCCompiler.test_cc_overrides_ldshared_for_cxx_correctly.<locals>.gcv  s.   € Ø�JŒÙCØ�mÔ#ÙCØ�e”Ù Ø�d”Ù Ùr   rs   c                 óf   € V'       d$   \        \        \        P                  V4      4      # V ! 4       # ru   rv   ry   s   $*r   r{   ÚLTestUnixCCompiler.test_cc_overrides_ldshared_for_cxx_correctly.<locals>.gcvs  r}   r   ÚspawnN)Úreturn_valueÚ
_need_linkTÚmkpathzccache my_ccrX   Úmy_cxxr‰   rn   :é    é   NÚccacher~   za.outzc++)Útarget_lang:Né   N)r‘   z-bundlez
-undefinedÚdynamic_lookup)r   r   r   ÚmockÚpatchÚobjectr)   r   r€   r�   ÚlinkÚ	call_args)r   r8   r{   Ú
mock_spawnrG   rœ   Úexpecteds   &      r   Ú,test_cc_overrides_ldshared_for_cxx_correctlyÚ>TestUnixCCompiler.test_cc_overrides_ldshared_for_cxx_correctly÷   sm  € ò		ð	œi×7Ñ7ô 	ð
 $'Œ	Ô Ø$(Œ	Ô!ä�J‰J×Ñ˜dŸg™g w¸TÐ×BÔBÀjÜ�J‰J×Ñ˜dŸg™g |À$Ð×GÕGÜ�J‰J×Ñ˜dŸg™g x¸dÐ×CÕCÜ×!Ô! Sà&ˆC�‰IØ!ˆC�‰JØ�J�Ü×(Ò(¨¯©Ô1Ø—7‘7×$Ñ$ SÕ)¨h¸Ð-@Ô@Ð@Ð@Ø�G‰G�L‰L˜˜r 7¸ˆLÔ>Ø"×,Ñ,¨QÕ/°Õ2ˆIÚLˆHØ˜R•= HÔ,Ð,Ñ,÷ "÷ D÷ H÷ CÑB÷ "×!ú÷ D×Cú÷ H×Gú÷ C×BÐBúsU   Á#5GÂ5G
	ÃF7Ã B!F$ÆF7Æ
G
	ÆGÆ$F4Æ/F7Æ7GÇG
	Ç
GÇGÇG.	c                óZ  € R  pR\         P                  /R lpV\         n        V\         n        \        4       ;_uu_ 4       pRVR&   RVR&   \         P                  ! V P
                  4       RRR4       V P
                  P                  ^ ,          R8X  g   Q hR#   + '       g   i     L6; i)	c                 ó   € V R 8X  d   R# R# rm   r   rO   s   &r   r8   Ú5TestUnixCCompiler.test_explicit_ldshared.<locals>.gcv(  rr   r   rs   c                 óf   € V'       d$   \        \        \        P                  V4      4      # V ! 4       # ru   rv   ry   s   $*r   r{   Ú6TestUnixCCompiler.test_explicit_ldshared.<locals>.gcvs-  r}   r   r~   rX   zmy_ld -bundle -dynamicrn   NÚmy_ldr   r‚   s   &   r   Útest_explicit_ldsharedÚ(TestUnixCCompiler.test_explicit_ldshared#  s‡   € ò
	ð
	œi×7Ñ7ô 	ð
 $'Œ	Ô Ø$(Œ	Ô!Ü ×"Ô" cØˆC�‰IØ6ˆC�
‰OÜ×(Ò(¨¯©Ô1÷ #ð �w‰w× Ñ  Õ# wÔ.Ð.Ò.÷	 #×"ús   Á+BÂB*	c                ó¦   € R V P                   n        \        P                  ! V P	                  4       4       V P                   P                  R4       R# )ÚscratchÚabortN)r)   Ú
output_dirr?   ÚchdirÚmkdtempÚhas_functionr   s   &r   Útest_has_functionÚ#TestUnixCCompiler.test_has_function:  s4   € ð 'ˆ�‰ÔÜ
�Š�—‘“Ô Ø�‰×Ñ˜WÖ%r   c                óv  € \         P                  ! 4       pR  Vn        VP                  \        P
                  RR 4       \        P                  R8w  d   RMRpRpVP                  VR4      P                  RR4      R	V 28X  g   Q hVP                  \        V4      R4      P                  RR4      R	V 28X  g   Q hVP                  \        P
                  RR
 4       VP                  VR4      P                  RR4      R8X  g   Q hVP                  \        V4      R4      P                  RR4      R8X  g   Q hR# )c                 ó   € V # ru   r   )Údirs   &r   Ú<lambda>Ú:TestUnixCCompiler.test_find_library_file.<locals>.<lambda>D  s   € ©Sr   Úexistsc                 ó   € R V 9   # )Úexistingr   ©Úds   &r   rµ   r¶   E  s   € ¸Àqºr   Úcygwinzlibabc.dylibz
cygabc.dllÚabcÚ\Ú/z/foo/bar/existing/c                 ó@   € R V 9   ;'       d    RV 9   ;'       d    RV 9  # )r¹   z.az.dll.ar   rº   s   &r   rµ   r¶   U  s$   € �j A‘o×IÐI¨$°!©)×IÐI¸ÈÑ8IÐIr   z/foo/bar/existing/libabc.aN)z/foo/bar/missingz/foo/bar/existing)r   r'   Ú_library_rootr   r?   Úpathr   r   Úfind_library_fileÚreplaceÚreversed)r   r   ÚcompilerÚlibnameÚdirss   &&   r   Útest_find_library_fileÚ(TestUnixCCompiler.test_find_library_fileB  s8  € Ü—=’=“?ˆÙ!0ˆÔØ×ÑœBŸG™G XÑ/HÔIä$'§L¡L°HÔ$<‘.À,ˆØ8ˆà×&Ñ& t¨UÓ3×;Ñ;¸DÀ#ÓFØ# G 9Ð-ô.ð	
ð.ð ×&Ñ&¤x°£~°uÓ=×EÑEÀdÈCÓPØ# G 9Ð-ô.ð	
ð.ð 	×ÑÜ�G‰GØÙIô	
ð ×&Ñ& t¨UÓ3×;Ñ;¸DÀ#ÓFØ+ô,ð	
ð,ð ×&Ñ&¤x°£~°uÓ=×EÑEÀdÈCÓPØ+ô,ð	
ò,r   r   N)r   r   r    r!   rC   ÚmarkÚskipifri   rƒ   ÚusefixturesrŸ   r§   r°   rÉ   r"   r#   r$   s   @r   r-   r-   "   s¾   ø‡ € Ø‡[�[×ÑÐ6Ó7ñ{3ó 8ð{3ðz ‡[�[×ÑÐ6Ó7ñ/ó 8ð/ð* ‡[�[×ÑÐ6Ó7Ø‡[�[×ÑÐ:Ó;ñ(-ó <ó 8ð(-ðT ‡[�[×ÑÐ6Ó7ñ/ó 8ð/ò,&÷
ð 
r   r-   )Ú__doc__r?   r   Úunittest.mockr˜   Ú	distutilsr   Údistutils.compatr   Údistutils.errorsr   Údistutils.testsr   Údistutils.tests.compat.py39r   Údistutils.utilr   rC   rM   r   Úfixturer   r+   ÚTempdirManagerr-   r   r   r   Ú<module>rØ      sy   ðÙ (ã 	Û 
Ý Ý Ý 4Ý 3Ý #Ý ;Ý 3ã å ð ‡‚˜ÔñQó ðQð ‡‚˜Ôñ,ó ð,ô|
˜×.Ñ.ö |
r   