o
    LK&h                     @   s2   d Z ddlZddlmZ g fdee fddZdS )a  
Test suite for distutils.

Tests for the command classes in the distutils.command package are
included in distutils.tests as well, instead of using a separate
distutils.command.tests package, since command identification is done
by import rather than matching pre-defined names.
    N)Sequence	cmd_namesc                 C   s   ddl m}m}m} | }|| |jdkr*z|  W n |jy)   Y dS w |j	D ]/}| r6|| vr6q-t
||}| rJ|dusIJ d| dn|sMq-t|d du r\|d   S q-dS )a<  Check if the compiler components used to build the interpreter exist.

    Check for the existence of the compiler executables whose names are listed
    in 'cmd_names' or all the compiler executables when 'cmd_names' is empty
    and return the first missing executable or None when none is found
    missing.

    r   )	ccompilererrors	sysconfigmsvcNzthe 'z' executable is not configured)	distutilsr   r   r   new_compilercustomize_compilercompiler_type
initializeDistutilsPlatformErrorexecutablesgetattrshutilwhich)r   r   r   r   compilernamecmd r   W/var/www/html/venv/lib/python3.10/site-packages/setuptools/_distutils/tests/__init__.pymissing_compiler_executable   s*   	



r   )__doc__r   collections.abcr   strr   r   r   r   r   <module>   s    	