Ë
    –2Úiv(  ã                   ó2   — d Z ddlZddlZ G d„ d«      Zd„ Zy)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y)Ú	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 | os.PathLike]
        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«      ‚|| _        t        t        t        j                  |«      «      | _	        |xs g | _
        |xs g | _        |xs g | _        |xs g | _        |xs g | _        |xs g | _        |	xs g | _        |
xs g | _        |xs g | _        |xs g | _        |xs g | _        |xs g | _        || _        || _        t1        |«      dkD  rM|D �cg c]  }t3        |«      ‘Œ }}dj5                  t7        |«      «      }d|› �}t9        j:                  |«       y y c c}w )Nz'name' must be a stringc              3   ó\   K  — | ]$  }t        |t        t        j                  f«      –— Œ& y ­w)N)Ú
isinstanceÚstrÚosÚPathLike)Ú.0Úvs     úV/var/www/html/acx/venv/lib/python3.12/site-packages/setuptools/_distutils/extension.pyú	<genexpr>z%Extension.__init__.<locals>.<genexpr>o   s    è ø€ ÒG¸!”J˜q¤3¬¯©Ð"4×5ÑGùs   ‚*,z8'sources' must be a list of strings or PathLike objects.r   z, zUnknown Extension options: )r   r   ÚAssertionErrorÚlistÚallÚnameÚmapr	   ÚfspathÚ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ÚreprÚjoinÚsortedÚwarningsÚwarn)Úselfr   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   ÚkwÚoptionÚoptionsÚmsgs                        r   Ú__init__zExtension.__init__W   s\  € ô( ˜$¤Ô$Ü Ð!:Ó;Ð;ä�w¤Ô%ÜÑG¸wÔGÔGä ØJóð ð ˆŒ	ÜœC¤§	¡	¨7Ó3Ó4ˆŒØ(Ò.¨BˆÔØ*Ò0¨bˆÔØ(Ò.¨BˆÔØ(Ò.¨BˆÔØ"š bˆŒØ$8Ò$>¸BˆÔ!Ø*Ò0¨bˆÔØ"4Ò":¸ˆÔØ.Ò4°"ˆÔØ,Ò2°ˆÔØ"š bˆŒØ’} "ˆŒØ ˆŒØ ˆŒô ˆr‹7�QŠ;Ø24Ö5¨”t˜F•|Ð5ˆGÐ5Ø—i‘i¤ w£Ó0ˆGØ/°¨yÐ9ˆCÜ�M‰M˜#Õð	 ùÚ5s   ÄE&c           
      ó˜   — d| j                   j                  › d| j                   j                  › d| j                  ›dt	        | «      d›d�	S )Nú<ú.ú(z) at z#xú>)Ú	__class__Ú
