_d.dddlmcmZddlmZddlmZddlm Z GddejZy)N)DistutilsSetupError)log)newer_pairwise_groupceZdZdZdZy) 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 j|D]-\}}|jd}|t|ttfst d|zt t|}t jd||jdt}t|tst d|zg}|jdt}t|ttfst d|z|D]v}|g} | j||j|t} t| ttfst d|z| j| |j| x|jj||j} t|| ggfk7rh|jd} |jd } |jd }|jj||j| | ||j |jj#| ||j$|j 0y) Nsourceszfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenameszbuilding '%s' libraryobj_depsz\in 'libraries' option (library '%s'), 'obj_deps' must be a dictionary of type 'source: list') output_dirmacros include_dirscflags)r r rextra_postargsdebug)r r)get isinstancelisttuplersortedrinfodictextendappendcompilerobject_filenames build_temprcompilercreate_static_libr)self librarieslib_name build_infor r dependencies global_depssourcesrc_deps extra_depsexpected_objectsr rrs ?/usr/lib/python3/dist-packages/setuptools/command/build_clib.pybuild_librarieszbuild_clib.build_librariess*$-K  Hj nnY/Gj4-&H)13;< T']+G HH,h 7 "~~j$&9Hh-)*,45 L#,,r462KkD%=9)*,45" ."8 ,%\\&$&9 !*tUm<-.089  +##H- . $}}==?? >   $L2BCBxO$1)~~n= #1 %%#!!-#)** & MM + + (tdjj , SK N)__name__ __module__ __qualname____doc__r+r,r*rrs  Lr,r) distutils.command.build_clibcommandrorigdistutils.errorsr distutilsrsetuptools.dep_utilrr1r,r*r8s&++04\\r,