+
    êha  ã                  óŒ   € R t ^ RIHt ^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^RI
HtHt ^RIHt ^RIHt ^R	IHt  ! R
 R]4      tR# )z´distutils.command.build_clib

Implements the Distutils 'build_clib' command, to build a C/C++ library
that is included in the module distribution and needed by an extension
module.)ÚannotationsN)ÚCallable)Úlog)ÚClassVar)Únew_compilerÚshow_compilers)ÚCommand)ÚDistutilsSetupError)Úcustomize_compilerc                  óš   € ] tR t^t$ Rt. ROtR]R&   RR.tR]R&   RR	R
]3.t	R]R&   R t
R R ltR R ltR R ltR tR tR R ltRtR	# )Ú
build_clibz/build C/C++ libraries used by Python extensionsÚdebugÚforcez$ClassVar[list[tuple[str, str, str]]]Úuser_optionszClassVar[list[str]]Úboolean_optionszhelp-compilerNzlist available compilerszAClassVar[list[tuple[str, str | None, str, Callable[[], object]]]]Úhelp_optionsc                	ó„   € R V n         R V n        R V n        R V n        R V n        R V n        R V n        RV n        R V n        R # )NF)	r   Ú
build_tempÚ	librariesÚinclude_dirsÚdefineÚundefr   r   Úcompiler©Úselfs   &ÚJ/usr/lib/python3/dist-packages/setuptools/_distutils/command/build_clib.pyÚinitialize_optionsÚbuild_clib.initialize_options-   sF   € ØˆŒØˆŒð ˆŒð !ˆÔØˆŒØˆŒ
ØˆŒ
ØˆŒ
ØˆŽó    c               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNone© )Úformats   "r   Ú__annotate__Úbuild_clib.__annotate__<   s   € ÷ Dñ D $ñ Dr   c                	óÈ  € V P                  R RRRRR4       V P                  P                  V n        V P                  '       d   V P                  V P                  4       V P                  f&   V P                  P                  ;'       g    . V n        \        V P                  \        4      '       d1   V P                  P                  \        P                  4      V n        R# R# )ÚbuildN)r   r   )r   r   )r   r   )r   r   )r   r   )
Úset_undefined_optionsÚdistributionr   Úcheck_library_listr   Ú
isinstanceÚstrÚsplitÚosÚpathsepr   s   &r   Úfinalize_optionsÚbuild_clib.finalize_options<   s±   € ð 	×"Ñ"ØØ(Ø(Ø$ØØô	
ð ×*Ñ*×4Ñ4ˆŒØ�>�>ˆ>Ø×#Ñ# D§N¡NÔ3à×ÑÒ$Ø $× 1Ñ 1× >Ñ >× DÐ DÀ"ˆDÔÜ�d×'Ñ'¬×-Ò-Ø $× 1Ñ 1× 7Ñ 7¼¿
¹
Ó CˆDÖñ .r   c               ó   € V ^8„  d   QhRR/# r    r$   )r%   s   "r   r&   r'   W   s   € ÷ -ñ -�Tñ -r   c                	óJ  € V P                   '       g   R # \        V P                  V P                  V P                  R7      V n        \        V P                  4       V P                  e&   V P                  P                  V P                  4       V P                  e1   V P                   F   w  rV P                  P                  W4       K"  	  V P                  e/   V P                   F  pV P                  P                  V4       K   	  V P                  V P                   4       R # )N)r   Údry_runr   )r   r   r   r6   r   r
   r   Úset_include_dirsr   Údefine_macror   Úundefine_macroÚbuild_libraries)r   ÚnameÚvalueÚmacros   &   r   ÚrunÚbuild_clib.runW   sÉ   € Ø�~�~ˆ~Ùä$Ø—]‘]¨D¯L©LÀÇ
