
    09oe?                     b    d dl mc mZ d dlmZ d dlmZ d dlm	Z	  G d dej                  ZdS )    N)DistutilsSetupError)log)newer_pairwise_groupc                       e Zd ZdZ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.
    c           	         |D ]i\  }}|                     d          }|t          |t          t          f          st	          d|z            t          |          }t          j        d|           |                     dt                                }t          |t                    st	          d|z            g }|                     dt                                }t          |t          t          f          st	          d|z            |D ]}|g}	|	                    |           |                     |t                                }
t          |
t          t          f          st	          d|z            |	                    |
           |	                    |	           | j
                            || j                  }t          ||          g g fk    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 filenameszbuilding '%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                  VD:\Python Project\StaffProfile\venv\Lib\site-packages\setuptools/command/build_clib.pybuild_librarieszbuild_clib.build_libraries   s   &/ M	 M	"Xz nnY//Gj4-&H&H)13;<= = = 7mmGH,h777
 "~~j$&&99Hh-- 6)*,456 6 6 L #,,r46622KkD%=99 6)*,456 6 6 " 
. 
."8,,,%\\&$&&99
!*tUm<< :-.089: : : 
+++##H----#}==?  >     %\3CDD8  $11)~~n==#11%%#!!-#)* &    M++ ?j	 ,    QM	 M	    N)__name__
__module____qualname____doc__r*    r+   r)   r   r      s2         N N N N Nr+   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+   