o
    Ëý°j  ã                   @   sb  d dl Z d dlZd dlmZmZmZ e d¡ ¡ Z			d!de	dee	 de
de
d	ee	 f
d
d„Zde	dee	 dee	 de	d	ee	 f
dd„Zde	dee	 d	ee	 fdd„Zde	dee	 dee	 de
dee	 dee	 de
d	ee	 fdd„Zde	dee	 de
d	ee	 fdd„Zde	dee	 dee	 de	dee	 dee	 dee	 dee	 de
de
de
d	ee	 fdd „ZdS )"é    N)ÚListÚOptionalÚSequenceah  
    exec(compile('''
    # This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py
    #
    # - It imports setuptools before invoking setup.py, to enable projects that directly
    #   import from `distutils.core` to work with newer packaging standards.
    # - It provides a clear error message when setuptools is not installed.
    # - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
    #   setuptools doesn't think the script is `-c`. This avoids the following warning:
    #     manifest_maker: standard file '-c' not found".
    # - It generates a shim setup.py, for handling setup.cfg-only projects.
    import os, sys, tokenize

    try:
        import setuptools
    except ImportError as error:
        print(
            "ERROR: Can not execute `setup.py` since setuptools is not available in "
            "the build environment.",
            file=sys.stderr,
        )
        sys.exit(1)

    __file__ = %r
    sys.argv[0] = __file__

    if os.path.exists(__file__):
        filename = __file__
        with tokenize.open(__file__) as f:
            setup_py_code = f.read()
    else:
        filename = "<auto-generated setuptools caller>"
        setup_py_code = "from setuptools import setup; setup()"

    exec(compile(setup_py_code, filename, "exec"))
    ''' % ({!r},), "<pip-setuptools-caller>", "exec"))
    FÚsetup_py_pathÚglobal_optionsÚno_user_configÚunbuffered_outputÚreturnc                 C   sF   t jg}|r|dg7 }|dt | ¡g7 }|r||7 }|r!|dg7 }|S )ao  
    Get setuptools command arguments with shim wrapped setup file invocation.

    :param setup_py_path: The path to setup.py to be wrapped.
    :param global_options: Additional global options.
    :param no_user_config: If True, disables personal user configuration.
    :param unbuffered_output: If True, adds the unbuffered switch to the
     argument list.
    z-uz-cz--no-user-cfg)ÚsysÚ
executableÚ_SETUPTOOLS_SHIMÚformat)r   r   r   r   Úargs© r   ú—/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pip/_internal/utils/setuptools_build.pyÚmake_setuptools_shim_args1   s   

r   Úbuild_optionsÚdestination_dirc                 C   s(   t | |dd�}|dd|g7 }||7 }|S )NT©r   r   Úbdist_wheelz-d©r   )r   r   r   r   r   r   r   r   Ú make_setuptools_bdist_wheel_argsK   s   
ÿr   c                 C   s   t | |dd�}|ddg7 }|S )NTr   Úcleanz--allr   )r   r   r   r   r   r   Úmake_setuptools_clean_args]   s
   ÿr   Úinstall_optionsÚprefixÚhomeÚuse_user_sitec                 C   sf   |r|rJ ‚t | ||d�}|ddg7 }||7 }|r|d|g7 }|d ur)|d|g7 }|r1|ddg7 }|S )N)r   r   Údevelopz	--no-depsú--prefixz--install-dirú--userú	--prefix=r   )r   r   r   r   r   r   r   r   r   r   r   Úmake_setuptools_develop_argsh   s   	ýr"   Úegg_info_dirc                 C   s*   t | |d�}|dg7 }|r|d|g7 }|S )N)r   Úegg_infoz
--egg-baser   )r   r#   r   r   r   r   r   Úmake_setuptools_egg_info_argsˆ   s
   
r%   Úrecord_filenameÚrootÚ
header_dirÚ	pycompilec                 C   sÂ   |r|rJ ‚|r|rJ ‚t | ||	dd�}|dd|g7 }|dg7 }|d ur*|d|g7 }|d ur4|d|g7 }|d ur>|d|g7 }|rF|d	d
g7 }|
rN|dg7 }n|dg7 }|r[|d|g7 }||7 }|S )NT)r   r   r   Úinstallz--recordz#--single-version-externally-managedz--rootr   z--homer    r!   z	--compilez--no-compilez--install-headersr   )r   r   r   r&   r'   r   r(   r   r   r   r)   r   r   r   r   Úmake_setuptools_install_args—   s2   ü

r+   )NFF)r
   ÚtextwrapÚtypingr   r   r   ÚdedentÚrstripr   ÚstrÚboolr   r   r   r"   r%   r+   r   r   r   r   Ú<module>   s¶    ÿ&Ú+üÿþýü
ûÿþýü
ûÿþ
ýÿþýüûúù
ø ÿþý
üÿþýüûúùø	÷
öõô