+
    h
                         ^ RI t ^ RIt^ RIt^ RIt^RIHt ]P                  P                  R4      t]P                  R 4       t
R tR tR tR# )    N)basesuppress_path_manglec                 ,   V R ,          pRp\         P                  ! 4       R8H  pR	V,          pW$,           pRP                  R V 4       4      p\        P                  ! R4      P                  4       P                  RV4      pVP                  VRR7       V# )
zfoo.cWindows
c              3   .   "   T F  pR V R2x  K  	  R# 5i)z
#include <z>
N ).0headers   & S/usr/lib/python3/dist-packages/setuptools/_distutils/compilers/C/tests/test_base.py	<genexpr>c_file.<locals>.<genexpr>   s     K{V*VHC0{s   z;
        #headers
        void PyInit_foo(void) {}
        z#headerszutf-8)encoding)zPython.h)z	windows.h)platformsystemjointextwrapdedentlstripreplace
write_text)tmp_pathc_filegen_headers
is_windowsplat_headersall_headersheaderspayloads   &       r   r   r      s    FK"i/J!J.L,KiiK{KKG	
 
	W	%  g0M    c                    \         P                  ! 4       p\        P                  ! 4       R,          pVP	                  V.4       VP                  V .4       VP	                  V.4       VP                  V .4       R# )z
Extensions should build even if set_include_dirs is invoked.
In particular, compiler-specific paths should not be overridden.
includeN)r   new_compiler	sysconfig	get_pathsset_include_dirscompiler   compilerpythons   &  r   test_set_include_dirsr+   "   sg    
   "H  "9-Fvh'fX vh'fXr    c                     \         P                  ! 4       p V P                  R 4      '       g   Q hV P                  R4      '       g   Q h\        P                  ! RR7      ;_uu_ 4        V P                  R R.R7      '       g   Q h RRR4       \        P                  ! RR7      ;_uu_ 4        V P                  RR.R7      '       d   Q h RRR4       V P                  R4      '       d   Q h\        P                  ! RR7      ;_uu_ 4        V P                  RR.R7      '       d   Q h RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)	abortexitzincludes is deprecated)matchzstdlib.h)includesNsetuptools_does_not_existzstdio.h)r   r#   has_functionpytestdeprecated_call)r)   s    r   test_has_function_prototyper5   1   s7      "H   ))))  ((((			&>	?	?$$W
|$DDDD 
@ 
		&>	?	?((:,(GGGGG 
@ $$%@AAAA			&>	?	?(('9+ ) 
 
 	
 
 
 
@	? 
@	? 
@	?
 
@	?	?s$   'D2,E
E2E	E	E)	c                $   \         P                  ! 4       p\        P                  ! 4       R,          pVP	                  V.4       VP                  V .4       VP                  V.8X  g   Q hVP                  V .4       VP                  V.8X  g   Q hR# )zq
Calling compile multiple times should not change the include dirs
(regression test for setuptools issue #3591).
r"   N)r   r#   r$   r%   r&   r'   include_dirsr(   s   &  r   .test_include_dirs_after_multiple_compile_callsr8   H   s    
   "H  "9-Fvh'fX  VH,,,fX  VH,,,r    )r   r$   r   r3    r   markusefixtures
pytestmarkfixturer   r+   r5   r8   r	   r    r   <module>r>      sP        [[$$%;<
  *
.-r    