+
    êhÒ.  ã                   óä   € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIt^ RIt^ RIt^ RIHt ^ RIHt R t]P*                  P-                  R4       ! R	 R
4      4       tR# )zTests for distutils.sysconfig.N)Ú	sysconfig)Únew_compiler)ÚUnixCCompiler)Útrim)Ú	swap_itemc                 ój   € \         P                  P                  R \        V4      /V 4       V R ,          # )ÚMakefile)ÚjaracoÚpathÚbuildr   )ÚrootÚcontentss   &&ÚL/usr/lib/python3/dist-packages/setuptools/_distutils/tests/test_sysconfig.pyÚ_gen_makefiler      s*   € Ü
‡K�K×Ñ�z¤4¨£>Ð2°DÔ9Ø�*ÕÐó    Úsave_envc                   ó¨  a € ] tR t^t o R t]P                  P                  R4      ]P                  P                  R4      R 4       4       tR t	R t
]P                  P                  R4      ]P                  P                  R4      ]P                  P                  R	4      R
 4       4       4       t]P                  P                  R4      ]P                  P                  R4      R 4       4       tR tR t]P                  P                  R4      ]P                  P!                  R4      R 4       4       tR tR tR t]P                  P                  R4      R 4       t]P                  P                  R4      R 4       tR tR t]P                  P                  R4      ]P                  P                  R4      R 4       4       t]P                  P                  R4      ]P                  P                  R4      ]P                  P                  RP5                  4       ]P8                  P5                  4       9  RR7      R  4       4       4       tR! tR"tV t R## )$ÚTestSysconfigc                ó~   € \         P                  ! 4       p\        P                  P	                  V4      '       g   Q hR # ©N)r   Úget_config_h_filenameÚosr
   Úisfile)ÚselfÚconfig_hs   & r   Útest_get_config_h_filenameÚ(TestSysconfig.test_get_config_h_filename   s)   € Ü×2Ò2Ó4ˆÜ�w‰w�~‰~˜h×'Ò'Ð'Ò'r   zplatform.system() == 'Windows'z$sys.implementation.name != 'cpython'c                ó~   € \         P                  ! 4       p\        P                  P	                  V4      '       g   Q hR # r   )r   Úget_makefile_filenamer   r
   r   )r   Úmakefiles   & r   Útest_get_makefile_filenameÚ(TestSysconfig.test_get_makefile_filename   s+   € ô ×2Ò2Ó4ˆÜ�w‰w�~‰~˜h×'Ò'Ð'Ò'r   c                óh   € \         P                  ! 4       \         P                  ! VR 7      8w  g   Q hR# ))ÚprefixN)r   Úget_python_lib)r   Útmp_paths   &&r   Útest_get_python_libÚ!TestSysconfig.test_get_python_lib%   s$   € Ü×'Ò'Ó)¬Y×-EÒ-EÈXÔ-VÔVÐVÒVr   c                ót   € \         P                  ! 4       p\        V\        4      '       g   Q hV'       g   Q hR # r   )r   Úget_config_varsÚ
isinstanceÚdict)r   Úcvarss   & r   Útest_get_config_varsÚ"TestSysconfig.test_get_config_vars(   s*   € Ü×)Ò)Ó+ˆÜ˜%¤×&Ò&Ð&Ð&ßˆŠur   zsysconfig.IS_PYPYzsysconfig.python_buildzplatform.system() == "Windows"c                óR  € \         P                  ! \        P                  ! R 4      4      pVP	                  4       '       g   Q hVP                  4       '       g   Q h\         P                  ! \        P                  ! 4       4      pVP                  P                  V4      '       g   Q hR# )ÚsrcdirN)	ÚpathlibÚPathr   Úget_config_varÚabsoluteÚis_dirr   ÚparentÚsamefile)r   r0   r   s   &  r   Útest_srcdir_simpleÚ TestSysconfig.test_srcdir_simple-   sr   € ô
 —’œi×6Ò6°xÓ@ÓAˆà�‰× Ò Ð Ð Ø�}‰}�ŠÐˆä—<’<¤	× ?Ò ?Ó AÓBˆØ�‰×'Ñ'¨×/Ò/Ð/Ò/r   znot sysconfig.python_buildc                ó8  € \         P                  ! \        P                  ! R 4      4      pVP	                  RR4      pVP                  4       '       g   Q h\        P                  ! V4      '       g   Q h\        P                  ! \        V4      4      '       g   Q hR# )r0   ÚIncludezPython.hN)r1   r2   r   r3   ÚjoinpathÚis_fileÚ_is_python_source_dirÚstr)r   r0   ÚPython_hs   &  r   Útest_srcdir_python_buildÚ&TestSysconfig.test_srcdir_python_build:   sv   € ô —’œi×6Ò6°xÓ@ÓAˆð —?‘? 9¨jÓ9ˆØ×Ñ×!Ò!Ð!Ð!Ü×.Ò.¨v×6Ò6Ð6Ð6Ü×.Ò.¬s°6«{×;Ò;Ð;Ò;r   c                óä   € \         P                  ! R4      p\        P                  ! R4      ;_uu_ 4        \         P                  ! R4      pRRR4       VX8X  g   Q hR#   + '       g   i     L; i)z?
