§
    Á³g(  ã                   ó:   — d Z ddlZddlZ G d„ d¦  «        Zd„ ZdS )zmdistutils.extension

Provides the Extension class, used to describe C/C++ extension
modules in setup scripts.é    Nc                   ó<   — e Zd ZdZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zd„ ZdS )Ú	Extensionaß  Just a collection of attributes that describes an extension
    module and everything needed to build it (hopefully in a portable
    way, but there are hooks that let you be as unportable as you need).

    Instance attributes:
      name : string
        the full name of the extension, including any packages -- ie.
        *not* a filename or pathname, but Python dotted name
      sources : [string]
        list of source filenames, relative to the distribution root
        (where the setup script lives), in Unix form (slash-separated)
        for portability.  Source files may be C, C++, SWIG (.i),
        platform-specific resource files, or whatever else is recognized
        by the "build_ext" command as source for a Python extension.
      include_dirs : [string]
        list of directories to search for C/C++ header files (in Unix
        form for portability)
      define_macros : [(name : string, value : string|None)]
        list of macros to define; each macro is defined using a 2-tuple,
        where 'value' is either the string to define it to or None to
        define it without a particular value (equivalent of "#define
        FOO" in source or -DFOO on Unix C compiler command line)
      undef_macros : [string]
        list of macros to undefine explicitly
      library_dirs : [string]
        list of directories to search for C/C++ libraries at link time
      libraries : [string]
        list of library names (not filenames or paths) to link against
      runtime_library_dirs : [string]
        list of directories to search for C/C++ libraries at run time
        (for shared extensions, this is when the extension is loaded)
      extra_objects : [string]
        list of extra files to link with (eg. object files not implied
        by 'sources', static library that must be explicitly specified,
        binary resource files, etc.)
      extra_compile_args : [string]
        any extra platform- and compiler-specific information to use
        when compiling the source files in 'sources'.  For platforms and
        compilers where "command line" makes sense, this is typically a
        list of command-line arguments, but for other platforms it could
        be anything.
      extra_link_args : [string]
        any extra platform- and compiler-specific information to use
        when linking object files together to create the extension (or
        to create a new static Python interpreter).  Similar
        interpretation as for 'extra_compile_args'.
      export_symbols : [string]
        list of symbols to be exported from a shared extension.  Not
        used on all platforms, and not generally necessary for Python
        extensions, which typically export exactly one symbol: "init" +
        extension_name.
      swig_opts : [string]
        any extra options to pass to SWIG if a source file has the .i
        extension.
      depends : [string]
        list of files that the extension depends on
      language : string
        extension language (i.e. "c", "c++", "objc"). Will be detected
        from the source extensions if not provided.
      optional : boolean
        specifies that a build failure in the extension should not abort the
        build process, but simply not install the failing extension.
    Nc                 ó�  — t          |t          ¦  «        st          d¦  «        ‚t          |t          ¦  «        rt	          d„ |D ¦   «         ¦  «        st          d¦  «        ‚|| _        || _        |pg | _        |pg | _        |pg | _	        |pg | _
        |pg | _        |pg | _        |	pg | _        |
pg | _        |pg | _        |pg | _        |pg | _        |pg | _        || _        || _        t+          |¦  «        dk    rId„ |D ¦   «         }d                     t/          |¦  «        ¦  «        }d|z  }t1          j        |¦  «         d S d S )Nz'name' must be a stringc              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S )N)Ú
isinstanceÚstr)Ú.0Úvs     ú]/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/setuptools/_distutils/extension.pyú	<genexpr>z%Extension.__init__.<locals>.<genexpr>m   s,   è è € Ð1VÐ1VÈµ*¸QÅÑ2DÔ2DÐ1VÐ1VÐ1VÐ1VÐ1VÐ1Vó    z#'sources' must be a list of stringsr   c                 ó,   — g | ]}t          |¦  «        ‘ŒS © )Úrepr)r	   Úoptions     r   ú
<listcomp>z&Extension.__init__.<locals>.<listcomp>ƒ   s   € Ð5Ð5Ð5¨•t˜F‘|”|Ð5Ð5Ð5r   z, zUnknown Extension options: %s)r   r   ÚAssertionErrorÚlistÚallÚnameÚsourcesÚinclude_dirsÚdefine_macrosÚundef_macrosÚlibrary_dirsÚ	librariesÚruntime_library_dirsÚextra_objectsÚextra_compile_argsÚextra_link_argsÚexport_symbolsÚ	swig_optsÚdependsÚlanguageÚoptionalÚlenÚjoinÚsortedÚwarningsÚwarn)Úselfr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   ÚkwÚoptionsÚmsgs                       r   Ú__init__zExtension.__init__W   sz  € õ( ˜$¥Ñ$Ô$ð 	<Ý Ð!:Ñ;Ô;Ð;Ý˜7¥DÑ)Ô)ð 	H­cÐ1VÐ1VÈgÐ1VÑ1VÔ1VÑ.VÔ.Vð 	HÝ Ð!FÑGÔGÐGàˆŒ	ØˆŒØ(Ð.¨BˆÔØ*Ð0¨bˆÔØ(Ð.¨BˆÔØ(Ð.¨BˆÔØ"˜ bˆŒØ$8Ð$>¸BˆÔ!Ø*Ð0¨bˆÔØ"4Ð":¸ˆÔØ.Ð4°"ˆÔØ,Ð2°ˆÔØ"˜ bˆŒØ�} "ˆŒØ ˆŒØ ˆŒõ ˆr‰7Œ7�QŠ;ˆ;Ø5Ð5°"Ð5Ñ5Ô5ˆGØ—i’i¥ w¡¤Ñ0Ô0ˆGØ1°GÑ;ˆCÝŒM˜#ÑÔÐÐÐð	 ˆ;r   c                 ó~   — d                      | j        j        | j        j        | j        t          | ¦  «        ¦  «        S )Nz<{}.{}({!r}) at {:#x}>)ÚformatÚ	__class__Ú
__module__Ú__qualname__r   Úid)r+   s    r   Ú__repr__zExtension.__repr__ˆ   s8   € Ø'×.Ò.ØŒNÔ%ØŒNÔ'ØŒIÝˆt‰HŒHñ	
ô 
ð 	
r   )NNNNNNNNNNNNNN)Ú__name__r3   r4   Ú__doc__r/   r6   r   r   r   r   r      so   € € € € € ð>ð >ðL ØØØØØ!ØØØØØØØØð#/ð /ð /ð /ðb
ð 
ð 
ð 
ð 
r   r   c                 ó¼  — ddl m}m}m} ddlm} ddlm}  || ¦  «        } || ddddd¬¦  «        }	 g }	 |                     ¦   «         }	|	€�nÞ| 	                    |	¦  «        rŒ/|	d         |	d	         cxk    rd
k    rn n| 
                    d|	z  ¦  «         Œd ||	|¦  «        }	 ||	¦  «        }
