
    sKg;                         d dl mZ d dlmZ d Zd Zd Zd Zd Zd Z	d	 Z
eej                  j                  _        d
 Z e       Zy)    )c_uint)ffic                  @    t         j                  j                          y)z#
    Initialize the LLVM core.
    N)r   libLLVMPY_InitializeCore     ]/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/llvmlite/binding/initfini.py
initializer      s     GG!!#r	   c                      t         j                  j                          t         j                  j                          t         j                  j	                          y)zn
    Initialize all targets. Necessary before targets can be looked up
    via the :class:`Target` class.
    N)r   r   LLVMPY_InitializeAllTargetInfosLLVMPY_InitializeAllTargetsLLVMPY_InitializeAllTargetMCsr   r	   r
   initialize_all_targetsr      s4    
 GG++-GG'')GG))+r	   c                  @    t         j                  j                          y)z
    Initialize all code generators. Necessary before generating
    any assembly or machine code via the :meth:`TargetMachine.emit_object`
    and :meth:`TargetMachine.emit_assembly` methods.
    N)r   r   LLVMPY_InitializeAllAsmPrintersr   r	   r
   initialize_all_asmprintersr      s     GG++-r	   c                  @    t         j                  j                          y)z_
    Initialize the native (host) target.  Necessary before doing any
    code generation.
    N)r   r   LLVMPY_InitializeNativeTargetr   r	   r
   initialize_native_targetr       s    
 GG))+r	   c                  @    t         j                  j                          y)z,
    Initialize the native ASM printer.
    N)r   r   !LLVMPY_InitializeNativeAsmPrinterr   r	   r
   initialize_native_asmprinterr   (   s     GG--/r	   c                  @    t         j                  j                          y)z+
    Initialize the native ASM parser.
    N)r   r    LLVMPY_InitializeNativeAsmParserr   r	   r
   initialize_native_asmparserr   /   s     GG,,.r	   c                  @    t         j                  j                          y )N)r   r   LLVMPY_Shutdownr   r	   r
   shutdownr   6   s    GGr	   c                      g } t         j                  j                         }|r| j                  |dz         |dz  }|rt	        t        |             S )N      )r   r   LLVMPY_GetVersionInfoappendtuplereversed)vxs     r
   _version_infor)   @   sK    
A%%'A
	T	a  !r	   N)ctypesr   llvmlite.bindingr   r   r   r   r   r   r   r   r   r#   restyper)   llvm_version_infor   r	   r
   <module>r.      sQ      $,.,0/ )/   % "O r	   