Hacked By AnonymousFox

Current Path : /opt/alt/python311/lib64/python3.11/distutils/__pycache__/
Upload File :
Current File : //opt/alt/python311/lib64/python3.11/distutils/__pycache__/extension.cpython-311.opt-1.pyc

�

c��f!)��B�dZddlZddlZddlZGd�d��Zd�ZdS)zmdistutils.extension

Provides the Extension class, used to describe C/C++ extension
modules in setup scripts.�Nc�<�eZdZdZ														dd�Zd�ZdS)�	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���||_||_|pg|_|pg|_|pg|_	|pg|_
|pg|_|pg|_|	pg|_
|
pg|_|pg|_|pg|_|
pg|_|pg|_||_||_t+|��dkrId�|D��}d�t/|����}d|z}t1j|��dSdS)Nz'name' must be a stringc3�@K�|]}t|t��V��dS)N)�
isinstance�str)�.0�vs  �:/opt/alt/python311/lib64/python3.11/distutils/extension.py�	<genexpr>z%Extension.__init__.<locals>.<genexpr>ks,����8�8�1�J�q�#�&�&�8�8�8�8�8�8�z#'sources' must be a list of stringsrc�,�g|]}t|����S�)�repr)r	�options  r�
<listcomp>z&Extension.__init__.<locals>.<listcomp>�s��5�5�5��t�F�|�|�5�5�5r
z, 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�join�sorted�warnings�warn)�selfrrrrrrrrrrr r!r"r#r$r%�kw�options�msgs                    r�__init__zExtension.__init__Ws{��"�$��$�$�	<� �!:�;�;�;��7�D�)�)�	H��8�8��8�8�8�8�8�	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|jj|jj|jt	|��fzS)Nz<%s.%s(%r) at %#x>)�	__class__�
__module__�__qualname__r�id)r+s r�__repr__zExtension.__repr__�s2��#��N�%��N�'��I��t�H�H�	'��	r
)NNNNNNNNNNNNNN)�__name__r2r3�__doc__r/r5rr
rrrso������>�>�F $� $�#�#� �'+� $�%)�"&�!%�"����-�-�-�-�^����r
rc��ddlm}m}m}ddlm}ddlm}||��}||ddddd���}	g}	|���}	|	��n�tj
||	��r�/|	d|	d	cxkrd
krnn|�d|	z���d||	|��}	||	��}
|
d}t|g��}d}
|
dd�D�]?}|
�|
�
|��d}
�tj�|��d}|dd�}|dd�}|d
vr|j�
|���u|dkr|j�
|����|dkri|�d��}|d	kr|j�
|df����|j�
|d|�||dzd�f����|dkr|j�
|����'|dkr|j�
|����I|dkr|j�
|����k|dkr|j�
|�����|dkr|j�
|�����|dkr	|j}
���|dkr	|j}
���|dkr	|j}
���|dkr%|j�
|��|s|j}
��|dvr|j�
|����'|�d|z����A|�
|�����	|���n#|���wxYw|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.dylibzunrecognized argument '%s')�distutils.sysconfigr9r:r;�distutils.text_filer<�distutils.utilr=�readline�re�matchr*r�append�os�path�splitextrr�findrrrrrrr r�close)�filenamer9r:r;r<r=�vars�file�
extensions�line�words�module�ext�append_next_word�word�suffix�switch�value�equalss                   r�read_setup_filerb�sB��3�3�3�3�3�3�3�3�3�3�-�,�,�,�,�,�+�+�+�+�+�+��>�(�#�#�D��8�H�#$�!���1�.�.�.�D�Q��
�L	#��=�=�?�?�D��|���x��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���T�!�"�"�X�U��O�O�O��K�&�&�t�,�,�,�,��t�^�^��$�+�+�E�2�2�2�2��t�^�^�"�Z�Z��_�_�F���|�|��)�0�0�%���?�?�?�?��)�0�0�%��&��/�27��q��	�	�2B�2D�E�E�E�E��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�"�"�"�YL	#��V	
�
�
�������
�
���������s�K9M�M)r7rOrLr)rrbrr
r�<module>rcs{����

�	�	�	�	�	�	�	�����w�w�w�w�w�w�w�w�tc�c�c�c�cr

Hacked By AnonymousFox1.0, Coded By AnonymousFox