��
r�$Lc�����������@���s���d��Z��d�Z�d�d�k�Z�d�d�k�Z�d�d�k�Z�d�d�k�Z�d�d�k�Z�d�d�k	�Z�d�d�k
�Z�d�d�k�Z�d�e�i�i
�f�d�������YZ�d�e�f�d�������YZ�d�e�f�d	�������YZ�e�i�i�e���d
�d�d�d
�g�Z�e�i�i�d
�d���o�e�i�d���n�e�d�e����e����g����Z�e�i�Z�d����Z�d����Z�d�e�f�d�������YZ�e�d���Z �e�d���Z!�d����Z"�d����Z#�d����Z$�e�i%�i&�e$�d�d�d�e�i'�i(�i)�d�e�i'�i(�i)�d�d��Z*�d����Z+�d ����Z,�d�S(!���s����SCons.Tool.qt

Tool-specific initialization for Qt.

There normally shouldn't be any need to import this module directly.
It will usually be imported through the generic SCons.Tool.Tool()
selection method.

s:���src/engine/SCons/Tool/qt.py 5023 2010/06/14 22:05:46 sconsi����Nt
���ToolQtWarningc�����������B���s���e��Z�RS(����(���t���__name__t
���__module__(����(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyR����/���s���t���GeneratedMocFileNotIncludedc�����������B���s���e��Z�RS(����(���R���R���(����(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyR���2���s���t
���QtdirNotFoundc�����������B���s���e��Z�RS(����(���R���R���(����(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyR���5���s���s���.hs���.hxxs���.hpps���.hhs���.Hs���c++c���������C���s����|��d�}�|�d�}�t��i�i�i�|�|�i���}�t��i�i�|�|�|���}�|�|�j�o-�t��i�i�t�d�t�|���t�|���f���n�d��S(���Ni����s/���Generated moc file '%s' is not included by '%s'(	���t���SConst���Defaultst���CScant���patht���cwdt���Warningst���warnR���t���str(���t���targett���sourcet���envt���moct���cppR���t���includes(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt���checkMocIncluded@���s����


	c���������C���s6���x/�|�D]'�}�|�|��|���}�|�i�����o�|�Sq�Wd��S(���N(���t���rexistst���None(���t���filenamet���pathst���node_factoryt���dirt���node(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt	���find_fileM���s�����
	t���_Automocc�����������B���s ���e��Z�d��Z�d����Z�d����Z�RS(���sj���
    Callable class, which works as an emitter for Programs, SharedLibraries and
    StaticLibraries.
    c���������C���s
���|�|��_��d��S(���N(���t���objBuilderName(���t���selfR���(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt���__init__Z���s����c���������C���s���y+�t��|�i�d�����d�j�o�|�|�f�SWn�t�j
�o�n�Xy�t��|�i�d�����}�Wn�t�j
�o
�d�}�n�Xt�i�i�}�t�|�|��i���}�t�i	�d���}�|�i
�}�|�|�_
�|�i�i
�}	�|�|�i�_
�|�}
�x|�D]�}�|�i����p!�|�o�d�t
�|���GHq��q��n�|�i�d�}�|�t
�|�����d�t�j�o!�|�o�d�t
�|���GHq��q��n�|�i����}
�d�}�x��t�D]y�}�|�|�i���d�|�}�t�|�|�i����f�|�i���}�|�o7�|�o�d�t
�|���t
�|���f�GHn�|�i����}�PqsqsW|�o�|�o�d	�t
�|���GHn�|�ob�|�i�|���oR�|�i�|���}�|�|���}�|
�i�|���|�o�d
�t
�|���t
�|���f�GHq{n�|�oY�|�i�|
���oI�|�i�|���}�|�i�|�|���|�o�d
�t
�|���t
�|���f�GHq�q��q��W|�|�_
�|	�|�i�_
�|�|
�f�S(���s����
        Smart autoscan function. Gets the list of objects for the Program
        or Lib. Adds objects and builders for the special qt files.
        s���$QT_AUTOSCANi����s	���$QT_DEBUGs ���[^A-Za-z0-9]Q_OBJECT[^A-Za-z0-9]s0���scons: qt: '%s' seems to be a binary. Discarded.i���s*���scons: qt: '%s' is no cxx file. Discarded.s)���scons: qt: Scanning '%s' (header of '%s')s���scons: qt: no header for '%s'.s8���scons: qt: found Q_OBJECT macro in '%s', moc'ing to '%s'N(���t���intt���substt
