U
    hâËd:
  ã                   @   sX   d dl Z d dlZd dlZd dlZd dlZddlmZmZ ddlm	Z	 dd„ Z
dd„ ZdS )	é    Né   )Údisplay_sysinfoÚget_sysinfo)Údisplay_gdbinfoc                  C   s    t  ¡ } | jdddd� | jdddd� | jddd	d� | jd
ddd� | jdddd� | jddddd� | jddddd� | jdddd� | jdddd� | S )Nz
--annotatezAnnotate sourceÚ
store_true)ÚhelpÚactionz--dump-llvmzPrint generated llvm assembly)r   r   z--dump-optimizedz Dump the optimized llvm assemblyz--dump-assemblyz Dump the LLVM generated assemblyz--annotate-htmlr   z Output source annotation as html)Únargsr   z-sz	--sysinfoz+Output system information for bug reportingz-gz	--gdbinfoz#Output system information about gdbz
--sys-jsonz)Saves the system info dict as a json fileÚfilenameú?zPython source filename)ÚargparseÚArgumentParserÚadd_argument)Úparser© r   úO/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/misc/numba_entry.pyÚmake_parser   s6    ÿÿÿÿÿ
ÿ
ÿÿr   c               	   C   s�  t ƒ } |  ¡ }|jr"tdƒ tƒ  |jr6tdƒ tƒ  |jsB|jrLt d¡ |j	rºt
ƒ }| d|d  ¡ i¡ | d|d  ¡ i¡ t|j	d dƒ�}tj||dd� W 5 Q R X t d¡ tt|jƒƒtjd	< |jd k	�rzdd
lm} W n tk
�r   tdƒ‚Y nX t|jd ƒtjd< tt|jƒƒtjd< tt|jƒƒtjd< tt|jƒƒtjd< |j�rztj|jg}t |¡ ntdƒ t d¡ d S )NzSystem info:z	GDB info:r   ZStartz	Start UTCÚwé   )ÚindentZNUMBA_DUMP_ANNOTATION)ÚTemplatez#Please install the 'jinja2' packageZNUMBA_DUMP_HTMLZNUMBA_DUMP_LLVMZNUMBA_DUMP_OPTIMIZEDZNUMBA_DUMP_ASSEMBLYz<numba: error: the following arguments are required: filenamer   ) r   Ú
parse_argsZsysinfoÚprintr   Zgdbinfor   ÚsysÚexitZsys_jsonr   ÚupdateÚ	isoformatÚopenÚjsonÚdumpÚstrÚintZannotateÚosÚenvironZannotate_htmlZjinja2r   ÚImportErrorZ	dump_llvmZdump_optimizedZdump_assemblyr
   Ú
executableÚ
subprocessÚcall)r   ÚargsÚinfoÚfr   Úcmdr   r   r   Úmain!   s@    

r,   )r   r   r"   r&   r   Znumba_sysinfor   r   Znumba_gdbinfor   r   r,   r   r   r   r   Ú<module>   s   