§
    Ä/ögH  ã                   ó&  — d Z ddlZddlZddlmZmZmZ ddlmZ ddl	m
Z
mZ g d¢Zg d¢ZdZd	Zd
ZdZdZdZ ej        ¦   «         Zd„ Zd„ Zd„ Zi dd“de“dd“dd“dd“dd“de“de“de“de“dd“dd“d d!“d"d#“d$d%“d&d&“d'd(“d(d)d*d+œ¥Zd,„ Zed-„ ¦   «         Zed.„ ¦   «         Zed/„ ¦   «         Zed0„ ¦   «         Zed1„ ¦   «         Zed2„ ¦   «         Z ed3„ ¦   «         Z!ed4„ ¦   «         Z" e
d5¦  «         ed6¦  «        d7„ ¦   «         ¦   «         Z#d8e#_$        dS )9aK  

This is an extra tool, not bundled with the default waf binary.
To add the boost tool to the waf file:
$ ./waf-light --tools=compat15,boost
	or, if you have waf >= 1.6.2
$ ./waf update --files=boost

When using this tool, the wscript will look like:

	def options(opt):
		opt.load('compiler_cxx boost')

	def configure(conf):
		conf.load('compiler_cxx boost')
		conf.check_boost(lib='system filesystem')

	def build(bld):
		bld(source='main.cpp', target='app', use='BOOST')

Options are generated, in order to specify the location of boost includes/libraries.
The `check_boost` configuration function allows to specify the used boost libraries.
It can also provide default arguments to the --boost-mt command-line arguments.
Everything will be packaged together in a BOOST component that you can use.

When using MSVC, a lot of compilation flags need to match your BOOST build configuration:
 - you may have to add /EHsc to your CXXFLAGS or define boost::throw_exception if BOOST_NO_EXCEPTIONS is defined.
   Errors: C4530
 - boost libraries will try to be smart and use the (pretty but often not useful) auto-linking feature of MSVC
   So before calling `conf.check_boost` you might want to disabling by adding
		conf.env.DEFINES_BOOST += ['BOOST_ALL_NO_LIB']
   Errors:
 - boost might also be compiled with /MT, which links the runtime statically.
   If you have problems with redefined symbols,
		self.env['DEFINES_%s' % var] += ['BOOST_ALL_NO_LIB']
		self.env['CXXFLAGS_%s' % var] += ['/MD', '/EHsc']
Passing `--boost-linkage_autodetect` might help ensuring having a correct linkage in some basic cases.

é    N)ÚUtilsÚLogsÚErrors)Úconf)ÚfeatureÚafter_method)z/usr/libz/usr/local/libz/opt/local/libz/sw/libz/lib)z/usr/includez/usr/local/includez/opt/local/includez/sw/includezboost/version.hppz†
#include <iostream>
#include <boost/version.hpp>
int main() { std::cout << BOOST_LIB_VERSION << ":" << BOOST_VERSION << std::endl; }
zT
#include <boost/system/error_code.hpp>
int main() { boost::system::error_code c; }
a  
#include <pthread.h>
static void* f(void*) { return 0; }
int main() {
	pthread_t th;
	pthread_attr_t attr;
	pthread_attr_init(&attr);
	pthread_create(&th, &attr, &f, 0);
	pthread_join(th, 0);
	pthread_cleanup_push(0, 0);
	pthread_cleanup_pop(0);
	pthread_attr_destroy(&attr);
}
z=
#include <boost/thread.hpp>
int main() { boost::thread t; }
aI  
#include <boost/log/trivial.hpp>
#include <boost/log/utility/setup/console.hpp>
#include <boost/log/utility/setup/common_attributes.hpp>
int main() {
	using namespace boost::log;
	add_common_attributes();
	add_console_log(std::clog, keywords::format = "%Message%");
	BOOST_LOG_TRIVIAL(debug) << "log is working" << std::endl;
}
c                 ó    — t           dk    rdpdS )NÚwin32ÚiwÚil©ÚPLATFORM©Úenvs    ú,/git_repos/lvtk-1.2.0/waflib/extras/boost.pyú<lambda>r   i   s   € �H¨Ò/Ð9°TÐA¸T€ ó    c                 ó    — t           dk    rdpdS )NÚdarwinzclang-darwinÚclangr   r   s    r   r   r   j   s   € �H¨Ò0ÐD°nÐOÈ€ r   c                 óJ   — t          j        d| j        d         ¦  «        rdpdS )NÚMinGWr   ÚmgwÚgcc)ÚreÚsearchÚCXXr   s    r   r   r   k   s"   € �BœI g¨s¬w°q¬zÑ:Ô:ÐEÀÐNÈ€ r   ÚborlandÚbcbr   ÚcomoÚcwr   ÚxgccÚedgzg++r   ÚicpcÚintelÚkccÚkylixÚbckÚmipsproÚmpÚmingwr   ÚmsvcÚvcÚqccÚsunÚswÚtruÚxlc)zsunc++Útru64cxxÚvacppc                 óî  — |                       d¦  «        } |                      ddddd¬¦  «         |                      dddd	d
¬¦  «         |                      ddddd¬¦  «         |                      ddddd¬¦  «         |                      dddd¬¦  «         |                      ddddd¬¦  «         dt          j        d         t          j        d         fz  }|                      dd|dd |z  ¬¦  «         d S )!NzBoost Optionsz--boost-includesÚstringÚ Úboost_includeszdpath to the directory where the boost includes are,
				   e.g., /path/to/boost_1_55_0/stage/include)ÚtypeÚdefaultÚdestÚhelpz--boost-libsÚ