__module__Ú__qualname__r   Úid)r*   s    r   Ú__repr__zExtension.__repr__�   sJ   € Ø�4—>‘>×,Ñ,Ð-¨Q¨t¯~©~×/JÑ/JÐ.KÈ1ÈTÏYÉYÈMÐY^Ô_aÐbfÓ_gÐhjÐ^kÐklÐmÐmó    )NNNNNNNNNNNNNN)Ú__name__r6   r7   Ú__doc__r/   r9   © r:   r   r   r      s@   „ ñ>ðL ØØØØØ!ØØØØØØØØó#4ólnr:   r   c                 ó4  — ddl m}m}m} ddlm} ddlm}  || «      } || ddddd¬«      }	 g }	 |j                  «       }	|	€�n­|j                  |	«      rŒ'|	d   |	d   cxk(  rd	k(  rn n|j                  d
|	› d�«       ŒQ ||	|«      }	 ||	«      }
|
d   }t        |g «      }d}|
dd D �]1  }|�|j                  |«       d}Œt        j                  j                  |«      d   }|dd }|dd }|dv r|j                   j                  |«       Œf|dk(  r|j"                  j                  |«       Œ‡|dk(  r[|j%                  d«      }|dk(  r|j&                  j                  |df«       ŒÀ|j&                  j                  |d| ||dz   d f«       Œç|dk(  r|j(                  j                  |«       �Œ	|dk(  r|j*                  j                  |«       �Œ+|dk(  r|j,                  j                  |«       �ŒM|dk(  r|j.                  j                  |«       �Œo|dk(  r|j0                  j                  |«       �Œ‘|dk(  r|j0                  }�Œ¤|dk(  r|j2                  }�Œ·|dk(  r|j*                  }�ŒÊ|dk(  r-|j2                  j                  |«       |r�Œî|j2                  }�Œü|dv r|j4                  j                  |«       �Œ|j                  d|› d
�«       �Œ4 |j                  |«       �ŒÁ	 |j7                  «        |S # |j7                  «        w xY w)z3Reads a Setup file and returns Extension instances.r   )Ú_variable_rxÚexpand_makefile_varsÚparse_makefile)ÚTextFile)Úsplit_quotedT)Ústrip_commentsÚskip_blanksÚ
join_linesÚ	lstrip_wsÚ	rstrip_wsNéÿÿÿÿÚ*ú'z' 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 ')Údistutils.sysconfigr?   r@   rA   Údistutils.text_filerB   Údistutils.utilrC   ÚreadlineÚmatchr)   r   Úappendr	   ÚpathÚsplitextr   r   Úfindr   r   r   r   r   r   r   r   Úclose)Úfilenamer?   r@   rA   rB   rC   ÚvarsÚfileÚ
extensionsÚlineÚwordsÚmoduleÚextÚappend_next_wordÚwordÚsuffixÚswitchÚvalueÚequalss                      r   Úread_setup_filerg   ‘   s   € çVÑVÝ,Ý+ñ ˜(Ó#€Dñ ØØØØØØô€DðQØˆ
àØ—=‘=“?ˆDØˆ|ÙØ×!Ñ! $Ô'Øà�A‰w˜$˜r™(Ô) cÕ)Ø—	‘	˜A˜d˜VÐ#:Ð;Ô<Øá'¨¨dÓ3ˆDÙ  Ó&ˆEð ˜1‘XˆFÜ˜F BÓ'ˆCØ#Ðà˜a˜b˜	ó 2A�Ø#Ð/Ø$×+Ñ+¨DÔ1Ø'+Ð$ØäŸ™×)Ñ)¨$Ó/°Ñ2�Ø˜a ˜�Ø˜Q˜R˜�àÐOÑOð —K‘K×&Ñ& tÕ,Ø˜t’^Ø×$Ñ$×+Ñ+¨EÕ2Ø˜t’^Ø"ŸZ™Z¨›_�FØ ’|Ø×)Ñ)×0Ñ0°%¸°Õ?à×)Ñ)×0Ñ0°%¸¸&°/À5ÈÐRSÉÈÐCVÐ1WÕXØ˜t’^Ø×$Ñ$×+Ñ+¨EÖ2Ø˜t’^Ø×*Ñ*×1Ñ1°$Ö7Ø˜t’^Ø—M‘M×(Ñ(¨Ö/Ø˜t’^Ø×$Ñ$×+Ñ+¨EÖ2Ø˜t’^Ø×,Ñ,×3Ñ3°EÖ:Ø˜XÒ%Ø'*×'?Ñ'?Ò$Ø˜ZÒ'Ø'*×':Ñ':Ò$Ø˜\Ò)Ø'*×'=Ñ'=Ò$Ø˜t’^Ø×'Ñ'×.Ñ.¨tÔ4Û Ø+.×+>Ñ+>Ò(ØÐCÑCð
 ×%Ñ%×,Ñ,¨TÖ2à—I‘IÐ 7¸°v¸QÐ?Ö@ðe2Aðh ×Ñ˜cÔ"ñY ð ðV 	�
‰
ŒàÐøð 	�
‰
�ús   ®I(L ÊAL ÌL)r<   r	   r(   r   rg   r=   r:   r   ú<module>rh      s'   ðñó
 
Û ÷znñ znózfr:   