
    h5                         S r SrSSKrSSKrSSKJr  SSKJrJr  SSK	J
r
  SSKJr  SSK	Jr   \R                  r\R                   r " S	 S
5      r\" 5       r " S S\R                  5      rg)zCython.Distutils.old_build_ext

Implements a version of the Distutils 'build_ext' command, for
building Cython extension modules.

Note that this module is deprecated.  Use cythonize() instead.
z$Id:$    N)DistutilsPlatformError)newernewer_group)log)	build_ext)	sysconfigc                   &    \ rS rSrS rS rS rSrg)Optimization1   c                     SU l         [        R                  " U R                   6 U l        [        R                  " 5       U l        g )N)OPTCFLAGSCPPFLAGSEXTRA_CFLAGS
BASECFLAGS	PY_CFLAGS)flagsr   get_config_varsstateconfig_varsselfs    X/var/www/fran/franai/venv/lib/python3.13/site-packages/Cython/Distutils/old_build_ext.py__init__Optimization.__init__2   s4    

 ..

;
$446    c                     Sn[        U R                  U R                  5       HO  u  p#Uc  M
  UR                  5        Vs/ s H  oDU;  d  M
  UPM     nnSR	                  U5      U R
                  U'   MQ     gs  snf )z.disable optimization for the C or C++ compiler)z-O1z-O2z-O3N )zipr   r   splitjoinr   )r   
badoptionsflagoptionoptLs         r   disable_optimization!Optimization.disable_optimization?   sb    *


DJJ7LD!$*LLNLNS6KSNL),!  & 8Ls   	A7A7c                 |    [        U R                  U R                  5       H  u  pUc  M
  X R                  U'   M     g)zrestore the original stateN)r   r   r   r   )r   r#   r$   s      r   restore_stateOptimization.restore_stateH   s1    

DJJ7LD!)/  & 8r   )r   r   r   N)__name__
__module____qualname____firstlineno__r   r'   r*   __static_attributes__ r   r   r
   r
   1   s    
750r   r
   c                      \ rS rSrSr\R                  R                  r\R                  R                  SS r\R                  R                  SS r	\R                  R                  SS r
\R                  SSSSSS\-   4S	S
SSSSSSSSS\-   4SSSS/5        \	R                  / SQ5        S rS rS rS rS rS rS rSrg)old_build_extR   zCbuild C/C++ and Cython extensions (compile/link to build directory)N)cython-cplusNgenerate C++ source files)cython-create-listingNwrite errors to a listing file)cython-line-directivesNemit source line directiveszcython-include-dirs=z path to the Cython include files)cython-c-in-tempN'put generated C files in temp directory)zcython-gen-pxiN*generate .pxi file for public declarations)zcython-directives=Ncompiler directive overrides)
cython-gdbN$generate debug information for cygdb)zcython-compile-time-envNzcython compile time environment)pyrex-cplusNr6   )pyrex-create-listingNr8   )pyrex-line-directivesNr:   zpyrex-include-dirs=)pyrex-c-in-tempNr<   )zpyrex-gen-pxiNr=   )zpyrex-directives=Nr>   )	pyrex-gdbNr@   )
r5   r7   r9   r;   r?   rA   rB   rC   rD   rE   c                     [         R                  R                  U 5        SU l        SU l        SU l        S U l        S U l        SU l        SU l	        SU l
        SU l        S U l        g )Nr   F)
_build_extr   initialize_optionscython_cpluscython_create_listingcython_line_directivescython_include_dirscython_directivescython_c_in_tempcython_gen_pxi
cython_gdbno_c_in_tracebackcython_compile_time_envr   s    r   rH    old_build_ext.initialize_options   se    //5%&"&'##' !% !!"'+$r   c                 v    US S S:X  a  [        U SUSS  -   5      $ [        R                  R                  X5      $ N   pyrex_cython_)getattrrG   r   __getattr__)r   names     r   rZ   old_build_ext.__getattr__   s?    8x4T!"X!566''33D??r   c                 X    US S S:X  a  [        U SUSS  -   U5      $ X R                  U'   g rU   )setattr__dict__)r   r[   values      r   __setattr__old_build_ext.__setattr__   s8    8x4T!"X!5u== #(MM$r   c                 0   [         R                  R                  U 5        U R                  c  / U l        OM[	        U R                  [
        5      (       a.  U R                  R                  [        R                  5      U l        U R                  c  0 U l	        g g N)
rG   r   finalize_optionsrL   
isinstancestrr    ospathseprM   r   s    r   re   old_build_ext.finalize_options   sv    --d3##+')D$00#66((..rzz: $!!)%'D" *r   c                    U R                   (       d6  U R                   Vs/ s H  n[        USS5      (       d  M  SPM     sn(       a  [        R	                  5         [
        R                  R                  U 5        g s  snf )NrP   F   )rP   
