§
    Ö)ögà  ã                   ó  — d Z ddlmZmZ ddlmZ ed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zd„ ZdS )z
g++/llvm detection.
é    )ÚccrootÚar©Úconfc                 ój   —  | j         ddgd¬¦  «        } | j        |d¬¦  «         d| j        _        dS )	zK
	Finds the program g++, and if present, try to detect its version number
	zg++zc++ÚCXX)ÚvarT)Úgccr
   N)Úfind_programÚget_cc_versionÚenvÚCXX_NAME)r   Úcxxs     ú*/git_repos/midimsg-lv2/waflib/Tools/gxx.pyÚfind_gxxr      sG   € ð
 €tÔ˜% ˜¨UÐ3Ñ3Ô3€Ø€Ô�S˜dÐ#Ñ#Ô#Ð#Ø€„ÔÐÐó    c                 óŽ  — | j         }g |_        ddg|_        |j        s|j        |_        g |_        dg|_        d|_        d|_        d|_	        d|_
        d|_        d|_        d|_        d|_        d	|_        d
|_        d|_        dg|_        dg|_        d|_        d
g|_        d|_        g d¢|_        dg|_        d|_        dS )z0
	Common flags for g++ on nearly all platforms
	z-cz-oz-I%sz-D%sz-l%sz-L%sz-Wl,-rpath,%sz	-Wl,-h,%sz-Wl,-Bdynamicz-Wl,-Bstaticz%sú-fPICú-sharedzlib%s.sozlib%s.a)z-bundlez
-undefinedÚdynamic_lookupz	%s.bundleN)r   Ú	CXX_SRC_FÚ	CXX_TGT_FÚLINK_CXXr   ÚCXXLNK_SRC_FÚCXXLNK_TGT_FÚ
CPPPATH_STÚ
DEFINES_STÚLIB_STÚ
LIBPATH_STÚSTLIB_STÚSTLIBPATH_STÚRPATH_STÚ	SONAME_STÚSHLIB_MARKERÚSTLIB_MARKERÚcxxprogram_PATTERNÚCXXFLAGS_cxxshlibÚLINKFLAGS_cxxshlibÚcxxshlib_PATTERNÚLINKFLAGS_cxxstlibÚcxxstlib_PATTERNÚLINKFLAGS_MACBUNDLEÚCXXFLAGS_MACBUNDLEÚmacbundle_PATTERN©r   Úvs     r   Úgxx_common_flagsr1      sã   € ð
 
„X€à€„Ø ˜€„à	Œ
ð ØŒu€!„*à€„Ø˜€„Ø€„Ø€„à€„Ø€„Ø€„Ø€„Ø(€„à$€„Ø(€„Ø'€„à€Ôà!˜€ÔØ#˜€ÔØ#€Ôà(Ð)€ÔØ"€ÔàDÐDÐD€ÔØ!˜€ÔØ$€ÔÐÐr   c                 óˆ   — | j         }d|_        d|_        d|_        d|_        g |_        |                     ddg¦  «         dS )z0Configuration flags for executing gcc on Windowsz%s.exez%s.dllz%s.dll.az-Wl,--out-implib,%sÚ	LINKFLAGSz-Wl,--enable-auto-importN)r   r&   r)   Úimplib_PATTERNÚ	IMPLIB_STr'   Úappend_valuer/   s     r   Úgxx_modifier_win32r7   @   sR   € ð 
„X€Ø!€Ôà!€ÔØ#€ÔØ.€„à€Ôð
 ‡‚�Ð8Ð9Ñ:Ô:Ð:Ð:Ð:r   c                 ó|   — t          | ¦  «         | j        }d|_        |                     ddg¦  «         g |_        dS )z/Configuration flags for executing g++ on Cygwinz	cyg%s.dllr(   z-Wl,--enable-auto-image-baseN)r7   r   r)   r6   r'   r/   s     r   Úgxx_modifier_cygwinr9   Q   sH   € õ �DÑÔÐØ	„X€Ø$€ÔØ‡‚Ð$Ð'EÐ&FÑGÔGÐGØ€ÔÐÐr   c                 ó¨   — | j         }dg|_        dg|_        d|_        d|_        dg|_        dg|_        g |_        g |_        g |_	        g |_
        dS )z.Configuration flags for executing g++ on MacOSr   z-dynamiclibzlib%s.dylibz-F%sz
