%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/setuptools/_distutils/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/setuptools/_distutils/__pycache__/extension.cpython-312.pyc

�


_�d(��2�dZddlZddlZGd�d�Zd�Zy)zmdistutils.extension

Provides the Extension class, used to describe C/C++ extension
modules in setup scripts.�Nc�:�eZdZdZ														dd�Zd�Zy)�	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�std��t|t�rt	d�|D��std��||_||_|xsg|_|xsg|_|xsg|_	|xsg|_
|xsg|_|xsg|_|	xsg|_
|
xsg|_|xsg|_|xsg|_|
xsg|_|xsg|_||_||_t+|�dkDrM|D�cgc]
}t-|���}}dj/t1|��}d|z}t3j4|�yycc}w)Nz'name' must be a stringc3�<K�|]}t|t����y�w)N)�
isinstance�str)�.0�vs  �A/usr/lib/python3/dist-packages/setuptools/_distutils/extension.py�	<genexpr>z%Extension.__init__.<locals>.<genexpr>ms����1V��*�Q��2D�1V�s�z#'sources' must be a list of stringsrz, zUnknown Extension options: %s)rr�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�repr�join�sorted�warnings�warn)�selfrrrrrrrrrrrrrrrr�kw�option�options�msgs                     r�__init__zExtension.__init__WsC��(�$��$� �!:�;�;��7�D�)�c�1V�g�1V�.V� �!F�G�G���	����(�.�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�1�G�;�C��M�M�#��	��5s�;Ec��dj|jj|jj|jt|��S)Nz<{}.{}({!r}) at {:#x}>)�format�	__class__�
__module__�__qualname__r�id)r&s r�__repr__zExtension.__repr__�s=��'�.�.��N�N�%�%��N�N�'�'��I�I��t�H�	
�	
�)NNNNNNNNNNNNNN)�__name__r/r0�__doc__r+r2�r3rrrs?��>�L�����!���������#/�b
r3rc�0�ddlm}m}m}ddlm}ddlm}||�}||ddddd��}	g}	|j�}	|	��n�|j|	�r�'|	d|	dcxk(rd	k(rnn|jd
|	z��P||	|�}	||	�}
|
d}t|g�}d}
|
ddD�]0}|
�|
j|�d}
�tjj|�d}|dd}|dd}|dvr|j j|��f|d
k(r|j"j|���|dk(r[|j%d�}|dk(r|j&j|df���|j&j|d|||dzdf���|dk(r|j(j|���	|dk(r|j*j|���+|dk(r|j,j|���M|dk(r|j.j|���o|dk(r|j0j|����|dk(r|j0}
���|dk(r|j2}
���|dk(r|j*}
���|dk(r-|j2j|�|r���|j2}
���|dvr|j4j|���|jd|z���3|j|����	|j7�|S#|j7�wxYw)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_wsN����*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.dylibzunrecognized argument '%s')�distutils.sysconfigr8r9r:�distutils.text_filer;�distutils.utilr<�readline�matchr%r�append�os�path�splitextrr�findrrrrrrrr�close)�filenamer8r9r:r;r<�vars�file�
extensions�line�words�module�ext�append_next_word�word�suffix�switch�value�equalss                   r�read_setup_filer`�s��V�V�,�+��(�#�D��������
�D�Q��
���=�=�?�D��|���!�!�$�'���A�w�$�r�(�)�c�)��	�	�6��=�>��'��d�3�D� ��&�E��1�X�F��F�B�'�C�#���a�b�	�2
C��#�/�$�+�+�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�:�T�A�B�e2
C�h
���c�"�Y��V	
�
�
�����	
�
�
��s�I'L�AL�L)r5rMr$rr`r6r3r�<module>ras%���

��z
�z
�zgr3

Zerion Mini Shell 1.0