§
    WŠtj5  ã                  ó’   — d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 ddl
mZmZ dd	lmZ dd
lmZ ddlmZ  G d„ de¦  «        ZdS )z´distutils.command.build_clib

Implements the Distutils 'build_clib' command, to build a C/C++ library
that is included in the module distribution and needed by an extension
module.é    )ÚannotationsN)ÚCallable)Úlog)ÚClassVaré   )Únew_compilerÚshow_compilers)ÚCommand)ÚDistutilsSetupError)Úcustomize_compilerc                  ó‚   — e Zd ZU dZg d¢Zded<   ddgZded<   d	d
defgZded<   d„ Z	dd„Z
dd„Zdd„Zd„ Zd„ Zdd„Zd
S )Ú
build_clibz/build C/C++ libraries used by Python extensions))zbuild-clib=Úbz%directory to build C/C++ libraries to)zbuild-temp=Útz,directory to put temporary build by-products)ÚdebugÚgz"compile with debugging information)ÚforceÚfz2forcibly build everything (ignore file timestamps))z	compiler=Úczspecify the compiler typez$ClassVar[list[tuple[str, str, str]]]Úuser_optionsr   r   zClassVar[list[str]]Úboolean_optionszhelp-compilerNzlist available compilerszAClassVar[list[tuple[str, str | None, str, Callable[[], object]]]]Úhelp_optionsc                ó„   — d | _         d | _        d | _        d | _        d | _        d | _        d | _        d| _        d | _        d S )NF)	r   Ú
build_tempÚ	librariesÚinclude_dirsÚdefineÚundefr   r   Úcompiler©Úselfs    úf/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/_distutils/command/build_clib.pyÚinitialize_optionszbuild_clib.initialize_options-   sJ   € ØˆŒØˆŒð ˆŒð !ˆÔØˆŒØˆŒ
ØˆŒ
ØˆŒ
ØˆŒˆˆó    ÚreturnÚNonec                ó\  — |                       dddddd¦  «         | j        j        | _        | j        r|                      | j        ¦  «         | j        €| j        j        pg | _        t          | j        t          ¦  «        r+| j                             t          j	        ¦  «        | _        d S d S )NÚbuild)r   r   )r   r   )r   r   )r   r   )r   r   )
Úset_undefined_optionsÚdistributionr   Úcheck_library_listr   Ú
isinstanceÚstrÚsplitÚosÚpathsepr    s    r"   Úfinalize_optionszbuild_clib.finalize_options<   s¼   € ð 	×"Ò"ØØ(Ø(Ø$ØØñ	
ô 	
ð 	
ð Ô*Ô4ˆŒØŒ>ð 	4Ø×#Ò# D¤NÑ3Ô3Ð3àÔÐ$Ø $Ô 1Ô >Ð DÀ"ˆDÔÝ�dÔ'­Ñ-Ô-ð 	DØ $Ô 1× 7Ò 7½¼
Ñ CÔ CˆDÔÐÐð	Dð 	Dr$   c                ó´  — | j         sd S t          | j        | j        ¬¦  «        | _        t	          | j        ¦  «         | j        �| j                             | j        ¦  «         | j        �(| j        D ] \  }}| j                             ||¦  «         Œ!| j	        �$| j	        D ]}| j         
                    |¦  «         Œ|                      | j         ¦  «         d S )N)r   r   )r   r   r   r   r   r   Úset_include_dirsr   Údefine_macror   Úundefine_macroÚbuild_libraries)r!   ÚnameÚvalueÚmacros       r"   Úrunzbuild_clib.runW   sá   € ØŒ~ð 	ØˆFå$¨d¬mÀ4Ä:ÐNÑNÔNˆŒÝ˜4œ=Ñ)Ô)Ð)àÔÐ(ØŒM×*Ò*¨4Ô+<Ñ=Ô=Ð=ØŒ;Ð"à#œ{ð 8ð 8‘��eØ”×*Ò*¨4°Ñ7Ô7Ð7Ð7ØŒ:Ð!Øœð 4ð 4�Ø”×,Ò,¨UÑ3Ô3Ð3Ð3à×Ò˜Tœ^Ñ,Ô,Ð,Ð,Ð,r$   c                óÖ  — t          |t          ¦  «        st          d¦  «        ‚|D ]Á}t          |t          ¦  «        s"t	          |¦  «        dk    rt          d¦  «        ‚|\  }}t          |t
          ¦  «        st          d¦  «        ‚d|v st          j        dk    r't          j        |v rt          d|d         › d�¦  «        ‚t          |t          ¦  «        st          d	¦  «        ‚ŒÂd
