U Wzf_?ã@sLddlmmZddlmZddlmZddlm 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 Csr|D�]f\}}| d¡}|dks.t|ttfƒs:td|ƒ‚t|ƒ}t d|¡| dtƒ¡}t|tƒsrtd|ƒ‚g}| dtƒ¡}t|ttfƒsžtd|ƒ‚|D]P}|g} |  |¡| |tƒ¡} t| ttfƒsÞtd|ƒ‚|  | ¡|  | ¡q¢|j j ||j d�} t || ƒggfk�rT| d¡} | d ¡} | d ¡}|j j||j | | ||jd �|j j| ||j|jd �qdS) 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 Zextra_postargsÚdebug)r r )ÚgetÚ isinstanceÚlistÚtuplerrÚinfoÚdictÚextendÚappendÚcompilerZobject_filenamesÚ build_temprÚcompiler Zcreate_static_libr)ÚselfÚ librariesZlib_nameZ build_inforrZ dependenciesZ global_depsÚsourceZsrc_depsZ extra_depsZexpected_objectsr r r ©rúu/private/var/folders/n9/53xbvtmd7sjg1q1l55xmpg58n4mgng/T/pip-unpacked-wheel-slp6y8a5/setuptools/command/build_clib.pyÚbuild_librariess| þÿ  þÿþÿ þÿ  þÿÿ   ú üzbuild_clib.build_librariesN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrrrrsr) Zdistutils.command.build_clibÚcommandrÚorigÚdistutils.errorsrÚ distutilsrZsetuptools.dep_utilrrrrrÚs