|
d         }t          |g ¦  «        }d}|
dd…         D �]?}|�|                     |¦  «         d}Œt          j                             |¦  «        d         }|dd…         }|dd…         }|dv r|j                             |¦  «         Œu|dk    r|j                             |¦  «         Œ–|dk    ri|                     d¦  «        }|d	k    r|j                             |df¦  «         ŒÔ|j                             |d|…         ||dz   d…         f¦  «         �Œ|dk    r|j                             |¦  «         �Œ'|dk    r|j                             |¦  «         �ŒI|dk    r|j                             |¦  «         �Œk|dk    r|j                             |¦  «         �Œ�|dk    r|j                             |¦  «         �Œ¯|dk    r	|j        }�Œ¾|dk    r	|j        }�ŒÍ|dk    r	|j        }�ŒÜ|dk    r%|j                             |¦  «         |s|j        }�Œ|dv r|j                             |¦  «         �Œ'| 
                    d|z  ¦  «         �ŒA|                     |¦  «         �Œö	 |                     ¦   «          n# |                     ¦   «          w xY w|S )z3Reads a Setup file and returns Extension instances.r   )Úparse_makefileÚexpand_makefile_varsÚ_variable_rx)ÚTextFile)Úsplit_quotedé   )Ústrip_commentsÚskip_blanksÚ
