�� r�$Lc�����������@���s���d��Z��d�Z�d�d�k�Z�d�d�k�Z�d�d�k�Z�d�d�k�Z�e�i�Z�d�Z�d�e �f�d�������YZ �d�e �f�d�������YZ�d �e �f�d �������YZ�h�d�d�6d �d�6d�d�6d�d�6d�d�6Z �h�d�d�6d�d�6d�d�6d�d�6d�d�6Z�h�d�d�6d�d�6d�d�6d�d�6d�d�6Z�e�d�d�d�d�d�d�h�d �g�d�6d!�g�d"�6d#�g�d�6d$�e��e�d%�d�d�d�d�d�h�d �g�d�6d!�g�d"�6d#�g�d�6d$�e��e�d&�d�d'�d�d�d�h�d �g�d�6d!�g�d"�6d#�g�d�6d$�e ��e�d(�d�d)�d�d�d�d �d$�e ��e�d*�d�d+�d,�d-�d$�e ��e�d.�d�d+�d,�d/�d$�e ��g�Z�h��Z�x�e�D]�Z�e�e�e�i�<q/Wd�a�d�a�d0����Z�h��a�d1����Z�d2����Z�d3����Z�d4����Z�d5����Z�d�d6���Z�d�S(7���sD���src/engine/SCons/Tool/MSCommon/sdk.py 5023 2010/06/14 22:05:46 sconssZ���Module to detect the Platform/Windows SDK PSDK 2003 R1 is the earliest version detected. i����Ns>���Software\Microsoft\Microsoft SDKs\Windows\CurrentInstallFoldert ���SDKDefinitionc�����������B���s2���e��Z�d��Z�d����Z�d����Z�d����Z�d����Z�RS(���sN��� An abstract base class for trying to find installed SDK directories. c���������K���s���|�|��_��|��i�i�|���d��S(���N(���t���versiont���__dict__t���update(���t���selfR���t���kw(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���__init__A���s���� c���������C���s����t��i�i�p�t�d���d�S|��i�|��i�}�t�d�|���y�t�i�|���}�Wn*�t �j �o�}�t�d�t �|�����d�SXt�d�|���t�i�i �|���p�t�d�|���d�St�i�i�|�|��i���}�t�i�i �|���p�t�d�|���d�S|�S(���sr���Try to find the MS SDK from the registry. Return None if failed or the directory does not exist. s%���find_sdk_dir(): can not read registrys$���find_sdk_dir(): checking registry:%ss&���find_sdk_dir(): no SDK registry key %ss"���find_sdk_dir(): Trying SDK Dir: %ss&���find_sdk_dir(): %s not on file systems)���find_sdk_dir(): sanity check %s not foundN(���t���SConst���Utilt���can_read_regt���debugt���Nonet���HKEY_FMTt ���hkey_datat���commont���read_regt���WindowsErrort���reprt���ost���patht���existst���joint���sanity_check_file(���R���t���hkeyt���sdk_dirt���et���ftc(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���find_sdk_dirE���s&���� c���������C���s;���y�|��i��SWn)�t�j �o�|��i����}�|�|��_��|�SXd�S(���s+���Return the MSSSDK given the version string.N(���t���_sdk_dirt���AttributeErrorR���(���R���R���(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���get_sdk_dird���s���� c���������C���s����|�d�j�o�|�d�j�o �|�}�n�|�}�|�|�j�o�d�|�|�f�}�n�t��d�|�|�|�f���|��i�i�|�d���}�t��d�|���|�S(���sJ��� Return the script to initialize the VC compiler installed by SDK t���amd64t���x86s���%s_%ssF���sdk.py: get_sdk_vc_script():arch_string:%s host_arch:%s target_arch:%ss#���sdk.py: get_sdk_vc_script():file:%sN(���R ���t���vc_setup_scriptst���getR���(���R���t ���host_archt���target_archt���arch_stringt���file(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���get_sdk_vc_scriptm���s���� (���t���__name__t ���__module__t���__doc__R���R���R���R'���(����(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyR����=���s ��� t ���WindowsSDKc�����������B���s���e��Z�d��Z�d�Z�d����Z�RS(���sJ��� A subclass for trying to find installed Windows SDK directories. s@���Software\Microsoft\Microsoft SDKs\Windows\v%s\InstallationFolderc���������O���s#���t��i�|��|�|���|��i�|��_�d��S(���N(���R����R���R���R ���(���R���t���argsR���(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyR�������s����(���R(���R)���R*���R���R���(����(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyR+�������s���t���PlatformSDKc�����������B���s���e��Z�d��Z�d�Z�d����Z�RS(���sK��� A subclass for trying to find installed Platform SDK directories. s<���Software\Microsoft\MicrosoftSDK\InstalledSDKS\%s\Install Dirc���������O���s#���t��i�|��|�|���|��i�|��_�d��S(���N(���R����R���t���uuidR ���(���R���R,���R���(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyR�������s����(���R(���R)���R*���R���R���(����(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyR-�������s���s���bin\vcvars32.batR ���s���bin\vcvarsamd64.batR���s���bin\vcvarsx86_amd64.batt ���x86_amd64s���bin\vcvarsx86_ia64.batt���x86_ia64s���bin\vcvarsia64.batt���ia64s���bin\amd64\vcvarsamd64.bats!���bin\x86_amd64\vcvarsx86_amd64.bats���bin\x86_ia64\vcvarsx86_ia64.bats���bin\ia64\vcvarsia64.bats���bin\vcvars64.bats���7.0R���s���bin\SetEnv.Cmdt���include_subdirt���includet ���lib_subdirt���libs���lib\x64t���x86_64s���lib\ia64R!���s���6.1s���6.0As���include\windows.hs���6.0s���bin\gacutil.exet���2003R2s ���SetEnv.CmdR.���s$���D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1t���2003R1s$���8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3c����������C���s����t��d���t�d��j�on�g��a�h��a�x_�t�D]S�}��t��d�|��i���|��i����o/�t��d�|��i���t�i�|����|��t�|��i�<q*�q*�Wn�t�S(���Ns���sdk.py:get_installed_sdks()s&���MSCommon/sdk.py: trying to find SDK %ss���MSCommon/sdk.py:found SDK %s(���R ���t���InstalledSDKListR���t���InstalledSDKMapt���SupportedSDKListR���R���t���append(���t���sdk(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���get_installed_sdks����s���� � c���������C���sy��t��d�|���y�t�|�}�Wn/t�j �o#g��}�|�t�|�<t�i�i�|�d���}�t�i�i�|�d���}�t�i�i�|�d���}�t�i�i�|���o�|�i�d�|�f���n�t�i�i�|���o�|�i�d�|�f���n�|�i�d�|�f���|�i�d�t�i�i�|�d���f���|�i�d�t�i�i�|�d���f���|�i�d �t�i�i�|�d ���f���n�Xx$�|�D]�\�}�}�|��i�|�|���qUWd��S(���Ns"���set_sdk_by_directory: Using dir:%sR3���t���mfct���atlt���INCLUDEt���LIBR5���t���LIBPATHt���PATHt���bin( ���R ���t���SDKEnvironmentUpdatest���KeyErrorR���R���R���R���R<���t���PrependENVPath(���t���envR���t���env_tuple_listt���include_patht���mfc_patht���atl_patht���variablet ���directory(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���set_sdk_by_directory��s(���� ""'�c����������C���s����t��i�i�p�t�d���d�Sy!�t�i�t���}��t�d�|����Wn �t�j �o�}�t�d���d�SXt �i �i�|����p�t�d�|����d�S|��S(���st���Try to find the platform sdk directory from the registry. Return None if failed or the directory does not exists���SCons cannot read registrys%���Found current sdk dir in registry: %ss$���Did not find current sdk in registrys���Current sdk dir %s not on fsN(���R���R���R ���R ���R���R���R���t���_CURINSTALLED_SDK_HKEY_ROOTR���R���R���R���(���t���valR���(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���get_cur_sdk_dir_from_reg#��s���� c���������C���sG���|��t��j�o&�d�t�|����}�t�i�i�|�����n�t����t�i�|����S(���Ns���SDK version %s is not supported(���t���SupportedSDKMapR���R���t���Errorst ���UserErrorR>���R:���R"���(���t���mssdkt���msg(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���get_sdk_by_version8��s ���� c�����������C���s���t�����t�p�d�St�d�S(���s(���Set up the default Platform/Windows SDK.i����N(���R>���R9���R���(����(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���get_default_sdk?��s����c���������C���s��t��d���d�|��j�o=�|��d�}�|�d��j�o�d��S|��i�|���}�t��d�|���n�d�|��j�ov�|��d�}�|�d��j�o&�d�t�|���}�t�i�i�|�����n�|��i�|���}�t�|���}�|�i����}�t��d�|���n0d�|��j�o��|��d�}�t��d�|���|�d��j�o�t��d ���d��S|��i�|���}�d �d��k �}�|�i �|���}�t��d�|���|�p�t��d�|���d��S|�i�}�t��d �|���|�p�d��St�|���}�|�p�t����}�|�p�d��Sn�|�i����}�t��d�|���n0�t����}�|�p�d��S|�i����}�t��d�|���t �|��|���d��S(���Ns���sdk.py:mssdk_setup_env()t ���MSSDK_DIRs*���sdk.py:mssdk_setup_env: Using MSSDK_DIR:%st ���MSSDK_VERSIONs���SDK version %s is not installeds.���sdk.py:mssdk_setup_env: Using MSSDK_VERSION:%st���MSVS_VERSIONs7���sdk.py:mssdk_setup_env:Getting MSVS_VERSION from env:%ss2���sdk.py:mssdk_setup_env thinks msvs_version is Nonei����s"���sdk.py:mssdk_setup_env:msvs is :%ss=���sdk.py:mssdk_setup_env: no VS version detected, bailingout:%ss���sdk.py:msvs.sdk_version is %ss-���sdk.py:mssdk_setup_env: Using MSVS_VERSION:%ss<���sdk.py:mssdk_setup_env: not using any env values. sdk_dir:%s(���R ���R���t���substR���R���RU���RV���RY���R���t���vst���get_vs_by_versiont���sdk_versionRZ���RP���(���RI���R���Ra���RW���RX���t���msvs_versionR_���t���msvs(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���mssdk_setup_envI��s\���� c���������C���s1���t�����}�|��d��j�o�t�|���d�j�S|��|�j�S(���Ni����(���R>���R���t���len(���R���t���sdks(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���mssdk_exists}��s���� (���t���__revision__R*���R���t���SCons.ErrorsR���t ���SCons.UtilR���R ���RQ���t���objectR����R+���R-���t���preSDK61VCSetupScriptst���SDK61VCSetupScriptst���SDK70VCSetupScriptsR;���RT���R=���R���R���R9���R:���R>���RF���RP���RS���RY���RZ���Rd���Rg���(����(����(����s:���install/lib/scons-2.0.0.final.0/SCons/Tool/MSCommon/sdk.pyt���<module>���s���� C � 4