boost_libsz[path to the directory where the boost libs are,
				   e.g., path/to/boost_1_55_0/stage/libz
--boost-mtÚ
store_trueFÚboost_mtzselect multi-threaded libraries)Úactionr:   r;   r<   z--boost-abiÚ	boost_abiz|select libraries with tags (gd for debug, static is automatically added),
				   see doc Boost, Getting Started, chapter 6.1z--boost-linkage_autodetectÚboost_linkage_autodetectzRauto-detect boost linkage options (don't get used to it / might break other stuff))r@   r;   r<   z--boost-toolsetÚboost_toolsetzHforce a toolset e.g. msvc, vc90, 						gcc, mingw, mgw45 (default: auto)z%d%dr   é   z--boost-pythonÚboost_pythonz;select the lib python with this version 						(default: %s))Úadd_option_groupÚ
add_optionÚsysÚversion_info)ÚoptÚ
py_versions     r   ÚoptionsrL   „   sp  € Ø
×Ò˜OÑ,Ô,€Ø‡‚Ð"¨ØÐ(ð4ð ñ 5ô 5ð 5ð ‡‚� XØ˜ð/ð ñ 0ô 0ð 0ð ‡‚� \Ø˜:Ø-ð ñ /ô /ð /ð ‡‚� H°b¸{ð6ð ñ 7ô 7ð 7ð ‡‚Ð,°\ÐHbØ`ð ñ bô bð bà‡‚Ð!¨Ø˜ð)ð ñ *ô *ð *ð �Ô(¨Ô+­SÔ-=¸aÔ-@ÐAÑA€Ø‡‚Ð  xØ ðØ!ñ"ð ñ #ô #ð #ð #ð #r   c                 óz   — |sd S | j                              |¦  «        }|r|                     t          ¦  «        S d S ©N)ÚrootÚfind_dirÚ	find_nodeÚBOOST_VERSION_FILE)ÚselfÚdÚdnodes      r   Ú__boost_get_version_filerV   ¡   sD   € à	ð Ø	ˆØ	Œ×	Ò	˜AÑ	Ô	€Ø	ð -Ø	�ŠÕ+Ñ	,Ô	,Ð,Øˆr   c                 óZ  — |                       |¦  «        }|rã	 |                     ¦   «         }t          j        dt          j        ¦  «        }|                     |¦  «        }t          j        dt          j        ¦  «        }|                     |¦  «        }|r,|r*|                     d¦  «        |                     d¦  «        fS n7# t          $ r* t          j	        d| 
                    ¦   «         ¦  «         Y nw xY w|                      t          |gdd¬¦  «                             d¦  «        S )z*silently retrieve the boost version numberz%^#define\s+BOOST_LIB_VERSION\s+"(.+)"z ^#define\s+BOOST_VERSION\s+(\d+)rD   zCould not read the file %rT)ÚfragmentÚincludesÚexecuteÚ
define_retú:)rV   Úreadr   ÚcompileÚMr   ÚgroupÚEnvironmentErrorr   ÚerrorÚabspathÚ	check_cxxÚBOOST_VERSION_CODEÚsplit)rS   rT   ÚnodeÚtxtÚre_but1Úm1Úre_but2Úm2s           r   Úboost_get_versionrm   ª   s  € ð 	×%Ò% aÑ(Ô(€Øð &ð
&Ø	�Š‰Œ€3õ ŒZÐAÅ2Ä4ÑHÔH€7Ø�Š�sÑÔ€2ÝŒZÐ=½r¼tÑDÔD€7Ø�Š�sÑÔ€2Øð &ˆRð &Ø�HŠH�Q‰KŒK˜Ÿš !™œÐ%Ð%øøõ 
ð <ð <ð <Ý„:Ð*¨D¯LªL©N¬NÑ;Ô;Ð;Ð;Ð;ð<øøøð 	�ŠÕ 2¸a¸SÈ$Ð[_ˆÑ`Ô`×fÒfÐgjÑkÔkÐks   ™C Ã1C8Ã7C8c                 óÐ  — |r|d         p|                      d¦  «        }|r|                      |¦  «        r|S | j                              dd¦  «                             d¦  «        t          z   D ]}|                      |¦  «        r|c S Œ|r/|                      d|z  ¦  «         |                      d¦  «         d S |                      d¦  «         |                      d¦  «         d S )	Nr   rY   ÚINCLUDEr7   ú;zheaders not found in %súThe configuration failedzHheaders not found, please provide a --boost-includes argument (see help))ÚgetrV   Úenvironrf   ÚBOOST_INCLUDESÚend_msgÚfatal)rS   ÚkÚkwrY   rT   s        r   Úboost_get_includesry   ¼   sÿ   € àˆJ�!�A”$Ð,˜"Ÿ&š& Ñ,Ô,€Øð �×.Ò.¨xÑ8Ô8ð Ø	€/Ø
Œ,×
Ò
˜9 bÑ
)Ô
)×
/Ò
/°Ñ
4Ô
4µ~Ñ
Eð ð €QØ	×"Ò" 1Ñ%Ô%ð Ø
€8€8€8ðàð )Ø‡,‚,Ð(¨8Ñ3Ñ4Ô4Ð4Ø‡*‚*Ð'Ñ(Ô(Ð(Ð(Ð(à‡,‚,ÐYÑZÔZÐZØ‡*‚*Ð'Ñ(Ô(Ð(Ð(Ð(r   c                 óÚ   — |}|s+t          j        ¦   «         }|t          v r|}n| j        j        }|t          v rt          |         }t          |t          ¦  «        r|p || j        ¦  «        S rN   )r   Úunversioned_sys_platformÚBOOST_TOOLSETSr   ÚCXX_NAMEÚ
isinstanceÚstr)rS   ÚccÚtoolsetÚbuild_platforms       r   Úboost_get_toolsetrƒ   Ì   st   € à€Ø
ð ÝÔ1Ñ3Ô3€.Ø•~Ð%Ð%Ø€2€2àŒÔ€2Ø�.ÐÐÝ˜2Ô€'Ý�7�CÑ Ô Ð, WÐA°°¸¼Ñ0AÔ0AÐAr   c                 ó–  — d|v r4| j                              d¦  «        t          j        |d         ¦  «        fS |r|d         p|                     d¦  «        }|r/| j                              |¦  «        }|                     d¦  «        }|r|s©| j                             dd¦  «                             d¦  «        t          z   D ]r}|sŒ| j                              |¦  «        }|r|                     d¦  «        }|r n9| j                              |d	z   ¦  «        }|r|                     d¦  «        }|r nŒs|sZ|r.|  	                    d
|z  ¦  «         |  
                    d¦  «         n*|  	                    d¦  «         |  
                    d¦  «         |                      d|z  ¦  «         |D ]}|                      d|z  ¦  «         Œ||fS )z- return the lib path and all the files in it Úfilesú.r   Úlibsz*boost_*ÚLIBr7   rp   Ú64zlibs not found in %srq   zAlibs not found, please provide a --boost-libs argument (see help)z.Found the boost path in %r with the libraries:z    %r)rO   rP   r   Úto_listrr   Úant_globrs   rf   Ú
BOOST_LIBSru   rv   Úto_log)rS   rw   rx   r‡   Úpathr…   rT   Úxs           r   Ú__boost_get_libs_pathr�   Ú   s÷  € ð ˆr€M€MØ	Œ×	Ò	˜CÑ	 Ô	 ¥%¤-°°7´Ñ"<Ô"<Ð	<Ð<Ø	ˆ
ˆa�ŒdÐ$�b—f’f˜V‘n”n€Øð $Ø	Œ×	Ò	˜DÑ	!Ô	!€$Ø
�-Š-˜
Ñ
#Ô
#€%Øð �Eð ØŒ<×Ò˜E 2Ñ&Ô&×,Ò,¨SÑ1Ô1µJÑ>ð ð €aØ
ð ØØ
Œ)×
Ò
˜QÑ
Ô
€4Ø
ð Ø�MŠM˜*Ñ%Ô%€EØð Ø
€UØ
Œ)×
Ò
˜Q ™XÑ
&Ô
&€4Ø
ð Ø�MŠM˜*Ñ%Ô%€EØð Ø
€UøØð *Ø	ð *Ø‡<‚<Ð&¨Ñ-Ñ.Ô.Ð.Ø‡:‚:Ð(Ñ)Ô)Ð)Ð)à‡<‚<ÐSÑTÔTÐTØ‡:‚:Ð(Ñ)Ô)Ð)à‡‚Ð=ÀÑDÑEÔEÐEØ
ð ð €QØ‡+‚+ˆh˜‰lÑÔÐÐØˆeˆÐr   c                 ó   ‡ ‡‡‡‡‡‡	‡
—  ‰ j         di ‰¤Ž\  ŠŠt          ‰d„ d¬¦  «        Š‰                      ‰                     dd¦  «        ¦  «        }d|z  Š	d‰ j        j        z  Š
ˆ fd„Šˆ fd	„Šˆˆˆˆˆˆ ˆ	ˆ
fd
„}‰                     ¦   «          |‰                     d¦  «        d¦  «         |‰                     d¦  «        d¦  «        fS )zJ
	return the lib path and the required libs
	according to the parameters
	c                 ó8   — t          | j        ¦  «        | j        fS rN   )ÚlenÚname)Úfs    r   r   z boost_get_libs.<locals>.<lambda>  s   € ¥c¨!¬&¡k¤k°1´6Ð%:€ r   T)ÚkeyÚreverser�   r7   z(-%s[0-9]{0,3})z-%sc                 ó~   •— |D ]8}|                       |j        ¦  «        r‰                     d|z  ¦  «         |c S Œ9d S )NzFound boost lib %s)r   r”   r�   )Úre_libr…   ÚfilerS   s      €r   Úfind_libz boost_get_libs.<locals>.find_lib
  sU   ø€ Øð ð €dØ‡m‚m�D”IÑÔð Ø‡K‚KÐ$ tÑ+Ñ,Ô,Ð,Ø€K€K€Kðð 
