ã“Re„ ã @ s_ d d l j j Z d d l m Z d d l m Z d d l m Z Gd d „ d e j ƒ Z d S)é N)ÚDistutilsSetupError)Úlog)Únewer_pairwise_groupc @ s" e Z d Z d Z 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.
c
C s% x| D]\ } } | j d ƒ } | d k sD t | t t f ƒ rT t d | ƒ ‚ t | ƒ } t j d | ƒ | j d t ƒ ƒ } t | t ƒ s¤ t d | ƒ ‚ g } | j d t ƒ ƒ } t | t t f ƒ sä t d | ƒ ‚ xx | D]p } | g } | j | ƒ | j | t ƒ ƒ }
t |
t t f ƒ sAt d | ƒ ‚ | j |
ƒ | j | ƒ që W| j
j | d | j ƒ} t
| | ƒ g g f k rø| j d ƒ } | j d ƒ }
| j d
ƒ } | j
j | d | j d | d |
d | d | j ƒ} | j
j | | d | j d | j ƒq Wd 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ÚcflagsZextra_postargsÚdebug)ÚgetÚ
isinstanceÚlistÚtupler r ÚinfoÚdictÚextendÚappendÚcompilerZobject_filenamesÚ
build_tempr Úcompiler
Zcreate_static_libr )ÚselfÚ librariesZlib_nameZ
build_infor r ZdependenciesZglobal_depsÚsourceZsrc_depsZ
extra_depsZexpected_objectsr
r r Zobjects© r ú“/builddir/build/BUILDROOT/alt-python35-setuptools-36.3.0-4.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/setuptools/command/build_clib.pyÚbuild_libraries s` "
zbuild_clib.build_librariesN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r r r r r r s r )
Zdistutils.command.build_clibÚcommandr ÚorigÚdistutils.errorsr Ú distutilsr Zsetuptools.dep_utilr r r r r Ú