
    NgL                     L   d dl Z d dlZ	 d dlmZ n# e$ r eZY nw xY we j                            d          Ze5	 d dl	m
c mZ n*# e$ r" 	 d dlm
c mZ n# e$ r  ed          w xY wY nw xY w eedd          Ze eedd          Zed dl	mZ  G d dee          ZeZdS )	    N)
basestringzsetuptools.command.build_extz:'distutils' cannot be imported. Please install setuptools._du_build_ext	build_ext)r   c            
            e Zd Zej        ddddddej        z   fddd	d
dg	z   Zej        g dz   Z fdZ fdZddZ	 fdZ
 xZS )r   )cython-cplusNzgenerate C++ source files)cython-create-listingNzwrite errors to a listing file)cython-line-directivesNzemit source line directiveszcython-include-dirs=Nz path to the Cython include files)cython-c-in-tempNz'put generated C files in temp directory)zcython-gen-pxiNz*generate .pxi file for public declarations)zcython-directives=Nzcompiler directive overrides)
cython-gdbNz$generate debug information for cygdb)zcython-compile-time-envNzcython compile time environment)r   r   r	   r
   r   c                     t          t          |                                            d| _        d| _        d| _        d | _        d | _        d| _        d| _	        d| _
        d | _        d S )Nr   F)superr   initialize_optionscython_cpluscython_create_listingcython_line_directivescython_include_dirscython_directivescython_c_in_tempcython_gen_pxi
cython_gdbcython_compile_time_envself	__class__s    V/var/www/html/ai-engine/env/lib/python3.11/site-packages/Cython/Distutils/build_ext.pyr   zbuild_ext.initialize_options>   sl    i11333%&"&'##' !% !'+$$$    c                    t          t          |                                            | j        g | _        nCt	          | j        t
                    r)| j                            t          j                  | _        | j	        	i | _	        d S d S N)
r   r   finalize_optionsr   
isinstancer   splitospathsepr   r   s    r   r   zbuild_ext.finalize_optionsJ   s    i//111#+')D$$0*== 	;(..rz:: $!)%'D""" *)r   Fc                 D    t          | |          pt          |||          S r   )getattr)r   	extensionoption_namedefaults       r   get_extension_attrzbuild_ext.get_extension_attrT   s#    t[))UWYW-U-UUr   c                    ddl m} t          | j                  }t	          |dg           D ]}||vr|                    |           t          |j                  |_        |j        t          | j                  z   D ]}||vr|                    |           t          | j                  }t          |d          r|
                    |j                   |                     |d          rd|_        |                     |d          |                     |d          |||                     |d	          r| j        nd |                     |d
          |                     |d          t	          |dd           |                     |dd           d	} ||f| j        | j        dk    d|d         }|j        |_        t#          t$          |                               |           d S )Nr   )	cythonizer   r   r   zc++r   r   r   r   r   no_c_in_tracebackr   )r(   )	use_listing_fileemit_linenumsinclude_pathcompiler_directives	build_dirgenerate_pxi	gdb_debugc_line_in_tracebackcompile_time_env)forcequiet)Cython.Build.Dependenciesr+   listr   r%   appendinclude_dirsdictr   hasattrupdater)   language
build_tempr6   verbosesourcesr   r   build_extension)	r   extr+   includesinclude_dir
directivesoptionsnew_extr   s	           r   rC   zbuild_ext.build_extensionW   s.   777777 011"3(=rBB 	- 	-K(**,,,   011+d43D.E.EE 	- 	-K(**,,, $011
3+,, 	5c3444""377 	! CL !% 7 7=T U U!44S:RSS$#-,0,C,CCI[,\,\fbf 33C9IJJ00lCC'.s4G'K'K#K $ 7 7=V`d 7 e e

 

 )
j(9
 
=D
 

 oi..s33333r   )F)__name__
__module____qualname__
_build_extuser_optionssep_byboolean_optionsr   r   r)   rC   __classcell__)r   s   @r   r   r   "   s        *	*	/	,	/*2CC	E	8	:	,	5	/#.
 
L* !0 4 4 4 O

, 
, 
, 
, 
,( ( ( ( (V V V V04 04 04 04 04 04 04 04 04r   )sysr"   __builtin__r   ImportErrorstrmodulesget_build_ext_moduledistutils.command.build_extcommandr   setuptools.command.build_extr%   rM   objectnew_build_ext r   r   <module>r_      s   



 				&&&&&&&   JJJ KOO$BCC \?????????? \ \ \	\DDDDDDDDDD 	\ 	\ 	\+Z[[[	\ ED\ W&>>
*K>>JCCCCCCe4 e4 e4 e4 e4
F e4 e4 e4P s5    	A A,	AA,A&&A,+A,