Sindbad~EG File Manager
3
9��f��@sFddljjZddlmZddlmZddlm 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 Cs~�xv|D�]l\}}|jd�}|dks4t|ttf�r@td|��t|�}tjd|�|jdt��}t|t�sxtd|��g}|jdt��}t|ttf�s�td|��xX|D]P}|g} | j|�|j|t��}
t|
ttf�s�td|��| j|
�|j | �q�W|j
j||jd�}t
||�ggfk�r^|jd�}|jd �}
|jd
�}|j
j||j||
||jd�}|j
j|||j|jd�qWdS)
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
rZextra_postargs�debug)r r
)�get�
isinstance�list�tuplerr�info�dict�extend�appendZcompilerZobject_filenamesZ
build_tempr�compiler
Zcreate_static_libr)�selfZ librariesZlib_nameZ
build_inforrZdependenciesZglobal_deps�sourceZsrc_depsZ
extra_depsZexpected_objectsr
rrZobjects�r� /usr/lib/python3.6/build_clib.py�build_librariess`
zbuild_clib.build_librariesN)�__name__�
__module__�__qualname__�__doc__rrrrrrsr)
Zdistutils.command.build_clibZcommandrZorigZdistutils.errorsrZ distutilsrZsetuptools.dep_utilrrrrr�<module>s
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists