
    ;ȋh                     n    d dl mZ d dlmZ ddlmc mZ ddlm	Z	 ddl
mZ  G d dej                  ZdS )	   )Distribution)newer_pairwise_group    N)log)DistutilsSetupErrorc                   &    e Zd ZU dZeed<   ddZdS )
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.
    distributionreturnNc           	         |D ]z\  }}|                     d          }|t          |t          t          f          st	          d| d          t          t          |                    }t          j        d|           |                     dt                                }t          |t                    st	          d| d          g }|                     dt                                }t          |t          t          f          st	          d| d          |D ]}|g}	|		                    |           |                     |t                                }
t          |
t          t          f          st	          d| d          |		                    |
           |
                    |	           | j                            || j                  }t          ||          g g fk    ri|                     d	          }|                     d
          }|                     d          }| j                            || j        |||| j                   | j                            ||| j        | j                   |d S )Nsourcesz in 'libraries' option (library 'zD'), 'sources' must be present and must be a list of source filenameszbuilding '%s' libraryobj_depsz:'), '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                  Z/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/command/build_clib.pybuild_librarieszbuild_clib.build_libraries   s   $- K	 K	 Hj nnY//Gj4-&H&H)1x 1 1 1  
 T']]++GH,h777
 "~~j$&&99Hh-- )*x * * *  
 L #,,r46622KkD%=99 )*x * * *   " . ."8,,,%\\&$&&99
!*tUm<< -.8 . . .  
 
+++##H----#}==?  >    
 $L2BCCBxOO $11)~~n==#11%%#!!-#)* &    M++ (tdj ,    SK	 K	    )r   N)__name__
__module____qualname____doc__r   __annotations__r/    r0   r.   r	   r	   	   sH           L L L L L Lr0   r	   )distr   modifiedr   distutils.command.build_clibcommandr	   orig	distutilsr   distutils.errorsr   r6   r0   r.   <module>r>      s          + + + + + + + + + + + + + + +       0 0 0 0 0 0^ ^ ^ ^ ^ ^ ^ ^ ^ ^r0   