ˆr   c                 óœ   •— |                       d¦  «        r‰j        j        dk    r
| dd …         } | d |                      d¦  «        …         S )NÚlibr,   é   r†   )Ú
startswithr   ÚCC_NAMEÚrfind)r”   rS   s    €r   Úformat_lib_namez'boost_get_libs.<locals>.format_lib_name  sN   ø€ Ø	‡_‚_�UÑÔð  ¤Ô 0°FÒ :Ð :Ø
ˆqˆrˆrŒ(€4Ø	Ðˆt�zŠz˜#‰ŒÐÔ	Ðr   c           	      ó  •— g }t          j        | ¦  «        } | s|S g }‰                     dd¦  «        r|                     d¦  «         ‰                     d¦  «        r$|                     |rdpd›‰d         ›�¦  «         n|r|                     d¦  «         |rd                     |¦  «        pd}|r‰j        j        p‰j        j        }|                     d¦  «        d	         }| D �]}|d
k    r7d 	                    |‰d
         d         ‰d
         ‰d
         d         ¦  «        }n|}d|›‰›|›‰›|›d�d|›|›‰›|›d�d|›‰›|›|›d�d|›|›|›d�d|›|›d�d|z  fD ]_}‰ 
                    d|z  ¦  «          ‰t          j        |¦  «        ‰