���ValueErrorR���t���Utilt���splitextt���getattrR���t���ret���compileR���t���Moct���has_builderR���t���sourcest���cxx_suffixest���get_text_contentsR���t���header_extensionst���nameR���t���get_dirt���Filet���searcht���appendt���Ignore(���R���R
���R���R���t���debugR$���t
���objBuildert���q_object_searcht
���objBuilderEnvt
���mocBuilderEnvt���out_sourcest���objR���t���cpp_contentst���ht���h_extt���hnamet
���h_contentst���moc_cppt���moc_oR���(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt���__call__]���sn����		�

�	
#'	(���R���R���t���__doc__R���RB���(����(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyR���T���s���	t���SharedObjectt���StaticObjectc���������C���s����d�}�|�p�|��i�d�d���}�n�|�p�t�i�i�d�d���}�n�|�pl�|��i�d���}�|�o9�t�i�i�t�i�i�|�����}�t�i�i	�t
�d�|���q��d�}�t�i�i	�t
�d���n�|�S(���s9���Not really safe, but fast method to detect the QT libraryt���QTDIRR���s>���Could not detect qt, using moc executable as a hint (QTDIR=%s)s&���Could not detect qt, using empty QTDIRN(���R���t���gett���ost���environt���WhereIsR���t���dirnameR���R
���R���R���(���R���RF���R���(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt���_detect����s"����		c���������C���s����t��i�i�}�t��i�i�t�|�d�i�����d�}�t�i�i�t�|��d�i	������|���}�t
�|����d�j��o/�|��i�|�|�|�i�d���|�i�d�������n�t
�|����d�j��o/�|��i�|�|�|�i�d���|�i�d�������n�|��|�f�S(���Ni����i���s���$QT_UICIMPLPREFIXs���$QT_UICIMPLSUFFIXi���s���$QT_MOCHPREFIXs���$QT_MOCHSUFFIX(
���R���R#���t
���adjustixesR$���R���R.���RH���R���t���joinR/���t���lenR2���R!���(���R
���R���R���RM���t���bs(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt
���uicEmitter����s����#%c���������C���s����g��}�|�i��|�d���|�i�t�|��i����i�����t�i�d�|��i������}�g��}�x8�|�D]0�}�|�i�|�|���}�|�o�|�i�|���qX�qX�W|�S(���Nt���CPPPATHs���<include.*?>(.*?)</include>(	���t���extendR2���R���t���rfileR���R&���t���findallR,���t���FindFile(���R���R���R���t���lookoutR���t���resultt���incFilet���dep(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt���uicScannerFunc����s�����R.���t
���UicScannert
���node_classR���t	���recursivei����c������4���C���s���t��i�i�}�t��i�i�}�t��i�i�}�|��i�d�t�|����d�t�i�i	�d�d���d�t�i�i	�d�d���d�t�i�i	�d�d���d	�t�i�i	�d
�d���d�t�i�i	�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%�d&�d'�|�d(���|�d)���|�d*���g�d+�d,�d-�|�d.���|�t
�dN���g���|�d/�t��i�i�d0�d1���d2�t�d3�d4�d5�d6�d7�d8�d9�t
���}�|�d/�h��d7�h��d5�h����}�xM�t�D]E�}�t��i�i�d:�d;���}�|�i�|�|���d<�|�i�|�<d=�|�i�|�<q�WxM�t�D]E�}�t��i�i�d>�d?���}�|�i�|�|���d@�|�i�|�<dA�|�i�|�<qW|�|��dB�dC�<|�|��dB�dD�<t��i�i�|����\�}	�}
�|	�i�dC���|
�i�dC���|��i�dE�t�g�dF�t�g�dG�t�g�dH�dI�g�dJ�dK�g�dL�dM�g���dN�S(O���sA���Add Builders and construction variables for qt to an Environment.RF���t
���QT_BINPATHs���$QTDIRt���bint
���QT_CPPPATHt���includet
���QT_LIBPATHt���libt���QT_MOCs���$QT_BINPATHR���t���QT_UICt���uict���QT_LIBt���qtt���QT_AUTOSCANi���t���QT_UICIMPLFLAGSt����t���QT_UICDECLFLAGSt���QT_MOCFROMHFLAGSt���QT_MOCFROMCXXFLAGSs���-it���QT_UICDECLPREFIXt���QT_UICDECLSUFFIXs���.ht���QT_UICIMPLPREFIXt���uic_t���QT_UICIMPLSUFFIXs���$CXXFILESUFFIXt
���QT_MOCHPREFIXt���moc_t
���QT_MOCHSUFFIXt���QT_MOCCXXPREFIXt���QT_MOCCXXSUFFIXs���.moct���QT_UISUFFIXs���.uit	���QT_UICCOMs1���$QT_UIC $QT_UICDECLFLAGS -o ${TARGETS[0]} $SOURCEsJ���$QT_UIC $QT_UICIMPLFLAGS -impl ${TARGETS[0].file} -o ${TARGETS[1]} $SOURCEs8���$QT_MOC $QT_MOCFROMHFLAGS -o ${TARGETS[2]} ${TARGETS[0]}t���QT_MOCFROMHCOMs2���$QT_MOC $QT_MOCFROMHFLAGS -o ${TARGETS[0]} $SOURCEt���QT_MOCFROMCXXCOMs4���$QT_MOC $QT_MOCFROMCXXFLAGS -o ${TARGETS[0]} $SOURCEt���actions
���$QT_UICCOMs
���$QT_UICCOMSTRt���emittert
���src_suffixs���$QT_UISUFFIXt���suffixs���$QT_UICDECLSUFFIXt���prefixs���$QT_UICDECLPREFIXt���source_scanners���$QT_MOCFROMHCOMs���$QT_MOCFROMHCOMSTRs���$QT_MOCHPREFIXs���$QT_MOCHSUFFIXs���$QT_MOCFROMCXXCOMs���$QT_MOCFROMCXXCOMSTRs���$QT_MOCCXXPREFIXs���$QT_MOCCXXSUFFIXt���BUILDERSt���UicR(���t���PROGEMITTERt���SHLIBEMITTERt
���LIBEMITTERRR���s���$QT_CPPPATHt���LIBPATHs���$QT_LIBPATHt���LIBSs���$QT_LIBN(���R���R#���t���CLVart���Actiont���Buildert
���SetDefaultRL���RH���R���RN���R���R���RQ���t
���uicScannerR-���t
���add_actionR����R����R+���t���Toolt���createObjBuilderst���add_src_buildert���AppendUniquet
���AutomocStatict
���AutomocShared(���R���R����R����R����t���uicBldt���mocBldR<���t���actt���cxxt
���static_objt
���shared_obj(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt���generate����sx����				�
�


				c���������C���s
���t��|����S(���N(���RL���(���R���(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt���existsI��s����(-���RC���t���__revision__t���os.pathRH���R&���t���SCons.ActionR���t
���SCons.Buildert���SCons.Defaultst
���SCons.Scannert
���SCons.Toolt
���SCons.UtilR
���t���WarningR����R���R���t���enableWarningClassR-���R#���t���case_sensitive_suffixesR2���t
���__import__t���globalst���localst	���cplusplust���CXXSuffixesR+���R���R���t���objectR���R����R����RL���RQ���R[���t���Scannert���Baset���Nodet���FSR0���R����R����R����(����(����(����s0���install/lib/scons-2.0.0.final.0/SCons/Tool/qt.pyt���<module>
���sB���		
	_					[