join_linesÚ	lstrip_wsÚ	rstrip_wsTNéÿÿÿÿÚ*z'%s' lines not handled yeté   )z.cz.ccz.cppz.cxxz.c++z.mz.mmz-Iz-Dú=z-Uz-Cz-lz-Lz-Rz-rpathz-Xlinkerz
-Xcompilerz-u)z.az.soz.slz.oz.dylibzunrecognized argument '%s')Údistutils.sysconfigr:   r;   r<   Údistutils.text_filer=   Údistutils.utilr>   ÚreadlineÚmatchr*   r   ÚappendÚosÚpathÚsplitextr   r   Úfindr   r   r   r   r   r   r    r   Úclose)Úfilenamer:   r;   r<   r=   r>   ÚvarsÚfileÚ
extensionsÚlineÚwordsÚmoduleÚextÚappend_next_wordÚwordÚsuffixÚswitchÚvalueÚequalss                      r   Úread_setup_filerb   ‘   s$  € àVÐVÐVÐVÐVÐVÐVÐVÐVÐVà,Ð,Ð,Ð,Ð,Ð,Ø+Ð+Ð+Ð+Ð+Ð+ð ˆ>˜(Ñ#Ô#€Dð ˆ8ØØØØØØðñ ô €DðQØˆ
ðL	#Ø—=’=‘?”?ˆDØˆ|ÙØ×!Ò! $Ñ'Ô'ð Øà�AŒw˜$˜rœ(Ð)Ð)Ò)Ð) cÒ)Ð)Ð)Ð)Ð)Ø—	’	Ð6¸Ñ=Ñ>Ô>Ð>Øà'Ð'¨¨dÑ3Ô3ˆDØ �L Ñ&Ô&ˆEð ˜1”XˆFÝ˜F BÑ'Ô'ˆCØ#Ðà˜a˜b˜bœ	ð 2Cñ 2C�Ø#Ð/Ø$×+Ò+¨DÑ1Ô1Ð1Ø'+Ð$Øåœ×)Ò)¨$Ñ/Ô/°Ô2�Ø˜a ˜cœ�Ø˜Q˜R˜Rœ�àÐOÐOÐOð ”K×&Ò& tÑ,Ô,Ð,Ð,Ø˜t’^�^ØÔ$×+Ò+¨EÑ2Ô2Ð2Ð2Ø˜t’^�^Ø"ŸZšZ¨™_œ_�FØ ’|�|ØÔ)×0Ò0°%¸°Ñ?Ô?Ð?Ð?àÔ)×0Ò0°%¸¸&¸´/À5ÈÐRSÉÈÈÔCVÐ1WÑXÔXÐXÑXØ˜t’^�^ØÔ$×+Ò+¨EÑ2Ô2Ð2Ñ2Ø˜t’^�^ØÔ*×1Ò1°$Ñ7Ô7Ð7Ñ7Ø˜t’^�^Ø”M×(Ò(¨Ñ/Ô/Ð/Ñ/Ø˜t’^�^ØÔ$×+Ò+¨EÑ2Ô2Ð2Ñ2Ø˜t’^�^ØÔ,×3Ò3°EÑ:Ô:Ð:Ñ:Ø˜XÒ%Ð%Ø'*Ô'?Ð$Ñ$Ø˜ZÒ'Ð'Ø'*Ô':Ð$Ñ$Ø˜\Ò)Ð)Ø'*Ô'=Ð$Ñ$Ø˜t’^�^ØÔ'×.Ò.¨tÑ4Ô4Ð4Ø ð ?Ø+.Ô+>Ð(ùØÐCÐCÐCð
 Ô%×,Ò,¨TÑ2Ô2Ð2Ñ2à—I’IÐ:¸TÑAÑBÔBÐBÑBà×Ò˜cÑ"Ô"Ð"ñYL	#ð ðV 	�
Š
‰Œˆˆøˆ�
Š
‰ŒˆˆøøøàÐs   ´K9M ÍM)r8   rO   r)   r   rb   r   r   r   ú<module>rc      sr   ððð ð
 
€	€	€	Ø €€€ðz
ð z
ð z
ð z
ð z
ñ z
ô z
ð z
ðzgð gð gð gð gr   