¦  «        }	|	r%|                      ‰|	j        ¦  «        ¦  «          nCŒ`‰                     d|›d‰                     ¦   «         ›�¦  «         ‰                     d¦  «         �Œ|S )NÚmtFú-mtÚabiz-sú-r7   z%sé   ÚpythonzV({0})?((-py{2})|(-py{1}(?=[^0-9]))|({2})|(-{1}.{3})|({1}(?=[^0-9]))|(?=[^0-9])(?!-py))r   rD   Úboost_ú$zboost_%szTrying pattern %szlib z not found in rq   )r   rŠ   rr   ÚappendÚjoinr   Úcxxstlib_PATTERNÚcxxshlib_PATTERNÚ	partitionÚformatr�   r   r^   r”   ru   rc   rv   )Ú	lib_namesÚ	is_staticr‡   ÚtÚtags_patÚextr�   ÚtagsÚpatternrš   r…   r›   r¢   rx   rŽ   rS   Útoolset_patÚversions             €€€€€€€€r   Ú
match_libsz"boost_get_libs.<locals>.match_libs  s²  ø€ Ø	€$ÝŒm˜IÑ&Ô&€)Ø	ð Ø
€;Ø€!Ø‡V‚VˆD�%ÑÔð Ø‡8‚8ˆE�?„?€?Ø‡V‚VˆE�]„]ð Ø‡8‚8�iÐ( DÐ/¨CÐ/°°E´°Ð;Ñ<Ô<Ð<Ð<Øð Ø‡8‚8ˆD�>„>€>ØÐ�2—7’7˜1‘:”:Ð# €(ØÐ/�d”hÔ/ÐL°4´8Ô3L€#Ø�Š�dÑÔ˜AÔ€#àð +ñ +€cØ	ˆX‚o€oð d×jÒjÐksÐuwð  yAô  vBð  CDô  vEð  GIð  JRô  GSð  UWð  X`ô  Uað  bcô  Udñ  eô  e€D€Dà€Døà*-¨#¨{¨{¸D¸DÀ'À'È3È3È3ÐOÐOØ˜C   w w°°°Ð4Ð4à˜C  ¨d¨d°C°C°CÐ8Ð8Ø˜#˜t˜t S S SÐ)Ð)Ø˜˜S˜S˜SÐ!Ø�CÑðð +ð +€wð 	‡K‚KÐ# gÑ-Ñ.Ô.Ð.Øˆ8•B”J˜wÑ'Ô'¨Ñ/Ô/€DØð Ø	‡[‚[�� ¤Ñ+Ô+Ñ,Ô,Ð,Ø
€Uðð 	‡L‚L€L¨S¨S¨S°$·,²,±.´.°.ÐAÑBÔBÐBØ‡J‚JÐ)Ñ*Ô*Ð*ùØ	€+r   r�   FÚstlib© )r�   Úsortedrƒ   rr   r   ÚBOOST_VERSIONrc   )rS   rw   rx   r�   r»   r…   r›   r¢   rŽ   r¹   rº   s   ` `  @@@@@@r   Úboost_get_libsrÀ   þ   s-  øøøøøøøø€ ð *ˆtÔ)Ð/Ð/¨BÐ/Ð/�€€uÝ	�Ð:Ð:ÀDÐ	IÑ	IÔ	I€Ø×!Ò! "§&¢&¨°BÑ"7Ô"7Ñ8Ô8€Ø  7Ñ*€Ø�4”8Ô)Ñ)€ðð ð ð ð ð ð  ð  ð  ð  ð
(ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ðT 
�Š‰Œ˜˜ B§F¢F¨5¡M¤M°5Ñ9Ô9¸:¸:ÀbÇfÂfÈWÁoÄoÐW[Ñ;\Ô;\Ð	\Ð\r   c                 óB  — |                      dd¦  «        }|                      d¦  «         t          j        ¦   «         dk    rg d¢}ng d¢}|D ]»}	 | j                             ¦   «          | j                             d|z  |¦  «         | j                             d|z  |¦  «         |                      t          d	|d
¬¦  «         |  	                    |¦  «          d	S # | j
        j        $ r | j                             ¦   «          Y Œ¸w xY w|  	                    d¦  «         d	S )a4  
	Computes which flags should be added to CXXFLAGS and LINKFLAGS to compile in multi-threading mode

	Yes, we *need* to put the -pthread thing in CPPFLAGS because with GCC3,
	boost/thread.hpp will trigger a #error if -pthread isn't used:
	  boost/config/requires_threads.hpp:47:5: #error "Compiler threading support
	  is not turned on. Please set the correct command line options for
	  threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"

	Based on _BOOST_PTHREAD_FLAG(): https://github.com/tsuna/boost.m4/blob/master/build-aux/boost.m4
    Úuselib_storeÚBOOSTz)Checking the flags needed to use pthreadsÚsunos)ú	-pthreadsú	-lpthreadr¥   ú-pthread)r7   z
-lpthreadsz-Kthreadz-kthreadz	-llthreadrÇ   rÅ   z	-mthreadsrÆ   z--thread-safer¥   úCXXFLAGS_%szLINKFLAGS_%sNF)ÚcodeÚmsgÚuserZ   ÚNone)rr   Ú	start_msgr   r{   r   ÚstashÚappend_valuerd   ÚPTHREAD_CODEru   ÚerrorsÚConfigurationErrorÚrevert)rS   rw   rx   ÚvarÚboost_pthread_flagsÚboost_pthread_flags         r   Ú_check_pthread_flagr×   B  sP  € ð 
‡v‚vˆn˜gÑ&Ô&€à‡‚Ð;Ñ<Ô<Ð<õ& 
Ô"Ñ$Ô$¨Ò/Ð/ð FÐEÐEÐÐðIð Ið IÐð /ð 
ð 
Ðð	Ø„8‡>‚>ÑÔÐØ„8×Ò˜¨Ñ,Ð.@ÑAÔAÐAØ„8×Ò˜¨#Ñ-Ð/AÑBÔBÐBØ‡>‚>•|¨°3À€>ÑFÔFÐFà‡<‚<Ð"Ñ#Ô#Ð#Ø	€6€6øØ	ŒÔ	'ð ð ð Ø„8‡?‚?ÑÔÐÐÐðøøøà‡‚ˆfÑÔÐÐÐs   ÁBCÃ(DÄDc           	      ó  ‡ ‡‡‡‡‡— ‰ j         d         s‰                      d¦  «         |r|d         p|                     d¦  «        |                     d¦  «        dœŠ‰ j        j                             ¦   «         D ]O\  }}|                     d¦  «        sŒ|t          d¦  «        d…         }|r|p|                     |d	¦  «        ‰|<   ŒP|                     d
d¦  «        Š‰                      ddd¬¦  «         ‰ j         j	        rW‰  
                    ‰ j         j	        d         dg¦  «        }t                               dd|                     ¦   «         z  ¦  «         ‰                      d¦  «          ‰ j        d;i ‰¤Žx‰ j         d‰z  <   }‰                      |¦  «        }|d         ‰ j         _        t%          |d         ¦  «        ‰ j         _        ‰                      dt%          |d         ¦  «        dz  t%          |d         ¦  «        dz  dz  t%          |d         ¦  «        dz  fz  ¦  «         t*          j        r&t+          j        dd‰ j         d‰z           z  ¦  «         ‰d         s
