File: D:/Python311/Lib/site-packages/setuptools/command/__pycache__/build_clib.cpython-311.pyc
�
�nc? � �b � d dl mc mZ d dlmZ d dlmZ d dlm Z G d� dej � � ZdS )� N)�DistutilsSetupError)�log)�newer_pairwise_groupc � � e Zd ZdZd� 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 �� � |D �]i\ }}|� d� � }|�t |t t f� � st d|z � � �t |� � }t j d|� � |� dt � � � � }t |t � � st d|z � � �g }|� dt � � � � }t |t t f� � st d|z � � �|D ]�}|g} | � |� � |� |t � � � � }
t |
t t f� � st d|z � � �| � |
� � |� | � � ��| j
� || j �� � }t ||� � g g fk ri|� d� � }|� d � � }
|� d
� � }| j
� || j ||
|| j �� � | j
� ||| j | j �� � ��kd S )
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 r �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 �?D:\Python311\Lib\site-packages\setuptools/command/build_clib.py�build_librarieszbuild_clib.build_libraries s� � �&/� M � M �"�X�z� �n�n�Y�/�/�G��
=�j��4��-�&H�&H�
=�)�1�3;�<�=� =� =� �7�m�m�G��H�,�h�7�7�7�
"�~�~�j�$�&�&�9�9�H��h��-�-�
6�)�*�,4�5�6� 6� 6� �L� #�,�,�r�4�6�6�2�2�K��k�D�%�=�9�9�
6�)�*�,4�5�6� 6� 6� "�
.�
.��"�8������,�,�,�%�\�\�&�$�&�&�9�9�
�!�*�t�U�m�<�<� :�-�.�08�9�:� :� :� ���
�+�+�+��#�#�H�-�-�-�-�#�}�=�=���?� >� � �� %�\�3C�D�D���8��
� $����1�1��)�~�~�n�=�=��#����1�1���
�%�%��#��!�!-�#)��*�
&� � � �
�M�+�+� ���?��j�
,�
�
�
�
�QM � M � N)�__name__�
__module__�__qualname__�__doc__r* � r+ r) r r s2 � � � � � �
�
�N� N� N� N� Nr+ r )
�distutils.command.build_clib�commandr �orig�distutils.errorsr � distutilsr �setuptools.dep_utilr r0 r+ r) �<module>r7 s� �� +� +� +� +� +� +� +� +� +� 0� 0� 0� 0� 0� 0� � � � � � � 4� 4� 4� 4� 4� 4�^� ^� ^� ^� ^��� ^� ^� ^� ^� ^r+