srcdir should be independent of the current working directory
r0   z..N)r   r3   r
   r2   )r   r0   Úsrcdir2s   &  r   Útest_srcdir_independent_of_cwdÚ,TestSysconfig.test_srcdir_independent_of_cwdG   sL   € ô
 ×)Ò)¨(Ó3ˆÜ�YŠY�t�_�_Ü×.Ò.¨xÓ8ˆG÷ à˜Ô Ð Ò ÷ �_ús   µAÁA/	c                óp  €  ! R  R4      pRRRRRRRR	R
RRRRRRR/pV! 4       p\         P                  ! 4       ;_uu_ 4       pVP                  4        F.  w  rVVP                  \	        \
        P                  WV4      4       K0  	  \
        P                  ! V4       RRR4       V#   + '       g   i     T# ; i)c                   óH   a € ] tR t^St o Rt]P                  tR tR tRt	V t
R# )Ú2TestSysconfig.customize_compiler.<locals>.compilerÚunixc                ó   € / V n         R # r   ©Úexes©r   s   &r   Ú__init__Ú;TestSysconfig.customize_compiler.<locals>.compiler.__init__W   s	   € Ø�–	r   c                óT   € VP                  4        F  w  r#W0P                  V&   K  	  R # r   )ÚitemsrM   )r   ÚkwÚkÚvs   &,  r   Úset_executablesÚBTestSysconfig.customize_compiler.<locals>.compiler.set_executablesZ   s   € ØŸH™HžJ‘D�AØ#$—I‘I˜a“Ló 'r   rL   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úcompiler_typer   ÚexecutablesrO   rV   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   ÚcompilerrI   S   s$   ø‡ € Ø"ˆMØ'×3Ñ3ˆKò÷%ð %r   rb   ÚARÚsc_arÚCCÚsc_ccÚCXXÚsc_cxxÚARFLAGSz--sc-arflagsÚCFLAGSz--sc-cflagsÚCCSHAREDz--sc-ccsharedÚLDSHAREDÚsc_ldsharedÚSHLIB_SUFFIXÚsc_shutil_suffixN)Ú
contextlibÚ	ExitStackrR   Úenter_contextr   r   Ú_config_varsÚcustomize_compiler)r   rb   Úsysconfig_varsÚcompÚcmÚkeyÚvalues   &      r   rt   Ú TestSysconfig.customize_compilerQ   s²   € ÷		%ñ 		%ð �'Ø�'Ø�8Ø�~Ø�mØ˜Ø˜ØÐ.ð	
ˆñ ‹zˆÜ×!Ò!×#Ô# rØ,×2Ñ2Ö4‘
�Ø× Ñ ¤¬9×+AÑ+AÀ3Ó!NÖOñ 5ä×(Ò(¨Ô.÷ $ð
 ˆ÷ $Ö#ð
 ˆús   ÁAB$Â$B5	z-not isinstance(new_compiler(), UnixCCompiler)Údisable_macos_customizationc                ó  € \         P                  ! 4        R \        P                  R&   R\        P                  R&   R\        P                  R&   R\        P                  R&   R\        P                  R	&   R
\        P                  R&   R\        P                  R&   R\        P                  R&   R\        P                  R&   R\        P                  R&   V P	                  4       pVP
                  R,          R8X  g   Q hVP
                  R,          R8X  g   Q hVP
                  R,          R8X  g   Q hVP
                  R,          R8X  g   Q hVP
                  R,          R8X  g   Q hVP
                  R,          R8X  g   Q hVP
                  R,          R 8X  g   Q hVP                  R!8X  g   Q h\        P                  R"8X  d   VP
                  R#,          R8X  g   Q hMR#VP
                  9  g   Q h\        P                  R \        P                  R \        P                  R \        P                  R \        P                  R	 \        P                  R \        P                  R \        P                  R \        P                  R \        P                  R V P	                  4       pVP
                  R,          R$8X  g   Q hVP
                  R,          R%8X  g   Q hVP
                  R,          R&8X  g   Q hVP
                  R,          R'8X  g   Q hVP
                  R,          R(8X  g   Q hVP
                  R,          R)8X  g   Q hVP
                  R,          R*8X  g   Q hVP                  R!8X  g   Q hR#VP
                  9  g   Q hR+# ),Úenv_arrc   Úenv_ccre   Úenv_cppÚCPPzenv_cxx --env-cxx-flagsrg   Úenv_ldsharedrl   z--env-ldflagsÚLDFLAGSz--env-arflagsri   z--env-cflagsrj   z--env-cppflagsÚCPPFLAGSÚ
env_ranlibÚRANLIBÚarchiverzenv_ar --env-arflagsÚpreprocessorzenv_cpp --env-cppflagsrb   z"env_cc --env-cflags --env-cppflagsÚcompiler_soz0env_cc --env-cflags --env-cppflags --sc-ccsharedÚcompiler_cxxz2env_cxx --env-cxx-flags --sc-cflags --env-cppflagsÚ
linker_exeÚ	linker_soz6env_ldshared --env-ldflags --env-cflags --env-cppflagsro   ÚdarwinÚranlibzsc_ar --sc-arflagszsc_cc -Ezsc_cc --sc-cflagszsc_cc --sc-cflags --sc-ccsharedzsc_cxx --sc-cflagsrf   rm   N)	r   r)   r   Úenvironrt   rM   Úshared_lib_extensionÚsysÚplatform)r   rv   s   & r   Útest_customize_compilerÚ%TestSysconfig.test_customize_compilerq   s  € ô 	×!Ò!Ô#à#Œ�
‰
�4ÑØ#Œ�
‰
�4ÑØ%Œ�
‰
�5ÑØ5Œ�
‰
�5ÑØ!/Œ�
‰
�:ÑØ /Œ�
‰
�9ÑØ /Œ�
‰
�9ÑØ-Œ�
‰
�8ÑØ!1Œ�
‰
�:ÑØ+Œ�
‰
�8Ñà×&Ñ&Ó(ˆØ�y‰y˜Õ$Ð(>Ô>Ð>Ð>Ø�y‰y˜Õ(Ð,DÔDÐDÐDØ�y‰y˜Õ$Ð(LÔLÐLÐLØ�y‰y˜Õ'Ø>ô
ð 	
ð 
ð �I‰I�nÕ%ØCôDð	
ðDð �y‰y˜Õ&¨(Ô2Ð2Ð2Ø�y‰y˜Õ%ØDô
ð 	
ð 
ð ×(Ñ(Ð,>Ô>Ð>Ð>ä�<‰<˜8Ô#Ø—9‘9˜XÕ&¨,Ô6Ð6Ñ6à 4§9¡9Ô,Ð,Ð,ä�J‰J�tÐÜ�J‰J�tÐÜ�J‰J�uÐÜ�J‰J�uÐÜ�J‰J�zÐ"Ü�J‰J�yÐ!Ü�J‰J�yÐ!Ü�J‰J�xÐ Ü�J‰J�zÐ"Ü�J‰J�xÐ à×&Ñ&Ó(ˆØ�y‰y˜Õ$Ð(<Ô<Ð<Ð<Ø�y‰y˜Õ(¨JÔ6Ð6Ð6Ø�y‰y˜Õ$Ð(;Ô;Ð;Ð;Ø�y‰y˜Õ'Ð+LÔLÐLÐLØ�y‰y˜Õ(Ð,@Ô@Ð@Ð@Ø�y‰y˜Õ&¨'Ô1Ð1Ð1Ø�y‰y˜Õ%¨Ô6Ð6Ð6Ø×(Ñ(Ð,>Ô>Ð>Ð>Ø˜tŸy™yÔ(Ð(Ò(r   c                ód   € \        VR 4      p\        P                  ! V4      pVRRRR/8X  g   Q hR# )zo
            CONFIG_ARGS=  '--arg1=optarg1' 'ENV=LIB'
            VAR=$OTHER
            OTHER=foo
            ÚCONFIG_ARGSz'--arg1=optarg1' 'ENV=LIB'ÚOTHERÚfooN©r   r   Úparse_makefile©r   r%   r   Úds   &&  r   Útest_parse_makefile_baseÚ&TestSysconfig.test_parse_makefile_base®   s>   € Ü Øðó
ˆô ×$Ò$ XÓ.ˆØ�]Ð$@À'È5ÐQÔQÐQÒQr   c                ód   € \        VR 4      p\        P                  ! V4      pVRRRR/8X  g   Q hR# )zr
            CONFIG_ARGS=  '--arg1=optarg1' 'ENV=\$$LIB'
            VAR=$OTHER
            OTHER=foo
            r•   z'--arg1=optarg1' 'ENV=\$LIB'r–   r—   Nr˜   rš   s   &&  r   Ú"test_parse_makefile_literal_dollarÚ0TestSysconfig.test_parse_makefile_literal_dollarº   s>   € Ü Øðó
ˆô ×$Ò$ XÓ.ˆØ�]Ð$CÀWÈeÐTÔTÐTÒTr   c                ó¾   € ^ RI pVP                  R4      \         P                  ! R4      8X  g   Q hVP                  R4      \         P                  ! R4      8X  g   Q hR# )é    Nrj   r‚   ©r   r3   ©r   Úglobal_sysconfigs   & r   Útest_sysconfig_moduleÚ#TestSysconfig.test_sysconfig_moduleÆ   sa   € Û,à×.Ñ.¨xÓ8¼I×<TÒ<TØó=
ô 
ð 	
ð 
ð  ×.Ñ.¨yÓ9¼Y×=UÒ=UØó>
ô 
ð 	
ò 
r   z3sysconfig.get_config_var('CUSTOMIZED_OSX_COMPILER')c                ó"  € ^ RI p\         P                  ! R4      '       d   \        P                  ! R4       VP                  R4      \         P                  ! R4      8X  g   Q hVP                  R4      \         P                  ! R4      8X  g   Q hR# )r¢   NÚCUSTOMIZED_OSX_COMPILERzcompiler flags customizedrl   re   )r   r3   ÚpytestÚskipr¤   s   & r   Útest_sysconfig_compiler_varsÚ*TestSysconfig.test_sysconfig_compiler_varsÝ   sx   € ã,ä×#Ò#Ð$=×>Ò>Ü�KŠKÐ3Ô4Ø×.Ñ.¨zÓ:¼i×>VÒ>VØó?
ô 
ð 	
ð 
ð  ×.Ñ.¨tÓ4¼	×8PÒ8PÐQUÓ8VÔVÐVÒVr   z*not sysconfig.get_config_var('EXT_SUFFIX')c                ó°   € \         P                  ! \        4      ;_uu_ 4        \        P                  ! R 4       RRR4       R#   + '       g   i     R# ; i)ÚSON)rª   ÚwarnsÚDeprecationWarningr   r3   rN   s   &r   Útest_SO_deprecationÚ!TestSysconfig.test_SO_deprecationè   s/   € ä�\Š\Ô,×-Õ-Ü×$Ò$ TÔ*÷ .×-×-Ò-ús   £AÁA	c                óZ  € \         P                  P                  R \        R4      /V4       \        P
                  ! \        P                  VR ,          .\        P                  \        P                  RRR7      pVP                  4       w  r4^ VP                  8X  g   Q RV,           4       hR# )Úfilea[  
                    from distutils.core import Distribution
                    config = Distribution().get_command_obj('config')
                    # try_compile may pass or it may fail if no compiler
                    # is found but it should not raise an exception.
                    rc = config.try_compile('int x;')
                    Túutf-8)ÚstdoutÚstderrÚuniversal_newlinesÚencodingzSubprocess failed: N)r	   r
   r   r   Ú
subprocessÚPopenr�   Ú
executableÚPIPEÚSTDOUTÚcommunicateÚ
returncode)r   r%   ÚpÚoutsÚerrss   &&   r   Ú.test_customize_compiler_before_get_config_varsÚ<TestSysconfig.test_customize_compiler_before_get_config_varsí   s”   € ô 	�‰×Ñàœð ó ðð ô	
ô ×ÒÜ�^‰^˜X¨Õ.Ð/Ü—?‘?Ü×$Ñ$Ø#Øô
ˆð —]‘]“_‰
ˆØ�A—L‘LÔ Ð>Ð"7¸$Õ">Ó>Ò r   c                ó’  € \         P                  ! 4       p/ p\        VR R7      ;_uu_ 4       p\         P                  ! W2R7      pRRR4       VXJ g   Q h\        VR R7      ;_uu_ 4       p\         P                  ! V4      pRRR4       \	        V\
        4      '       g   Q hR#   + '       g   i     Lf; i  + '       g   i     L=; i)r¶   )rº   )ÚgN)r   r   ÚopenÚparse_config_hr*   r+   )r   r   ÚinputÚfÚresults   &    r   Útest_parse_config_hÚ!TestSysconfig.test_parse_config_h  sŽ   € Ü×2Ò2Ó4ˆØˆÜ�( W×-Õ-°Ü×-Ò-¨aÔ9ˆF÷ .à˜‹ÐˆÜ�( W×-Õ-°Ü×-Ò-¨aÓ0ˆF÷ .ä˜&¤$×'Ò'Ð'Ò'÷ .×-ú÷ .×-ús   ­B#Á*B6Â#B3	Â6C	zplatform.system() != 'Windows'c                óš   € \         P                  ! R 4      P                  R4      '       g   Q h\         P                  ! R 4      R8w  g   Q hR# )Ú