‰d         sdS d|v sd‰v rt+          j        d¦  «         ‰                      d¦  «          ‰ j        d;i ‰¤Ž\  }}	}
|g‰ j         d‰z  <   |g‰ j         d‰z  <   |	‰ j         d ‰z  <   |
‰ j         d!‰z  <   ‰                      d"¦  «         t*          j        rHt+          j        dd|z  ¦  «         t+          j        dd#|	z  ¦  «         t+          j        dd$|
z  ¦  «         ˆfd%„Šˆfd&„Šˆˆfd'„Š ‰d(¦  «        r‰                      ||¦  «         ˆˆˆ ˆfd)„}‰                     d*d¦  «        �rê‰                      d+¦  «         ‰                      |                     d,d	¦  «        ¦  «        }|d-v �r{‰ j         d.‰z  xx         d/gz  cc<   d}t9          j        |¦  «        D ](}|                     ‰ j         j        d	z  ¦  «        rd0} nŒ)|s1|g‰ j         d‰z  <   |	‰ j         d!‰z  <   ‰ j         d ‰z  = ‰ j         d‰z  = d1d2gg fD ]·}‰ j                               ¦   «          ‰ j         d3‰z  xx         |z  cc<   	  |¦   «          ‰                      d4‰ j         d3‰z           z  ¦  «         d}‰ j          !                    ¦   «           n7# tD          j#        $ r%}‰ j          $                    ¦   «          |}Y d}~Œ°d}~ww xY w|�.‰                      d5|¬6¦  «         ‰                      d7¦  «         dS dS ‰                      d8¦  «         ‰                      d7¦  «         dS ‰                      d9¦  «         	  |¦   «          nF# tD          j#        $ r4}‰                      d:¦  «         ‰                      d7¦  «         Y d}~nd}~ww xY w‰                      d"¦  «         dS )<zÓ
	Initialize boost libraries to be used.

	Keywords: you can pass the same parameters as with the command line (without "--boost-").
	Note that the command line has the priority, and should preferably be used.
	r   z4load a c++ compiler first, conf.load("compiler_cxx")r   r�   r¼   )r�   r¼   rª   Nr7   rÂ   rÃ   zdpkg-architectureÚDPKG_ARCHITECTUREF)rÔ   Ú	mandatoryz-qDEB_HOST_MULTIARCHz/usr/lib/%szChecking boost includeszINCLUDES_%srD   z%d.%d.%di † éd   iè  ÚCYANz
	path : %sÚstaticz9boost: static parameter is deprecated, use stlib instead.zChecking boost libsz
LIBPATH_%szSTLIBPATH_%szLIB_%szSTLIB_%sÚokz	shared libs : %sz	static libs : %sc                 ó(   •— ‰d         o	| ‰d         v S )Nr�   r½   ©r�   Úparamss    €r   Ú	has_shlibzcheck_boost.<locals>.has_shlib¶  s   ø€ Ø	�ŒÐ	/˜3 &¨¤-Ð/Ð/r   c                 ó(   •— ‰d         o	| ‰d         v S )Nr¼   r½   rà   s    €r   Ú	has_stlibzcheck_boost.<locals>.has_stlib¸  s   ø€ Ø	�ŒÐ	3˜S F¨7¤OÐ3Ð3r   c                 ó0   •—  ‰| ¦  «        p
 ‰| ¦  «        S rN   r½   )r�   râ   rä   s    €€r   Úhas_libzcheck_boost.<locals>.has_libº  s   ø€ Ø	ˆ�3‰ŒÐ	)˜9˜9 S™>œ>Ð)r   Úthreadc                  óŒ  •—  ‰ d¦  «        r‰                      t          ‰d¬¦  «          ‰ d¦  «        r‰                      t          ‰d¬¦  «          ‰ d¦  «        rg ‰ d¦  «        s‰j        d‰z  xx         dgz  cc<    ‰d¦  «        r‰j        d‰z  xx         dgz  cc<   ‰                      t          ‰d¬¦  «         d S d S )	NÚsystemF)rX   rË   rZ   rç   Úlogú
