B
    0a                 @   s   d dl mZ d dl mZ d dl mZ d dl mZ d dlZd dlZd dlZd dlm	Z	 d dl
mZ d dlmZmZ d d	lmZmZmZ e	d
d Zdd ZdS )    )absolute_import)division)print_function)unicode_literalsN)contextmanager)message)GtkDocCommentBlockParserGtkDocCommentBlockWriter)get_preprocessor_option_groupcreate_source_scannerprocess_packagesc             c   sB   t j}t jjdk rt j}nt jj}t| |t _dV  |t _dS )z&Force stdout into a specific encoding.   N)sysstdoutversion_infomajorbuffercodecs	getwriter)encodingZ
old_stdoutZbinary_stdout r   :/usr/lib/gobject-introspection/giscanner/annotationmain.pyencode_stdout&   s    r   c       	   	   C   sd  t d}t |d}|jdddddd || t|}|jd	d
ddg dd |jddddg dd || || \}} |jstd|j	rt
||j	 tjjd d}t|| }|jr`t }tdd}|| }tdt td td td td x,t| D ]}t|| td qW td td td td W d Q R X dS )Nz%prog [options] sourceszTool modes, one is requiredz-ez	--extract
store_trueextractz(Extract annotations from the input files)actiondesthelpz-Lz--library-pathappendZlibrary_pathsz#directories to search for libraries)r   r   defaultr    z--pkgpackagesz&pkg-config packages to get cflags fromzERROR: Nothing to do)	namespaceF)indentzutf-8z>/************************************************************/z(/* THIS FILE IS GENERATED DO NOT EDIT */r   )optparseZOptionParserZOptionGroupZ
add_optionZadd_option_groupr
   
parse_argsr   
SystemExitr!   r   r   ZMessageLoggergetr   r   r	   Zparse_comment_blocksZget_commentsr   printsortedvalueswrite)	argsparsergroupZoptionsZloggerZsswriterZblocksblockr   r   r   annotation_main8   sL    





r1   )Z
__future__r   r   r   r   r   r$   r   
contextlibr   Z	giscannerr   Zgiscanner.annotationparserr   r	   Zgiscanner.scannermainr
   r   r   r   r1   r   r   r   r   <module>   s   