HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/setuptools/command/__pycache__/build_clib.cpython-310.pyc
o

�_�a?�@sLddlmmZddlmZddlmZddlm	Z	Gdd�dej�ZdS)�N)�DistutilsSetupError)�log)�newer_pairwise_groupc@seZdZdZdd�ZdS)�
build_clibav
    Override the default build_clib behaviour to do the following:

    1. Implement a rudimentary timestamp-based dependency system
       so 'compile()' doesn't run every time.
    2. Add more keys to the 'build_info' dictionary:
        * obj_deps - specify dependencies for each object compiled.
                     this should be a dictionary mapping a key
                     with the source filename to a list of
                     dependencies. Use an empty string for global
                     dependencies.
        * cflags   - specify a list of additional flags to pass to
                     the compiler.
    c	Csn|D]�\}}|�d�}|dust|ttf�std|��t|�}t�d|�|�dt��}t|t�s8td|��g}|�dt��}t|ttf�sNtd|��|D](}|g}	|	�|�|�|t��}
t|
ttf�sntd|��|	�|
�|�	|	�qP|j
j||jd�}t
||�ggfkr�|�d�}|�d	�}
|�d
�}|j
j||j||
||jd�|j
j|||j|jd�qdS)
N�sourceszfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenameszbuilding '%s' library�obj_depsz\in 'libraries' option (library '%s'), 'obj_deps' must be a dictionary of type 'source: list'�)�
output_dir�macros�include_dirs�cflags)r	r
r�extra_postargs�debug)r	r)�get�
isinstance�list�tuplerr�info�dict�extend�append�compiler�object_filenames�
build_tempr�compiler�create_static_libr)�self�	libraries�lib_name�
build_inforr�dependencies�global_deps�source�src_deps�
extra_deps�expected_objectsr
rr�r&�?/usr/lib/python3/dist-packages/setuptools/command/build_clib.py�build_librariess|
��
����
��
��


���zbuild_clib.build_librariesN)�__name__�
__module__�__qualname__�__doc__r(r&r&r&r'rsr)
�distutils.command.build_clib�commandr�orig�distutils.errorsr�	distutilsr�setuptools.dep_utilrr&r&r&r'�<module>s