Ë
    Æ[;j/  ã                   óÒ  — d Z dZddlZddlZej                  dk  rddlmZ  G d„ d«      ZnddlZd%d	„Z ej                  d
«      Z
 ed«      Z ed«      Z ed«      Z ed«      Zeek(  rdZn!ej                  j!                  edd «      d   Z edej"                  j%                  dd«      «      Z ed«      dz   ej"                  j%                  dd«      z   Z edej"                  j%                  de«      «      Z ed«      Z ed«      Z ed«      Z ej                  d«      Zd„ Zd„ Zd„ Zd&d„Zd„ Zd„ Zd'd„Z d'd„Z!d(d „Z"d!„ Z#d"„ Z$e%d#k(  r e$ejL                  d$d «       yy))zÑ
Compile a Python script into an executable that embeds CPython.
Requires CPython to be built as a shared library ('libpythonX.Y').

Basic usage:

    python -m Cython.Build.BuildExecutable [ARGS] somefile.py
Té    N)é   é	   )Ú	sysconfigc                   ó@   — e Zd Zed„ «       Z eej                  «      Zy)r   c                 ó8   — | dk(  sJ ‚t        j                  «       S )NÚinclude)Ú
_sysconfigÚget_python_inc)Únames    úeG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\Cython/Build/BuildExecutable.pyÚget_pathzsysconfig.get_path   s   € à˜9Ò$Ð$Ð$Ü×,Ñ,Ó.Ð.ó    N)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr   r	   Úget_config_var© r   r   r   r      s&   „ à	ñ	/ó 
ð	/ñ & j×&?Ñ&?Ó@‰r   r   Ú c                 ó4   — t        j                  | «      xs |S ©N)r   r   )r   Údefaults     r   r   r      s   € Ü×#Ñ# DÓ)Ò4¨WÐ4r   r   ÚLIBDIRÚLIBPLÚLIBRARYÚ	LDLIBRARYr   ÚCCÚCFLAGSÚ ÚLINKCCÚLINKFORSHAREDÚLIBSÚSYSLIBSÚEXEc                 ód   — t         r*|r| |z  } t        j                  j                  | dz   «       y y )NÚ
)ÚDEBUGÚsysÚstderrÚwrite)ÚmsgÚargss     r   Ú_debugr-   6   s,   € ÝÙØ˜‘*ˆCÜ�
‰
×Ñ˜˜t™Õ$ð r   c                  ó„  — t        dt        «       t        dt        «       t        dt        «       t        dt        «       t        dt
        «       t        dt        «       t        dt        «       t        dt        «       t        d	t        «       t        d
t        «       t        dt        «       t        dt        «       y )Nz
INCDIR: %szLIBDIR1: %szLIBDIR2: %sz	PYLIB: %szPYLIB_DYN: %szCC: %sz
CFLAGS: %sz
LINKCC: %szLINKFORSHARED: %szLIBS: %szSYSLIBS: %szEXE_EXT: %s)r-   ÚINCDIRÚLIBDIR1ÚLIBDIR2ÚPYLIBÚ	PYLIB_DYNr   r   r    r!   r"   r#   ÚEXE_EXTr   r   r   Údump_configr5   =   s{   € Ü
ˆ<œÔ Ü
ˆ=œ'Ô"Ü
ˆ=œ'Ô"Ü
ˆ;œÔÜ
ˆ?œIÔ&Ü
ˆ8”RÔÜ
ˆ<œÔ Ü
ˆ<œÔ Ü
Ð¤Ô.Ü
ˆ:”tÔÜ
ˆ=œ'Ô"Ü
ˆ=œ'Õ"r   c                 óÞ   — g }d }t        | «      D ]L  \  }}|j                  d«      r|j                  |«       n"|dv r|j                  |«       n|}| |dz   d  }  n|}ŒN t        d«      ‚||| fS )NÚ-)z-Xz--directiveé   zno input file provided)Ú	enumerateÚ
startswithÚappendÚ
ValueError)r,   Úcy_argsÚlast_argÚiÚargÚ
input_files         r   Ú_parse_argsrB   L   s‚   € Ø€GØ€HÜ˜D–/‰ˆˆ3Ø�>‰>˜#ÔØ�N‰N˜3ÕØÐ.Ñ.Ø�N‰N˜3ÕàˆJØ˜˜!™˜�:ˆDÙØ‰ð "ô Ð1Ó2Ð2à�w Ð$Ð$r   c                 óÔ   — |rdj                  | «      } t        | «       nt        dj                  | «      «       dd l}|j                  | |¬«      }|rt	        j
                  |«       y y )Nr   r   ©Úshell)Újoinr-   Ú
subprocessÚcallr(   Úexit)ÚcmdrE   rG   Ú
returncodes       r   ÚruncmdrL   _   sR   € ÙØ�h‰h�s‹mˆÜˆs�äˆs�x‰x˜‹}ÔãØ—‘ ¨E�Ó2€JáÜ�‰�Õð r   c           	      óV  — t        t        d| t        z   | dz   dt        z   dt        z   gt
        xr	 dt
        z   xs( t        j                  j                  t        t        «      gz   t        j                  «       z   t        j                  «       z   t        j                  «       z   «       y )Nú-oú.oz-Lz-l)rL   r    r4   r0   r1   r3   ÚosÚpathrF   r2   r"   Úsplitr#   r!   ©Úbasenames    r   ÚclinkrU   m   sƒ   € Ü
