a
    7b                     @   sD   d Z ddlZddlmZ ddlZddlmZmZ dd Zdd Z	dS )	zUtility functions.    N)check_output)c_intPOINTERc                 C   s   d}t dtj}t|dkrtg d}|djdddd }t d	|}|d}zt	|}W n$ t
y   td
 td Y n0 || k}|S )zReturns if GCC major version number is greater than specefied version

    Args:
        GCC_version (int): Major GCC version

    Returns:
        bool: GCC version is greater than specified version
    TzClang|clang|GCC|gcc   )gccz-dumpfullversionz-dumpversionutf8
)maxsplitr   z([0-9]+)\.[0-9]\.[0-9]z1Not able to determine GCC major version. Exiting.)resplitsysversionlenr   decodesearchgroupint
ValueErrorprintexit)ZGCC_versionZis_gtZsys_arr_gccoutZout_strmatchZ
gcc_mv_strZgcc_mv r   [/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/pyctp/utils.pygcc_major_version_greater_than   s    	
r   c                 C   sf   |   }|dv r"tttd}n@|dkr<tttd}n&|dkrVtttd}ntd| |S )N)ZIRZRIr   Rr   I   z7property_flag has wrong value. Expected I,R or IR, got )upperr   r   r   )Zproperty_flagZ	prop_flagZcontribution_cr   r   r   get_contribution_flag"   s    r   )
__doc__r
   
subprocessr   r   ctypesr   r   r   r   r   r   r   r   <module>   s   