Á
ô
ˆŒô 	˜4Ÿ=™=Ô)à×ÑÒ(Ø�M‰M×*Ñ*¨4×+<Ñ+<Ô=Ø�;‰;Ò"à#Ÿ{œ{‘�Ø—‘×*Ñ*¨4Ö7ñ  +à�:‰:Ò!ØŸœ�Ø—‘×,Ñ,¨UÖ3ñ $ð 	×Ñ˜TŸ^™^Ö,r   c               ó   € V ^8„  d   QhRR/# r    r$   )r%   s   "r   r&   r'   l   s   € ÷ "ñ "¨tñ "r   c                óÖ  € \        V\        4      '       g   \        R4      hV FÁ  p\        V\        4      '       g   \	        V4      ^8w  d   \        R4      hVw  r4\        V\
        4      '       g   \        R4      hRV9   g+   \        P                  R8w  d,   \        P                  V9   d   \        RV^ ,           R24      h\        V\        4      '       d   K¸  \        R4      h	  R# )	a0  Ensure that the list of libraries is valid.

`library` is presumably provided as a command option 'libraries'.
This method checks that it is a list of 2-tuples, where the tuples
are (library_name, build_info_dict).

Raise DistutilsSetupError if the structure is invalid anywhere;
just returns otherwise.
z+'libraries' option must be a list of tuplesz*each element of 'libraries' must a 2-tuplezNfirst element of each tuple in 'libraries' must be a string (the library name)Ú/zbad library name 'z'': may not contain directory separatorszMsecond element of each tuple in 'libraries' must be a dictionary (build info)N)	r-   Úlistr	   ÚtupleÚlenr.   r0   ÚsepÚdict)r   r   Úlibr;   Ú
build_infos   &&   r   r,   Úbuild_clib.check_library_listl   sÍ   € ô ˜)¤T×*Ò*Ü%Ð&SÓTÐTãˆCÜ˜c¤5×)Ò)¬c°#«h¸!¬mÜ)Ð*VÓWÐWà"ÑˆDä˜d¤C×(Ò(Ü)ð:óð ð
 �dŒ{œrŸv™v¨œ}´·±¸4´Ü)Ø(¨¨Q­¨Ð0WÐXóð ô ˜j¬$×/Ô/Ü)ð8óð ó% r   c                	ó~   € V P                   '       g   R # . pV P                    F  w  r#VP                  V4       K  	  V# )N)r   Úappend)r   Ú	lib_namesÚlib_nameÚ_build_infos   &   r   Úget_library_namesÚbuild_clib.get_library_names�   s:   € ð �~�~ˆ~Ùàˆ	Ø%)§^¤^Ñ!ˆHØ×Ñ˜XÖ&ñ &4àÐr   c                	ó  € V P                  V P                  4       . pV P                   FV  w  r#VP                  R 4      pVe   \        V\        \
        34      '       g   \        RV R24      hVP                  V4       KX  	  V# )Úsourcesú in 'libraries' option (library 'úD'), 'sources' must be present and must be a list of source filenames)r,   r   Úgetr-   rC   rD   r	   Úextend)r   Ú	filenamesrN   rI   rS   s   &    r   Úget_source_filesÚbuild_clib.get_source_files›   s„   € Ø×Ñ §¡Ô/Øˆ	Ø$(§N¤NÑ ˆHØ —n‘n YÓ/ˆGØŠ¤j°¼4Ä¸-×&HÒ&HÜ)Ø6°x°jð A1ð 1óð ð ×Ñ˜WÖ%ñ %3ð Ðr   c               ó   € V ^8„  d   QhRR/# r    r$   )r%   s   "r   r&   r'   ª   s   € ÷ ñ ¨Dñ r   c           	     	óð  € V Fï  w  r#VP                  R 4      pVe   \        V\        \        34      '       g   \	        RV R24      h\        V4      p\
        P                  ! RV4       VP                  R4      pVP                  R4      pV P                  P                  VV P                  VVV P                  R7      pV P                  P                  WrV P                  V P                  R7       Kñ  	  R# )	rS   NrT   rU   zbuilding '%s' libraryÚmacrosr   )Ú
output_dirr]   r   r   )r^   r   )rV   r-   rC   rD   r	   r   Úinfor   Úcompiler   r   Úcreate_static_libr   )r   r   rN   rI   rS   r]   r   Úobjectss   &&      r   r:   Úbuild_clib.build_librariesª   sá   € Û$-Ñ ˆHØ —n‘n YÓ/ˆGØŠ¤j°¼4Ä¸-×&HÒ&HÜ)Ø6°x°jð A1ð 1óð ô
 ˜7“mˆGä�HŠHÐ,¨hÔ7ð
  —^‘^ HÓ-ˆFØ%Ÿ>™>¨.Ó9ˆLØ—m‘m×+Ñ+ØØŸ?™?ØØ)Ø—j‘jð ,ó ˆGð �M‰M×+Ñ+Ø¨d¯o©oÀTÇZÁZð ,ö ó9 %.r   )	r   r   r   r   r   r   r   r   r   ))zbuild-clib=Úbz%directory to build C/C++ libraries to)zbuild-temp=Útz,directory to put temporary build by-products)r   Úgz"compile with debugging information)r   Úfz2forcibly build everything (ignore file timestamps))z	compiler=Úczspecify the compiler type)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Údescriptionr   Ú__annotations__r   r   r   r   r2   r>   r,   rP   rY   r:   Ú__static_attributes__r$   r   r   r   r      sq   ‡ ØC€Kò:€LÐ6ó ð -4°WÐ+=€OÐ(Ó=ð 
˜$Ð :¸NÐKðW€LÐSó òõDõ6-õ*"òH	ò÷ñ r   r   )Ú__doc__Ú
__future__r   r0   Úcollections.abcr   Údistutils._logr   Útypingr   Ú	ccompilerr   r   Úcorer   Úerrorsr	   Ú	sysconfigr
   r   r$   r   r   Ú<module>ry      s5   ðñõ #ã 	Ý $Ý Ý ç 4Ý Ý (Ý *ôm�ö mr   