S )a`  Ensure that the list of libraries is valid.

        `library` is presumably provided as a command option 'libraries'.
        This method checks that it is a list of 2-tuples, where the tuples
        are (library_name, build_info_dict).

        Raise DistutilsSetupError if the structure is invalid anywhere;
        just returns otherwise.
        z+'libraries' option must be a list of tuplesr   z*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)ú/zbad library name 'r   z'': may not contain directory separatorszMsecond element of each tuple in 'libraries' must be a dictionary (build info)N)	r,   Úlistr   ÚtupleÚlenr-   r/   ÚsepÚdict)r!   r   Úlibr7   Ú
build_infos        r"   r+   zbuild_clib.check_library_listj   s  € õ ˜)¥TÑ*Ô*ð 	UÝ%Ð&SÑTÔTÐTàð 	ð 	ˆCÝ˜c¥5Ñ)Ô)ð X­c°#©h¬h¸!ªm¨mÝ)Ð*VÑWÔWÐWà"ÑˆD�*å˜d¥CÑ(Ô(ð Ý)ð:ñô ð ð
 �dˆ{ˆ{�rœv¨š}˜}µ´¸4°°Ý)ØX¨¨Q¬ÐXÐXÐXñô ð õ ˜j­$Ñ/Ô/ð Ý)ð8ñô ð ðð#	ð 	r$   c                ó`   — | j         sd S g }| j         D ]\  }}|                     |¦  «         Œ|S )N)r   Úappend)r!   Ú	lib_namesÚlib_nameÚ_build_infos       r"   Úget_library_nameszbuild_clib.get_library_namesŽ   sK   € ð Œ~ð 	Ø�4àˆ	Ø%)¤^ð 	'ð 	'Ñ!ˆH�kØ×Ò˜XÑ&Ô&Ð&Ð&ØÐr$   c                ó  — |                       | j        ¦  «         g }| j        D ]`\  }}|                     d¦  «        }|�t          |t          t
          f¦  «        st          d|› d�¦  «        ‚|                     |¦  «         Œa|S )NÚsourcesú in 'libraries' option (library 'úD'), 'sources' must be present and must be a list of source filenames)r+   r   Úgetr,   r=   r>   r   Úextend)r!   Ú	filenamesrG   rC   rK   s        r"   Úget_source_fileszbuild_clib.get_source_files™   s¢   € Ø×Ò ¤Ñ/Ô/Ð/Øˆ	Ø$(¤Nð 		&ð 		&Ñ ˆH�jØ —n’n YÑ/Ô/ˆGØˆ¥j°½4Å¸-Ñ&HÔ&HˆÝ)ð1°xð 1ð 1ð 1ñô ð ð ×Ò˜WÑ%Ô%Ð%Ð%ØÐr$   c                óà  — |D ]ê\  }}|                      d¦  «        }|�t          |t          t          f¦  «        st	          d|› d�¦  «        ‚t          |¦  «        }t          j        d|¦  «         |                      d¦  «        }|                      d¦  «        }| j                             || j	        ||| j
        ¬¦  «        }| j                             ||| j        | j
        ¬¦  «         Œëd S )	NrK   rL   rM   zbuilding '%s' libraryÚmacrosr   )Ú
output_dirrS   r   r   )rT   r   )rN   r,   r=   r>   r   r   Úinfor   Úcompiler   r   Úcreate_static_libr   )r!   r   rG   rC   rK   rS   r   Úobjectss           r"   r6   zbuild_clib.build_libraries¨   s  € Ø$-ð 	ð 	Ñ ˆH�jØ —n’n YÑ/Ô/ˆGØˆ¥j°½4Å¸-Ñ&HÔ&HˆÝ)ð1°xð 1ð 1ð 1ñô ð õ
 ˜7‘m”mˆGåŒHÐ,¨hÑ7Ô7Ð7ð
  —^’^ HÑ-Ô-ˆFØ%Ÿ>š>¨.Ñ9Ô9ˆLØ”m×+Ò+ØØœ?ØØ)Ø”jð ,ñ ô ˆGð ŒM×+Ò+Ø˜¨d¬oÀTÄZð ,ñ ô ð ð ð9	ð 	r$   )r%   r&   )Ú__name__Ú
__module__Ú__qualname__Údescriptionr   Ú__annotations__r   r	   r   r#   r1   r:   r+   rI   rQ   r6   © r$   r"   r   r      s  € € € € € € ØC€Kð:ð :ð :€Lð ð ð ñ ð -4°WÐ+=€OÐ=Ð=Ð=Ñ=ð 
˜$Ð :¸NÐKðW€Lð ð ð ñ ðð ð ðDð Dð Dð Dð6-ð -ð -ð -ð&"ð "ð "ð "ðH	ð 	ð 	ðð ð ðð ð ð ð ð r$   r   )Ú__doc__Ú
__future__r   r/   Úcollections.abcr   Údistutils._logr   Útypingr   Ú	ccompilerr   r	   Úcorer
   Úerrorsr   Ú	sysconfigr   r   r^   r$   r"   ú<module>rh      sî   ððð ð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (Ø *Ð *Ð *Ð *Ð *Ð *ðkð kð kð kð k�ñ kô kð kð kð kr$   