
    Oh
                         d dl Z d dlZd dlZd dlZddlmZ ej                  j                  d      Zej                  d        Z
d Zd Zd Zy)	    N   )basesuppress_path_manglec                    | dz  }d}t        j                         dk(  }d|z  }||z   }dj                  d |D              }t        j                  d      j                         j                  d|      }|j                  |d	
       |S )Nzfoo.c)zPython.hWindows)z	windows.h
c              3   (   K   | ]
  }d | d  yw)z
#include <z>
N ).0headers     /mnt/c/Users/Administrator/Desktop/help_/test_env/lib/python3.12/site-packages/setuptools/_distutils/compilers/C/tests/test_base.py	<genexpr>zc_file.<locals>.<genexpr>   s     KV*VHC0Ks   z;
        #headers
        void PyInit_foo(void) {}
        z#headerszutf-8)encoding)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                     t        j                         }t        j                         d   }|j	                  |g       |j                  | g       |j	                  |g       |j                  | g       y)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                  *   t        j                         } | j                  d      sJ | j                  d      sJ t        j                  d      5  | j                  ddg      sJ 	 d d d        t        j                  d      5  | j                  ddg      rJ 	 d d d        | j                  d      rJ t        j                  d      5  | j                  ddg      rJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   _xY w# 1 sw Y   y xY w)	Nabortexitzincludes is deprecated)matchzstdlib.h)includessetuptools_does_not_existzstdio.h)r   r#   has_functionpytestdeprecated_call)r)   s    r   test_has_function_prototyper5   1   s0      "H   )))  (((			&>	? E$$W
|$DDDE 
		&>	? H((:,(GGGGH $$%@AAA			&>	? 
(('9+ ) 
 	
 
 

 
E EH H

 
s$   C1C=D	1C:=D	Dc                    t        j                         }t        j                         d   }|j	                  |g       |j                  | g       |j                  |gk(  sJ |j                  | g       |j                  |gk(  sJ y)z}
    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    