
    -PhW                       d dl mZ d dlZd dlZddlmZ ddlmZmZ ddl	m
Z
mZmZmZmZmZmZmZ ddlmZ dd	lmZmZmZmZmZ dd
lmZ ej        rddlmZ ddlmZ ddl mZ! d eD             Z" G d de          Z#d Z$dS )    )annotationsN   )mesonlib   )ExtensionModule
ModuleInfo)BuildTargetCustomTargetCustomTargetIndexExtractedObjectsGeneratedListSharedModuleStructuredSourcesknown_shmod_kwargs)SHARED_MOD_KWS)typed_kwargstyped_pos_args	noPosargsnoKwargspermittedKwargs)ExternalProgram)ModuleState)BuildTargetSource)r   c                $    g | ]}|j         d v|S )>   name_prefixname_suffix)name).0ks     Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/modules/python3.py
<listcomp>r!      s%    YYYQAF:X,X,Xq,X,X,X    c                  Z    e Zd Z eddd          Z fdZ eeddhz
             ede	e	e
j        eeeeeef	           edgeR d
didd                                    Zeed                         Zeed                         Ze ede	          d                         Z xZS )Python3Modulepython3z0.38.0z0.48.0)
deprecatedc                     t                      j        |i | | j                            | j        | j        | j        | j        d           d S )N)extension_modulefind_pythonlanguage_versionsysconfig_path)super__init__methodsupdater(   r)   r*   r+   )selfargskwargs	__class__s      r    r-   zPython3Module.__init__    se    $)&))) $ 5+ $ 5"1	
 
 	 	 	 	 	r"   r   r   zpython3.extension_module)varargsallow_unknownTstater   r1   'T.Tuple[str, T.List[BuildTargetSource]]r2   SharedModuleKWc                    |j         j        j        j        }|dk    rd}n|dk    rd}ng }d|d<   ||d<   | j                            |j        ||t                    S )Ndarwinsowindowspyd r   r   )environmentmachineshostsysteminterpreterbuild_targetcurrent_noder   )r0   r6   r1   r2   host_systemsuffixs         r    r(   zPython3Module.extension_module)   sr     '05<(""FFI%%FFF "} &},,U-?v|\\\r"   c                    |j                             t          j        j        d          }|t          j        d|          }nt          dt          j        d          }|S )Nr%   T)silent)r?   lookup_binary_entryr   MachineChoiceHOSTr   
from_entrypython_command)r0   r6   r1   r2   commandpy3s         r    r)   zPython3Module.find_python:   sY     #778N8SU^__!,Y@@CC!)X-DTRRRC
r"   c                (    t          j                    S N)	sysconfigget_python_version)r0   r6   r1   r2   s       r    r*   zPython3Module.language_versionD   s     +---r"   zpython3.sysconfig_pathc                    |d         }t          j                    }||vrt          j        | d| d          t          j        |dddd          dd          S )Nr   z is not a valid path name .r>   )baseplatbaseinstalled_base)varsr   )rS   get_path_namesr   MesonExceptionget_path)r0   r6   r1   r2   	path_namevalid_namess         r    r+   zPython3Module.sysconfig_pathI   sx     G	.00K'')Y*`*`R]*`*`*`aaa !)22ac2d2deeefgfhfhiir"   )r6   r   r1   r7   r2   r8   )__name__
__module____qualname__r   INFOr-   r   r   r   strr   Filer
   r   r   r   r   r	   r   _MOD_KWARGSr(   r   r   r)   r*   r+   __classcell__)r3   s   @r    r$   r$      s       :ih???D     _'=-*HHII^.c8=R^`q  tA  CT  Vf  hs  >t  u  u  u\,O{OOO$OO] ] ] PO u  u JI]   X Y . . X Y. ^,c22j j 32 Xj j j j jr"   r$   c                     t          | i |S rR   )r$   )r1   r2   s     r    
initializeri   U   s    $)&)))r"   )%
__future__r   rS   typingTr>   r   r   r   buildr	   r
   r   r   r   r   r   r   interpreter.type_checkingr   interpreterbaser   r   r   r   r   programsr   TYPE_CHECKINGr   interpreter.interpreterr   interpreter.kwargsr8   rf   r$   ri    r"   r    <module>ru      s   # " " " " "               ) ) ) ) ) ) ) )                    7 6 6 6 6 6 ` ` ` ` ` ` ` ` ` ` ` ` ` ` & & & & & &? D;;;;;;CCCCCC ZY.YYY6j 6j 6j 6j 6jO 6j 6j 6jr* * * * *r"   