Current File : //usr/lib/python3/dist-packages/setuptools/command/__pycache__/build_clib.cpython-312.pyc |
�
_�d. � �d � d dl mc mZ d dlmZ d dlmZ d dlm Z G d� dej � Zy)� N)�DistutilsSetupError)�log)�newer_pairwise_groupc � � e Zd ZdZd� Zy)�
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 �j � |D �]- \ }}|j d� }|�t |t t f� st d|z � �t t |� � }t
j d|� |j dt � � }t |t � st d|z � �g }|j dt � � }t |t t f� st d|z � �|D ]v }|g} | j |� |j |t � � }
t |
t t f� st d|z � �| j |
� |j | � �x | j j || j �� }t ||� g g fk7 rh|j d� }|j d � }
|j d
� }| j j || j ||
|| j �� | j j# ||| j$ | j �� ��0 y )
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�tupler �sortedr �info�dict�extend�append�compiler�object_filenames�
build_tempr �compiler �create_static_libr )�self� libraries�lib_name�
build_infor r
�dependencies�global_deps�source�src_deps�
extra_deps�expected_objectsr
r r s �?/usr/lib/python3/dist-packages/setuptools/command/build_clib.py�build_librarieszbuild_clib.build_libraries s* � �$-� K � �H�j� �n�n�Y�/�G���j��4��-�&H�)�1�3;�<�� �
�T�'�]�+�G��H�H�,�h�7�
"�~�~�j�$�&�9�H��h��-�)�*�,4�5�� �
�L� #�,�,�r�4�6�2�K��k�D�%�=�9�)�*�,4�5�� � "�
.��"�8������,�%�\�\�&�$�&�9�
�!�*�t�U�m�<�-�.�08�9�� �
���
�+��#�#�H�-�
.� $�}�}�=�=���?�?� >� ��
$�L�2B�C��B�x�O� $����1��)�~�~�n�=��#����1���
�
�%�%��#���!�!-�#)��*�*�
&� �
�M�M�+�+� �(�t���d�j�j�
,�
�SK � N)�__name__�
__module__�__qualname__�__doc__r+ � r, r* r r s
� �
�Lr, r )
�distutils.command.build_clib�commandr �orig�distutils.errorsr � distutilsr �setuptools.dep_utilr r1 r, r* �<module>r8 s&