EXT_SUFFIXz.pydN)r   r3   ÚendswithrN   s   &r   Útest_win_ext_suffixÚ!TestSysconfig.test_win_ext_suffix  s?   € ô ×'Ò'¨Ó5×>Ñ>¸v×FÒFÐFÐFÜ×'Ò'¨Ó5¸Ô?Ð?Ò?r   z	\PCbuild\z*Need sys.executable to be in a source tree)Úreasonc                ó´  € \         P                  P                  4       pVP                  Vn        Wn        VP                  4        VP                  4       RR.p\        P                  P                  \        P                  P                  \        P                  4      4      p\        P                  ! V/ \        P                  CRV/CR7      pVR8X  g   Q hR# )zAEnsure distutils.sysconfig detects venvs from source tree builds.z-czCimport distutils.sysconfig; print(distutils.sysconfig.python_build)Ú
PYTHONPATH)ÚenvÚTrueN)r	   ÚenvsÚVEnvÚ
clean_optsÚcreate_optsr   Ú
ensure_envÚexer   r
   ÚdirnameÚ	distutilsÚ__file__r»   Úcheck_outputrŽ   )r   r%   rØ   ÚcmdÚdistutils_pathÚouts   &&    r   Ú$test_win_build_venv_from_source_treeÚ2TestSysconfig.test_win_build_venv_from_source_tree  s¡   € ô �k‰k×ÑÓ ˆØŸ.™.ˆŒØŒØ�‰Ôà�G‰G‹IØØQð
