
    Aeb                        d Z dZddlZddlmZ 	 ddlZ G d dej                        Zej                  Z	ej                  d   dk  r6ej                  j                   rej                  j                   dz   e_         yyy# e$ r dZY sw xY w)zPyrex.Distutils.extension

Provides a modified Extension class, that understands how to describe
Pyrex extension modules in setup scripts.z$Id:$    Nc                   @    e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)	ExtensionNc                    d}t        |      D ]0  }|j                  d      sd}|j                  |      |d|dd  z   <   2 |r't        j                  | ||f|||||||	|
|||||d| y t        j                  j                  | ||f|||||||	|
||||d| |xs g | _        |xs i | _        || _        || _	        || _
        || _        || _        || _        || _        || _        y )NFpyrex_Tcython   )include_dirsdefine_macrosundef_macroslibrary_dirs	librariesruntime_library_dirsextra_objectsextra_compile_argsextra_link_argsexport_symbolsdependslanguageno_c_in_traceback)r	   r
   r   r   r   r   r   r   r   r   r   r   )list
startswithpopr   __init__
_Extensioncython_include_dirscython_directivescython_create_listingcython_line_directivescython_cpluscython_c_in_tempcython_gen_pxi
cython_gdbr   cython_compile_time_env)selfnamesourcesr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r   r#   kwhad_pyrex_optionskeys                               :lib/python3.12/site-packages/Cython/Distutils/extension.pyr   zExtension.__init__   sJ   6 "8 	5C~~h'$(!)+8c!"g%&	5 dG)+))#%9+#5 /-!"3  !" %%$	%'%%!5'1+)	 	" $7#<" !2!8b%:"&<#( 0,$!2'>$    )NNNNNNNNNNNNNNFFFFFFFN)__name__
__module____qualname__r    r+   r*   r   r      sL     ##""&*#$(!% $%)#'',(-#"' %!#()-/N?r+   r      aW      cython_include_dirs : [string]
        list of directories to search for Pyrex header files (.pxd) (in
        Unix form for portability)
    cython_directives : {string:value}
        dict of compiler directives
    cython_create_listing_file : boolean
        write pyrex error messages to a listing (.lis) file.
    cython_line_directives : boolean
        emit pyx line numbers for debugging/profiling
    cython_cplus : boolean
        use the C++ compiler for compiling and linking.
    cython_c_in_temp : boolean
        put generated C files in temp directory.
    cython_gen_pxi : boolean
        generate .pxi file for public declarations
    cython_gdb : boolean
        generate Cython debug information for this extension for cygdb
    no_c_in_traceback : boolean
        emit the c file and line number from the traceback for exceptions
)__doc____revision__sysdistutils.extension	extensionr   warningsImportErrorr   read_setup_fileversion_infor/   r+   r*   <module>r:      s   -
  
 (
Q?
$$ Q?j ,, Az33;;",,44 8 I  <{  Hs   A> >BB