DEFINES_%sÚBOOST_LOG_NO_THREADSÚBOOST_LOG_DYN_LINK)rd   ÚBOOST_ERROR_CODEÚBOOST_THREAD_CODEr   ÚBOOST_LOG_CODE)ræ   râ   rS   rÔ   s   €€€€r   Útry_linkzcheck_boost.<locals>.try_linkÀ  s  ø€ Ø€WˆXÑÔð EØ‡>‚>Õ+°¸e€>ÑDÔDÐDØ€WˆXÑÔð FØ‡>‚>Õ,°#¸u€>ÑEÔEÐEØ€WˆU�^„^ð CØ
ˆ'�(Ñ
Ô
ð =Ø„Hˆ\˜CÑÐ Ð Ô Ð%;Ð$<Ñ<Ð Ð Ñ Ø€i�ÑÔð ;Ø„Hˆ\˜CÑÐ Ð Ô Ð%9Ð$:Ñ:Ð Ð Ñ Ø‡>‚>�>¨s¸E€>ÑBÔBÐBÐBÐBðCð Cr   Úlinkage_autodetectz(Attempting to detect boost linkage flagsr�   )r-   rë   ÚBOOST_ALL_NO_LIBTz/MDz/EHscrÈ   z$ok: winning cxxflags combination: %sz[Could not auto-detect boost linking flags combination, you may report it to boost.py author)Úexrq   zPBoost linkage flags auto-detection not implemented (needed ?) for this toolchainzChecking for boost linkagez=Could not link against boost libraries using supplied optionsr½   )%r   rv   rr   rL   Ú__dict__ÚitemsrŸ   r“   Úfind_programrÙ   Úcmd_and_logrŒ   ÚinsertÚstriprÍ   ry   rm   r¿   ÚintÚBOOST_VERSION_NUMBERru   r   ÚverboseÚpprintÚwarnrÀ   r×   rƒ   r   ÚlistdirÚendswithr¯   rÎ   Úcommitr   rÒ   rÓ   )rS   rw   rx   r–   ÚvalueÚdeb_host_multiarchÚincÚversionsrŽ   r‡   Ústlibsrñ   r�   Úhas_dllsr�   ÚcxxflagsÚexcÚeræ   râ   rä   rá   rÔ   s   `                 @@@@@r   Úcheck_boostr    s)  øøøøøø€ ð 	Œ�Œð EØ‡*‚*ÐCÑDÔDÐDð 
ˆˆq�ŒtÐ	$�r—v’v˜e‘}”}Ø�6Š6�'‰?Œ?ðð €ð ”<Ô(×.Ò.Ñ0Ô0ð 3ð 3�Z€Sˆ%Ø	�Š˜Ñ	!Ô	!ð ØØ�C�‰MŒMˆNˆNÔ€#Ø�˜%Ð2 2§6¢6¨#¨r¡?¤?€&ˆ�+€+à	‡v‚vˆn˜gÑ&Ô&€à×ÒÐ&Ð,?È5ÐÑQÔQÐQØ„HÔð CØ×'Ò'¨¬Ô)CÀAÔ)FÐH^Ð(_Ñ`Ô`ÐÝ×Ò�A�}Ð'9×'?Ò'?Ñ'AÔ'AÑAÑBÔBÐBà‡‚Ð)Ñ*Ô*Ð*Ø'> tÔ'>Ð'HÐ'HÀÐ'HÐ'HÐH€„ˆ-˜#Ñ
Ñ Ø×"Ò" 3Ñ'Ô'€Ø" 1œ+€„ÔÝ!$ X¨a¤[Ñ!1Ô!1€„ÔØ‡‚ˆj�C ¨¤Ñ,Ô,¨vÑ5Ý
ˆh�qŒkÑ
Ô
˜SÑ
  4Ñ
'Ý
ˆh�qŒkÑ
Ô
˜SÑ
 ð"ñ "ñ #ô #ð #õ 	„Lð DÝ„+ˆf�l T¤X¨m¸cÑ.AÔ%BÑBÑCÔCÐCàˆuŒð 	˜f Wœoð 	Ø€&Ø�€N€N�h &Ð(Ð(Ý„)ÐGÑHÔHÐHØ‡‚Ð%Ñ&Ô&Ð&Ø)�dÔ)Ð3Ð3¨FÐ3Ð3Ñ€€tˆVØ!% €„ˆ,˜Ñ
ÑØ#' &€„ˆ.˜3Ñ
ÑØ €„ˆ(�S‰.ÑØ$€„ˆ*�sÑ
ÑØ‡‚ˆdÑÔÐÝ„Lð 4Ý„+ˆf�l TÑ)Ñ*Ô*Ð*Ý„+ˆfÐ)¨DÑ0Ñ1Ô1Ð1Ý„+ˆfÐ)¨FÑ2Ñ3Ô3Ð3ð0ð 0ð 0ð 0ð 0ð4ð 4ð 4ð 4ð 4ð*ð *ð *ð *ð *ð *à€GˆHÑÔð "à×Ò˜1˜bÑ!Ô!Ð!ð
Cð 
Cð 
Cð 
Cð 
Cð 
Cð 
Cð 
Cð ‡J‚JÐ# UÑ+Ô+ñ 0Ø‡.‚.Ð;Ñ<Ô<Ð<Ø×"Ò" 2§6¢6¨)°RÑ#8Ô#8Ñ9Ô9€'Ø�ÐÑð „8ˆL˜3ÑÐÐÔÐ$6Ð#7Ñ7ÐÐÑð €8ÝŒM˜$ÑÔð ð €qØ‡z‚z�$”(Ô+¨bÑ0Ñ1Ô1ð Ø€XØ
€Uðð ð %Ø&* V€D„Hˆ^˜cÑ!Ñ"Ø!%€D„HˆZ˜#ÑÑØŒ�˜C‘Ð ØŒ� Ñ#Ð$ð ˜GÐ$ bÐ)ð ð €xØ„H‡N‚NÑÔÐØ„Hˆ]˜SÑ Ð!Ð!Ô! XÑ-Ð!Ð!Ñ!ð	Ø€X�Z„Z€Zð
 
‡\‚\Ð8¸D¼HÀ]ÐUXÑEXÔ<YÑZÑ[Ô[Ð[Ø€SØ	„X‡_‚_ÑÔÐØ
€Uøõ Ô$ð ð ð Ø	„X‡_‚_ÑÔÐØ€S€S€S€S€S€Søøøøðøøøð 
€oØ‡L‚LÐnÐsv€LÑwÔwÐwØ‡J‚JÐ)Ñ*Ô*Ð*Ð*Ð*ð €oð ‡<‚<ÐbÑcÔcÐcØ‡:‚:Ð(Ñ)Ô)Ð)Ð)Ð)à‡.‚.Ð-Ñ.Ô.Ð.ð*Ø€8�:„:€:€:øÝ	Ô	"ð *ð *ð *Ø‡<‚<ÐOÑPÔPÐPØ‡:‚:Ð(Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)øøøøð*øøøð ‡,‚,ˆtÑÔÐÐÐs0   Ò/
S<Ó<T0ÔT+Ô+T0Ö'
V2 Ö2W5×*W0×0W5ÚcxxÚ
apply_linkc                 ó¬  — t           j        s+t          j        r| j        j                             d¦  «        sd S dt           _        t          | dd¦  «        }| j        j	        D ]p}	 | j         
                    | j        j        |z  | j        j        ¦  «        }|                      || j        j                             |¦  «        ¬¦  «         Œj#  Y ŒnxY wd S )NÚinstallTÚinstall_pathz	${BINDIR})Ú
install_toÚinstall_from)Úinstall_boostÚdoner   Úis_win32ÚbldÚcmdrŸ   Úgetattrr   Ú	LIB_BOOSTÚ	find_filer¯   ÚLIBPATH_BOOSTÚadd_install_filesrO   rQ   )rS   Úinst_tor�   rš   s       r   r  r  ÿ  sÕ   € õ Ôð 	�eœnð 	°D´H´L×4KÒ4KÈIÑ4VÔ4Vð 	Ø€&Ø…ÔÝ�4˜¨Ñ5Ô5€ØŒHÔð ð €SðØ
Œ(×
Ò
˜TœXÔ6¸Ñ<¸d¼hÔ>TÑ
UÔ
U€4Ø×Ò W¸4¼8¼=×;RÒ;RÐSWÑ;XÔ;XÐÑYÔYÐYÐYøðØ€8øøøðð s   Á&A&CÃCF)%Ú__doc__rH   r   Úwaflibr   r   r   Úwaflib.Configurer   Úwaflib.TaskGenr   r   rŒ   rt   rR   re   rî   rÐ   rï   rð   r{   r   Údetect_intelÚdetect_clangÚdetect_mingwr|   rL   rV   rm   ry   rƒ   r�   rÀ   r×   r  r  r  r½   r   r   ú<module>r&     s  ðð&ð &ðP €
€
€
Ø 	€	€	€	Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0àPÐPÐP€
Ø\Ð\Ð\€Ø(Ð ðÐ ðÐ ð
€ðÐ ð

€ð *ˆ5Ô)Ñ+Ô+€ØAÐA€ØOÐO€ØNÐN€ðØ
ˆUðàˆ,ðð ˆ&ðð ˆ$ð	ð
 
ˆVðð ˆ%ðð ˆ,ðð ˆ,ðð ˆ,ðð 	ˆ,ðð ˆ%ðð 	ˆ%ðð ˆTðð 	ˆ%ðð ˆ$ðð  ˆ%ð!ð" ˆ$ð#ð$ ØØ
ð)ð ð €ð0#ð #ð #ð: ðð ñ „ðð ðlð lñ „ðlð" ð)ð )ñ „ð)ð ð
Bð 
Bñ „ð
Bð ð!ð !ñ „ð!ðF ðA]ð A]ñ „ðA]ðF ð:ð :ñ „ð:ðx ð|ð |ñ „ð|ð~ 	€ˆ�„Ø€ˆlÑÔð
ð 
ñ Ôñ „ð
ð €Ô Ð Ð r   