§
    Ä/ögM  ã                   ó’   — d Z ddlZddlmZ ddlmZ ddlmZ g d¢dgddgg d	¢g d
¢ddgddgdgdgddgg d¢ddgdœZ	 d„ Z	d„ Z
d„ ZdS )aD  
Try to detect a C compiler from the list of supported compilers (gcc, msvc, etc)::

	def options(opt):
		opt.load('compiler_c')
	def configure(cnf):
		cnf.load('compiler_c')
	def build(bld):
		bld.program(source='main.c', target='app')

The compilers are associated to platforms in :py:attr:`waflib.Tools.compiler_c.c_compiler`. To register
a new C compiler named *cfoo* (assuming the tool ``waflib/extras/cfoo.py`` exists), use::

	from waflib.Tools.compiler_c import c_compiler
	c_compiler['win32'] = ['cfoo', 'msvc', 'gcc']

	def options(opt):
		opt.load('compiler_c')
	def configure(cnf):
		cnf.load('compiler_c')
	def build(bld):
		bld.program(source='main.c', target='app')

Not all compilers need to have a specific tool. For example, the clang compilers can be detected by the gcc tools when using::

	$ CC=clang waf configure
é    N)Úccroot)ÚUtils)Údebug)ÚmsvcÚgccÚclangr   r   )Úxlcr   r   )r   r   ÚiccÚsunccÚirixcc)r   r   r   r
   )Úwin32ÚcygwinÚdarwinÚaixÚlinuxÚsunosÚirixÚhpuxÚosf1VÚgnuÚjavaÚdefaultc                  óž   — t          j        ¦   «         } t                               | t          d         ¦  «        }d                     |¦  «        S )Nr   ú )r   Úunversioned_sys_platformÚ
c_compilerÚgetÚjoin)Úbuild_platformÚpossible_compiler_lists     ú0/git_repos/lvtk-1.2.0/waflib/Tools/compiler_c.pyÚdefault_compilersr"   ;   s<   € ÝÔ0Ñ2Ô2€Ý$Ÿ.š.¨½ÀIÔ9NÑOÔOÐØ�ŠÐ'Ñ(Ô(Ð(ó    c                 óF  — 	 | j         j        pt          ¦   «         }n%# t          $ r |                      d¦  «         Y nw xY wt          j        d|¦  «        D �]3}| j                             ¦   «          |  	                    d|z  ¦  «         	 |  
                    |¦  «         | j        j        rU|                      | j                             d¦  «        ¦  «         || j        _        | j                             ¦   «           dS | j                             ¦   «          |                      d¦  «         ŒÚ# | j        j        $ rI}| j                             ¦   «          |                      d¦  «         t'          d|¦  «         Y d}~�Œ-d}~ww xY w|                      d¦  «         dS )	z|
	Detects a suitable C compiler

	:raises: :py:class:`waflib.Errors.ConfigurationError` when no suitable compiler is found
	z(Add options(opt): opt.load('compiler_c')z[ ,]+zChecking for %r (C compiler)ÚCCFzcompiler_c: %rNz!could not configure a C compiler!)ÚoptionsÚcheck_c_compilerr"   ÚAttributeErrorÚfatalÚreÚsplitÚenvÚstashÚ	start_msgÚloadr%   Úend_msgÚget_flatÚCOMPILER_CCÚcommitÚrevertÚerrorsÚConfigurationErrorr   )ÚconfÚtest_for_compilerÚcompilerÚes       r!   Ú	configurer;   @   s³  € ð9Ø”lÔ3ÐJÕ7HÑ7JÔ7JÐÐøÝð 9ð 9ð 9Ø‡*‚*Ð7Ñ8Ô8Ð8Ð8Ð8ð9øøøõ ”˜'Ð#4Ñ5Ô5ð 2ñ 2€XØ„(‡.‚.ÑÔÐØ‡.‚.Ð/°(Ñ:Ñ;Ô;Ð;ðØ‡9‚9ˆXÑÔÐð „h„kð 
Ø‡L‚L�”×"Ò" 4Ñ(Ô(Ñ)Ô)Ð)Ø#€D„HÔØ„H‡O‚OÑÔÐØ	€E€EØ„8‡?‚?ÑÔÐØ‡<‚<�ÑÔÐÐøð 
ŒÔ	'ð ð ð Ø„8‡?‚?ÑÔÐØ‡<‚<�ÑÔÐÝÐ	˜1ÑÔÐÐÐÐÐÑøøøøðøøøð ‡*‚*Ð0Ñ1Ô1Ð1Ð1Ð1s$   ‚ �?¾?ÂD1Ä1F	Å >FÆF	c                 ó  — t          ¦   «         }|                      ddg¬¦  «         |                      d¦  «        }|                     ddd|z  d¬	¦  «         |                     ¦   «         D ]}|                      d
|z  ¦  «         ŒdS )zo
	This is how to provide compiler preferences on the command-line::

		$ waf configure --check-c-compiler=gcc
	zc_*.pyzc_dumbpreproc.py)ÚbanzConfiguration optionsz--check-c-compilerNzlist of C compilers to try [%s]r'   )r   ÚhelpÚdestz%s)r"   Úload_special_toolsÚadd_option_groupÚ
add_optionr+   r/   )Úoptr8   Úcc_compiler_optsÚxs       r!   r&   r&   _   s°   € õ 'Ñ(Ô(ÐØ×Ò˜Ð'9Ð&:ÐÑ;Ô;Ð;Ø×(Ò(Ð)@ÑAÔAÐØ×ÒÐ1¸4Ø(Ð+<Ñ<Øð ñ ô ð ð ×
!Ò
!Ñ
#Ô
#ð ð €QØ‡(‚(ˆ4�!‰8ÑÔÐÐðð r#   )Ú__doc__r*   Úwaflib.Toolsr   Úwaflibr   Úwaflib.Logsr   r   r"   r;   r&   © r#   r!   ú<module>rK      sõ   ðð
ð ð8 
€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð #Ð
"Ð
"Øˆ'Ø�EÐ
Ø
!Ð
!Ð
!Ø
!Ð
!Ð
!Ø�EÐ
Ø�(Ð
Øˆ'Øˆ'Ø�'Ð
Ø
)Ð
)Ð
)Ø�EÐ
ðð €
ðð)ð )ð )ð
2ð 2ð 2ð>ð ð ð ð r#   