�� 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 �l�Z�h�d�d�6d�d�6Z�d ����Z �d ����Z�d����Z�d����Z�d ����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d����Z�d�S(���s��SCons.Platform.posix Platform-specific initialization for POSIX (Linux, UNIX, etc.) systems. There normally shouldn't be any need to import this module directly. It will usually be imported through the generic SCons.Platform.Platform() selection method. sA���src/engine/SCons/Platform/posix.py 5023 2010/06/14 22:05:46 sconsi����N(���t ���TempFileMungei���i���i~���i ���c���������C���sU���d�}�d�}�|��i��|�|�|���}��x$�|�D]�}�|��i��|�|�|���}��q)�Wd�|��d�S(���s���escape shell special characterss���\s���"$()t���"(���t���replace(���t���argt���slasht���specialt���c(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���escape2���s�����c���������C���s4���t��i�d�i�|������}�|�d�@o �|�d�BS|�d�?S(���Nt��� i����i����i���(���t���ost���systemt���join(���t���lt���envt���stat(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���exec_system=���s���� c���������C���s#���t��i�t��i�|��d�|��|���}�|�S(���Ni����(���R ���t���spawnvpet���P_WAIT(���R���R ���R���(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt ���exec_spawnvpeC���s����c���������C���s����t��i����}�|�p��d�}�y�t��i�|��d�|��|���WnQ�t�j �oE�}�t�i�|�d�|�d���}�t�i�i�d�|��d�|�d�f���n�Xt��i �|���n5�t��i �|�d���\�}�}�|�d�@o �|�d�BS|�d�?Sd��S(���Ni���i����s���scons: %s: %s i���i����i����i���(���R ���t���forkt���execvpet���OSErrort ���exitvalmapt���gett���syst���stderrt���writet���_exitt���waitpid(���R���R ���t���pidt���exitvalt���eR���(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt ���exec_forkI���s����' c��� ������C���s����d�i��|���}�|�os�d�d�g�g��}�|�i����D])�}�|�|�|�d���d�|�|�d���q0�~�|��d�|�|���g�}�d�i��|���}�n�|�S(���NR���R ���t���-i����t���=i���s���-c(���R���t���items( ���t���shR���t���cmdt���argsR ���t���st���_[1]t���tR���(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���_get_env_command[���s����Jc���������C���s"���t��t�|��|�|�|�|���g�|���S(���N(���R���R*���(���R$���R���R%���R&���R ���(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt ���env_spawnd���s����c���������C���s���t��|��d�d�i�|���g�|���S(���Ns���-cR���(���R���R���(���R$���R���R%���R&���R ���(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���spawnvpe_spawng���s����c���������C���s���t��|��d�d�i�|���g�|���S(���Ns���-cR���(���R ���R���(���R$���R���R%���R&���R ���(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt ���fork_spawnj���s����c���������C���s#��d�}�}�x|�o�|�py��t��i��|��|�g�g��g����\�}�}�}�|��|�j�oK�|��i����} �t�| ���d�j�o �d�}�q��|�d��j �o�|�i�| ���q��n�|�|�j�o:�|�i����} �t�| ���d�j�o �d�}�q��|�i�| ���n�Wq �t��i�j �o&�\�} �}�| �t�i�j�o����qq �Xq �Wd��S(���Ni����i���(���t���selectt���readt���lent���NoneR���t���errort���errnot���EINTR(���t ���cmd_stdoutt ���cmd_stderrt���stdoutR���t ���stdout_eoft ���stderr_eoft���it���oR���t���strt���_errnot ���_strerror(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���process_cmd_outputm���s&���� �$ c���������C���sR���t��i�d�i�|����d�|�d�|�d�t��}�|�i����}�|�d�@o �|�d�BS|�d�?S(���NR���R7���R���t���shelli����i����i���(���t ���subprocesst���PopenR���t���Truet���wait(���R���R ���R7���R���t���procR���(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���exec_popen3����s���� c���������C���s5��|�|�j�o(�t��i����\�}�}�t��i����\�}�}�n�t��i����\�}�}�|�}�|�}�t��i����}�|�p��t��i�|���|�|�j�o�t��i�|���n�t��i�|�d���t��i�|�d���t��i�|���|�|�j�o�t��i�|���n�d�} �y�t��i�|��d�|��|���WnN�t�j �oB�} �t�i�| �d�| �d���} �|�i �d�|��d�| �d�f���n�Xt��i �| ���n��t��i�|�d���\�}�}�t��i�|���|�|�j�o�t��i�|���n�t��i�|���}�|�|�j�o�t��i�|���} �n�|�} �t �|�| �|�|���t��i�|���|�|�j�o�t��i�|���n�|�d�@o �|�d�BS|�d�?Sd��S( ���Ni���i���i���i����s���scons: %s: %s i����i����i���(���R ���t���pipeR���t���closet���dup2R���R���R���R���R���R���R���t���fdopenR?���(���R���R ���R7���R���t���rFdOutt���wFdOutt���rFdErrt���wFdErrR���R���R���R���t���childOutt���childErr(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���exec_piped_fork����sL���� $ c���������C���s(���t��t�|��|�|�|�|���g�|�|�|���S(���N(���RF���R*���(���R$���R���R%���R&���R ���R7���R���(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���piped_env_spawn����s����c���������C���s%���t��|��d�d�i�|���g�|�|�|���S(���Ns���-cR���(���RQ���R���(���R$���R���R%���R&���R ���R7���R���(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���piped_fork_spawn����s����c���������C���sX��d�t��i�j�o �t�}�n!�|��i�d���o �t�}�n�t�}�|��i�d���o �t�}�n�t�}�d�|��j�o�h��|��d�<n�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�g�|��d�<|�|��d�<|�|��d�<d�|��d�<t�|��d �<t �|��d!�<d"�|��d#�<d$�|��d%�<d&�|��d'�<d��S((���NR���R ���t���ENVs%���/usr/local/bin:/opt/bin:/bin:/usr/bint���PATHt����t ���OBJPREFIXs���.ot ���OBJSUFFIXs ���$OBJPREFIXt���SHOBJPREFIXs ���$OBJSUFFIXt���SHOBJSUFFIXt ���PROGPREFIXt ���PROGSUFFIXt���libt ���LIBPREFIXs���.at ���LIBSUFFIXs ���$LIBPREFIXt���SHLIBPREFIXs���.sot���SHLIBSUFFIXt���LIBPREFIXESs ���$LIBSUFFIXs���$SHLIBSUFFIXt���LIBSUFFIXESt���PSPAWNt���SPAWNR$���t���SHELLt���ESCAPEt���TEMPFILEt���@t���TEMPFILEPREFIXiH��t ���MAXLINELENGTHs���$_RPATHt���__RPATH( ���R ���t���__dict__R,���t���DetectR+���R-���RR���RS���R���R����(���R ���t���spawnt���pspawn(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���generate����s>���� (���t���__doc__t���__revision__R3���R ���t���os.pathRA���R���R.���t ���SCons.Utilt���SConst���SCons.PlatformR����R���R���R���R���R ���R*���R+���R,���R-���R?���RF���RQ���RR���RS���Rq���(����(����(����s7���install/lib/scons-2.0.0.final.0/SCons/Platform/posix.pyt���<module>���s4��� 0