ˆô
 Ÿ™Ÿ™¬¯©¯©¼×9KÑ9KÓ)LÓMˆÜ×%Ò%ØÐAœŸ
™
ÐA L°.ÑAô
ˆð �fŒ}ÐŠ}r   c                ó®   € R pVP                  \        RV4       \        P                  P	                  \        P
                  ! 4       4      '       g   Q hR# )a  
In portable Python installations, the sysconfig will be broken,
pointing to the directories where the installation was built and
not where it currently is. In this case, ensure that the missing
directory isn't used for get_python_inc.

See pypa/distutils#178.
c                 ó@   € V R 8X  d   R# \         P                  ! V 4      # )Ú	INCLUDEPYz/does-not-existr£   )Únames   &r   ÚoverrideÚFTestSysconfig.test_get_python_inc_missing_config_dir.<locals>.override8  s   € Ø�{Ô"Ù(Ü×+Ò+¨DÓ1Ð1r   r3   N)Úsetattrr   r   r
   ÚexistsÚget_python_inc)r   Úmonkeypatchrí   s   && r   Ú&test_get_python_inc_missing_config_dirÚ4TestSysconfig.test_get_python_inc_missing_config_dir.  s>   € ò	2ð
 	×ÑœIÐ'7¸ÔBä�w‰w�~‰~œi×6Ò6Ó8×9Ò9Ð9Ò9r   © N)!rX   rY   rZ   r[   r   rª   ÚmarkÚskipifr    r&   r-   Úxfailr8   rA   rE   rt   Úusefixturesr’   rœ   rŸ   r¦   r¬   r²   rÅ   rÎ   rÓ   Úcasefoldr�   r½   rç   ró   r^   r_   r`   s   @r   r   r      sU  ø‡ € ò(ð ‡[�[×ÑÐ8Ó9Ø‡[�[×ÑÐ>Ó?ñ(ó @ó :ð(òWòð
 ‡[�[×ÑÐ+Ó,Ø‡[�[×ÑÐ0Ó1Ø‡[�[×ÑÐ7Ó8ñ0ó 9ó 2ó -ð0ð ‡[�[×ÑÐ+Ó,Ø‡[�[×ÑÐ4Ó5ñ	<ó 6ó -ð	<ò!òð@ ‡[�[×ÑÐGÓHØ‡[�[×ÑÐ:Ó;ñ9)ó <ó Ið9)òv
Rò
Uò
ð. ‡[�[×ÑÐMÓNñWó OðWð ‡[�[×ÑÐDÓEñ+ó Fð+ò?ò4(ð ‡[�[×ÑÐ8Ó9Ø‡[�[×ÑÐ>Ó?ñ@ó @ó :ð@ð ‡[�[×ÑÐ8Ó9Ø‡[�[×ÑÐ>Ó?Ø‡[�[×ÑØ×ÑÓ ¨¯©×(?Ñ(?Ó(AÑAØ;ð ó ñó	ó @ó :ð÷":ð :r   r   )Ú__doc__rp   rá   r   r1   r»   r�   r   Údistutils.ccompilerr   Údistutils.unixccompilerr   Újaraco.envsr	   r
   rª   Újaraco.textr   Útest.supportr   r   rö   rù   r   rõ   r   r   Ú<module>r     sb   ðÙ $ã Û Û 	Û Û Û 
Ý Ý ,Ý 1ã Û Û Ý Ý "òð
 ‡�×Ñ˜Ó$÷e:ð e:ó %òe:r   