
    -PhF                         d Z ddlZddlZddlmZmZmZ ddlmZ ddl	m
Z
 	 ddlmZ dZn# e$ r dZY nw xY wdZi a	 	 dd	Zed
k    r ed           ddlmZ dS dS )zBuild a Pyrex file from .pyx source to .so loadable module using
the installed distutils infrastructure. Call:

out_fname = pyx_to_dll("foo.pyx")
    N)DistutilsArgErrorDistutilsErrorCCompilerError)	Extension)grok_environment_error)	build_extTFc                 6   t           j                            |           s*J dt           j                            |           z              t           j                            t           j                            |                     \  }}	|sdt           j                            |	          \  }
}|dv s
J |            t          s| dt          |                    dz   } t          |
| g          }|i }|s t           j        	                    |d          }|}|j
                            d          ddd	         D ].}t           j                            |          \  }}||k    rd} n/|                    d
g           }t          sd|v rd}nd}|r|ddg}n|dg}|r|                    d           |rk|ri|                    d|g           |j
        dk    s|j
                            d          r-t!          |d          s
ddi|_        nd|j        vr
d|j        d<   |                                }|                    d||z   d           ddlm}  ||          }|j        sg |_        |j                            |           t          rdt.          i|_        |                    d          }||_        |                                }|                    |           	 |                                }n# t<          $ r  w xY wt          r#t?          d           |                                  |sJ 	 |                    d          }|!                                 |"                                d         }|j#        rZt           j        	                    t           j        $                    |           t           j        %                    |                    }|r1|}t           j        &                    |          }tN                              |d          \  }}}||k    r|}nt           j        %                    |          }|dk     r|dz  }t           j        	                    |j(        |d|z  z             } 	 ddl)}!	 t           j        *                    |           rt          j+        |            n# tX          $ r Y |w xY w|!-                    ||            | }n# t\          $ r Y w xY wnt_          d|z            |||ftN          |<   |S # t`          $ r tc          j2        d           Y dS t\          t           j3        f$ rS tc          j4                    d         }"tk          |"          }#t          r"tb          j6        7                    |#d z               w xY w)!zUCompile a PYX file to a DLL and return the name of the generated .so
       or .dll .zCould not find %s)z.pyxz.pyNz.c)namesources_pyxbld.script_argsz	--verbosez--quietr   z--cython-c-in-tempz--forcez--build-lib__init__z	.__init__cython_directivesset_initial_path
SOURCEFILE)script_namer   r   )Distributionbuildz%options (after parsing command line):)NNr   d      z	.reload%sz#reload count for %s reached maximum
)8ospathexistsabspathsplitsplitext
HAS_CYTHONlenr   joinr
   getDEBUGappendextendendswithhasattrr   copyupdatedistutils.distr   ext_modulesr   cmdclassget_command_obj
build_basefind_config_filesparse_config_filesparse_command_liner   printdump_option_dictsrun_commandsget_outputsinplacedirnamebasenamegetmtime_reloads	build_libshutilisfileunlinkOSErrorcopy2IOErrorImportErrorKeyboardInterruptsysexiterrorexc_infor   stderrwrite)$filenameextforce_rebuildbuild_in_temppyxbuild_dir
setup_argsreload_supportr8   r   r
   modname	extensionpackage_base_dirpackage_namepnamer   quietargssargsr   distr   cfgfilesokobj_build_extso_pathorg_path	timestamplast_timestamp	last_pathcountr:   r_pathr>   excrH   s$                                       R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pyximport/pyxbuild.py
pyx_to_dllrh      s    7>>(##TT%827??8;T;T%TTTTrwx8899JD$ :W--d33O+++Y+++ 	9 0#i.. 01D8HWxj999
 5w||D)44s++BFF3  "$'--0@"A"A%L  #E !
 }R00K {** ${$89{# I I# I]$456668z!!SX%6%6{%C%C!3 344 I);l(K%%#3+@@@<H%&89OOE	LLk)    
 ,+++++<D C    1$i0  ))E#E%%''HH%%%$$&&     !5666   III6,,[99++--a0  	> gll27??8#<#<#%7#3#3G#<#<> >G "	?H((22I/7||Hm/U/U,NIu**#7++H55ckkQJEW\\-*A*2[55H*HJ JF!%
%  "w~~f55 2 "	& 1 1 1& % % %$H%Xv666"(" ! ! ! ! &&Kh&VWWW$-w#>"   RX   lnnQ&s++ 	+JUT\***sn   "K7 7L5ET ;S  3R4 3S 4
S>S ?T  SS T 
S*'T )S**$T V0A(V__main__z	dummy.pyxr   )test)Nr   FNNFF)__doc__r   rF   distutils.errorsr   r   r   distutils.extensionr   distutils.utilr   Cython.Distutils.build_extr   r!   rD   r%   r<   rh   __name__ rj        rg   <module>rt      s   
 
			 



 N N N N N N N N N N ) ) ) ) ) ) 1 1 1 1 1 1444444JJ   JJJ 	
	 W[>CD D D DN ZJ{ s   + 55