ŒF�D˜(¤WÑ,¨h°t©m¸TÄ'¹\È4ÔPWÉ<ÐXÜÒ,˜T¤)™^ÒL´·±·±¼WÄeÓ0LÐMñNä�Z‰Z‹\ñä#ŸM™M›Oñ,ä.;×.AÑ.AÓ.CñDõ Er   c           	      ór   — t        t        dd| dz   | dz   dt        z   gt        j	                  «       z   «       y )Nz-crN   rO   z.cz-I)rL   r   r/   r   rR   rS   s    r   ÚccompilerW   s   s.   € Ü
ŒB��d˜H T™M¨8°D©=¸$Ä¹-ÐHÌ6Ï<É<Ë>ÑYÕZr   c                 ó   — ddl m}m}m} |j	                  t        |xs d«      d| gz   «      \  }}t        d|j                  | «       |j                  ||«      }|j                  dkD  rt        j                  d«       y y )Né   )ÚVersionÚCmdLineÚMainr   z--embedzUsing Cython %s to compile %sr   r8   )ÚCompilerrZ   r[   r\   Úparse_command_lineÚlistr-   ÚversionÚcompileÚ
num_errorsr(   rI   )rA   ÚoptionsrZ   r[   r\   ÚsourcesÚresults          r   Ú	cycompilerf   w   sp   € ß1Ñ1Ø×1Ñ1´$°w²}À"Ó2EÈÐT^ÐH_Ñ2_Ó`Ñ€GˆWÜ
Ð*¨G¯O©O¸ZÔHØ�\‰\˜' 7Ó+€FØ×Ñ˜1ÒÜ�‰��ð r   c                 ór   — t        t        j                  j                  | «      gt	        |«      z   d¬«       y )NFrD   )rL   rP   rQ   Úabspathr_   )Úprogram_namer,   s     r   Ú	exec_filerj   €   s%   € Ü
ŒB�G‰G�O‰O˜LÓ)Ð*¬T°$«ZÑ7¸uÖEr   c                 óR  — t         j                  j                  | «      d   }|t        z   }|sJt         j                  j	                  |«      t         j                  j	                  | «      k(  rt        d«      ‚|s‹t         j                  j                  |«      rlt         j                  j                  | «      rMt         j                  j                  | «      t         j                  j                  |«      k  rt        d|«       |S t        | |«       t        |«       t        |«       |S )zi
    Build an executable program from a Cython module.

    Returns the name of the executable file.
    r   z?Input and output file names are the same, refusing to overwritez'File is up to date, not regenerating %s)rP   rQ   Úsplitextr4   rh   r<   ÚexistsÚgetmtimer-   rf   rW   rU   )rA   Úcompiler_argsÚforcerT   Úexe_files        r   Úbuildrr   „   sÌ   € ô �w‰w×Ñ 
Ó+¨AÑ.€HØœ'Ñ!€HÙ”R—W‘W—_‘_ XÓ.´"·'±'·/±/À*Ó2MÒMÜÐZÓ[Ð[Ù”b—g‘g—n‘n XÔ.´2·7±7·>±>À*Ô3MÜ—‘× Ñ  Ó,´·±×0@Ñ0@ÀÓ0JÒJÜÐ8¸(ÔCØˆÜˆj˜-Ô(ÜˆXÔÜ	ˆ(„OØ€Or   c                 ó8   — t        | «      \  }} t        || «       y)z•
    Build an executable program from a Cython module and run it.

    Arguments after the module name will be passed verbatimly to the program.
    N)Ú_buildrj   )r,   ri   s     r   Úbuild_and_runru   ˜   s   € ô   ›Ñ€L�$Üˆl˜DÕ!r   c                 ó@   — t        | «      \  }}} t        ||«      }|| fS r   )rB   rr   )r,   rA   r=   ri   s       r   rt   rt   ¢   s*   € Ü +¨DÓ 1Ñ€J�˜Ü˜ WÓ-€LØ˜ÐÐr   Ú__main__r8   )r   )T)r   )r   F)'Ú__doc__r'   r(   rP   Úversion_infoÚ	distutilsr   r	   r   r   r/   r0   r1   r2   r3   rQ   rl   ÚenvironÚgetr   r   r    r!   r"   r#   r4   r-   r5   rB   rL   rU   rW   rf   rj   rr   ru   rt   r   Úargvr   r   r   Ú<module>r~      sŠ  ðñð 	€ã 
Û 	Ø×Ñ�fÒÝ1÷Aò Aó ó5ð 
ˆ×	Ñ	˜IÓ	&€Ù
˜Ó
"€Ù
˜Ó
!€Ù�yÓ!€Ù˜;Ó'€	Ø�Òà�Ià—‘× Ñ  ¨1¨2 Ó/°Ñ2€Iá�D˜"Ÿ*™*Ÿ.™.¨¨rÓ2Ó3€Ù	˜Ó	! CÑ	'¨"¯*©*¯.©.¸À2Ó*FÑ	F€Ù	˜ "§*¡*§.¡.°¸2Ó">Ó	?€Ù˜Ó/€Ù�fÓ€Ù
˜Ó
#€Ø
"ˆ)×
"Ñ
" 5Ó
)€ò%ò#ò%ó&òEò[óóFóò("òð ˆzÒÙ
ˆ3�8‰8�A�Bˆ<Õð r   