-frameworkz-archN)r   r'   r(   r)   ÚFRAMEWORKPATH_STÚFRAMEWORK_STÚARCH_STr*   r$   r%   r#   r/   s     r   Úgxx_modifier_darwinr>   Z   sb   € ð 
„X€Ø!˜€ÔØ'˜€ÔØ&€ÔØ€ÔØ&˜€„Ø!˜€„à€Ôà€„Ø€„Ø€„€€r   c                 óD   — | j         }dg|_        ddg|_        g |_        dS )z,Configuration flags for executing g++ on AIXz	-Wl,-brtlr   z-Wl,-brtl,-bexpfullN)r   ÚLINKFLAGS_cxxprogramr(   r$   r/   s     r   Úgxx_modifier_aixrA   k   s.   € ð 
„X€Ø%˜€Ôà#Ð%:Ð;€ÔØ€„€€r   c                 óP   — | j         }g |_        g |_        ddg|_        d|_        d S )Nr   z-DPICzlib%s.sl)r   r$   r%   ÚCFLAGS_cxxshlibr)   r/   s     r   Úgxx_modifier_hpuxrD   t   s2   € à	„X€Ø€„Ø€„Ø! 'Ð*€ÔØ#€ÔÐÐr   c                 ó   — g | j         _        d S ©N)r   r#   r   s    r   Úgxx_modifier_openbsdrG   |   s   € à€„ÔÐÐr   c                 ó>   — | j         }g |_        g |_        g |_        d S rF   )r   r$   r%   r#   r/   s     r   Úgcc_modifier_osf1VrI   €   s"   € à	„X€Ø€„Ø€„Ø€„€€r   c                 ó^   — t          | d| j        j        z   d¦  «        }|r |¦   «          dS dS )zAExecute platform-specific functions based on *gxx_modifier_+NAME*Úgxx_modifier_N)Úgetattrr   ÚDEST_OS)r   Úgxx_modifier_funcs     r   Úgxx_modifier_platformrO   ‡   sG   € õ ˜T ?°T´XÔ5EÑ#EÀtÑLÔLÐØð ØÐÑÔÐÐÐðð r   c                 óø   —  | j         ¦   «           | j        ¦   «           | j        ¦   «           | j        ¦   «           | j        ¦   «           | j        ¦   «           | j        ¦   «           | j        d¦  «         dS )z
	Configuration for g++
	r   N)r   Úfind_arr1   rO   Úcxx_load_toolsÚcxx_add_flagsÚlink_add_flagsÚcheck_gcc_o_spacer   s    r   Ú	configurerV   ‘   sŒ   € ð €„�„€Ø€„�„€Ø€ÔÑÔÐØ€ÔÑÔÐØ€ÔÑÔÐØ€ÔÑÔÐØ€ÔÑÔÐØ€Ô˜ÑÔÐÐÐr   N)Ú__doc__Úwaflib.Toolsr   r   Úwaflib.Configurer   r   r1   r7   r9   r>   rA   rD   rG   rI   rO   rV   © r   r   ú<module>r[      sa  ððð ð $Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø !Ð !Ð !Ð !Ð !Ð !àðð ñ „ðð ð&%ð &%ñ „ð&%ðP ð;ð ;ñ „ð;ð  ðð ñ „ðð ðð ñ „ðð  ðð ñ „ðð ð$ð $ñ „ð$ð ðð ñ „ðð ðð ñ „ðð ðð ñ „ððð ð ð ð r   