extensionsrY   optimizationr'   rG   r   run)r   exts     r   ro   old_build_ext.run   s[    
 ??DOO KOS(/\5(I  !O K--/  &	Ks
   A<A<c                     [         R                  R                  X5        U R                   H$  nU R	                  UR
                  U5      Ul        M&     g rd   )rG   r   check_extensions_listrm   cython_sourcessources)r   rm   rp   s      r   rs   #old_build_ext.check_extensions_list   s<    224D??C--ckk3?CK #r   c                 
   / n/ n0 nU R                   =(       d    [        USS5      nU R                  =(       d    [        USS5      nU R                  =(       d    [        USS5      nU R                  =(       dD    [        USS5      =(       d0    UR
                  =(       a    UR
                  R                  5       S:H  n	U R                  =(       d    [        USS5      n
U R                  =(       d    [        USS	5      nU R                  =(       d    [        US
S5      n[        U R                  5      n UR                   H  nX;  d  M
  UR                  U5        M     [        UR                  5      Ul        UR                   H  nX;  d  M
  UR                  U5        M     [        U R                   5      n[#        US5      (       a  UR%                  UR                   5        U	(       a  SnOSnU R&                  (       d  U R(                  (       d  [        USS5      (       ap  [*        R,                  R/                  U R0                  S5      nUR2                  R5                  S5      SS  H#  n[*        R,                  R/                  UU5      nM%     OSnSnU H  n[*        R,                  R7                  [*        R,                  R9                  U5      5      u  nnUS:X  a  SnUS:X  au  U=(       d    [*        R,                  R;                  U5      nUR                  [*        R,                  R/                  UUU-   5      5        UR                  U5        US   UU'   M  US:X  d  US:X  a  Ub  [=        UU5      (       a  UnM  M  UR                  U5        M     U(       d  U$  SSKJ nJ!nJ"n  SSK#J$n  UR2                  nU GHa  nUU   nU/[        URT                  =(       d    S5      -   nUSS R                  5       S:X  a6  [*        R,                  RW                  USS S-   5      (       a  UUSS S-   /-  nU RX                  =(       d    [[        UUS 5      n U (       d  Ub  [=        UU5      n U (       a  [\        R^                  " S!UU5        U Ra                  [*        R,                  R;                  U5      5        U R&                  (       a  [*        Rb                  nOU Rd                  nU" UUUUUU	UU(       + U
UUUS"9n!U" UU!US#9n"GMJ  [\        R^                  " S$U5        GMd     U$ ! [         a     GNf = f! [J         a2    [L        RN                  " 5       S   n[Q        SU-  5        [S        S5      ef = f)%z
Walk the list of source files in 'sources', looking for Cython
source files (.pyx and .py).  Run Cython on all that are
found, and return a modified 'sources' list with Cython source
files replaced by the generated C (or C++) files.
rJ   r   rK   rQ   rI   zc++rO   rP   FrR   NrM   z.cppz.crN   pyrex.z.pyz.pyxz.pxiz.pxd)CompilationOptionsdefault_optionscompile)
PyrexErrorrl   zfailed to import Cython: %sz&Cython does not appear to be installedr1   pxdr   zcythoning %s to %s)use_listing_fileinclude_pathcompiler_directivesoutput_filecplusemit_linenumsc_line_in_tracebackgenerate_pxi
output_dir	gdb_debugcompile_time_env)optionsfull_module_namez+skipping '%s' Cython extension (up-to-date))3rJ   rY   rK   rQ   rI   languagelowerrO   rP   rR   listrL   appendAttributeErrorinclude_dirsdictrM   hasattrupdateinplacerN   rh   pathr!   
build_tempr[   r    splitextbasenamedirnamer   Cython.Compiler.Mainr{   r|   r}   Cython.Compiler.Errorsr~   ImportErrorsysexc_infoprintr   dependsisfileforcer   r   infomkpathcurdir	build_lib)#r   ru   	extensionnew_sourcesrt   cython_targetscreate_listingline_directivesrQ   r   rO   rP   rR   includesi
directives
target_ext
target_dirpackage_namenewest_dependencysourcebaserp   r   r{   cython_default_optionscython_compiler~   emodule_nametargetr   rebuildr   results#                                      r   rt   old_build_ext.cython_sources   s    ( 33 ;I6: 	55 <I7; 	 22 7I2A6 	!! MWY%J M##K	(:(:(@(@(Be(K 	,,W	CSUV0W__O	<(O
"&">"> #@I8$? 	  001	22$OOA& 3 "&i&<&<!=	''A " ( $001
9122i99: JJ
 ||!6!69&8!<<doow?J ) 4 4S 9#2 >WW\\*lC
 !? J F''**277+;+;F+CDKT3e|f}'B277??6+B
""277<<
D:<M#NO%%f-)4Rv&#-$, ):;;(.% < ""6* " 		S1 1 :  nn$F#F+Fhi&7&7&=2!>>Gbc{  "f,se@S1T1TF3BK%/00jjIK$IG0< 16:-vv>BGGOOF34<<!#J!%J,-C'5#+*4"(!$3.?*?#1!+ *'>@ (9DF FO= %@ K  		|  	Sq!A/!34()QRR	Ss$   4T+ 
T+ %T< +
T98T9<<U8)
rN   rR   rI   rJ   rM   rP   rO   rL   rK   rQ   )r,   r-   r.   r/   descriptionrG   r   sep_byuser_optionsboolean_optionshelp_optionsextendrH   rZ   ra   re   ro   rs   rt   r0   r1   r   r   r3   r3   R   s   WK!!((F''44Q7L **::1=O''44Q7L 	&	+	(		+f	4	6	4	:	,	1	/	&	+	(		+f	4	6	4	:	,	1G%
 %N   ,@((	'@Yr   r3   )__doc____revision__r   rh   distutils.errorsr   distutils.dep_utilr   r   	distutilsr   distutils.commandr   rG   r   extension_name_reshow_compilersr
   rn   r3   r1   r   r   <module>r      sk     
 	 3 1  5 , 00 **0 0< ~IJ(( Ir   