OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """Copies necessary add-in files into place to install the add-in. | 6 """Copies necessary add-in files into place to install the add-in. |
7 | 7 |
8 This script will copy the necessary files for the Visual Studio add-in | 8 This script will copy the necessary files for the Visual Studio add-in |
9 to where Visual Studio can find them. It assumes the current directory | 9 to where Visual Studio can find them. It assumes the current directory |
10 contains the necessary files to copy. | 10 contains the necessary files to copy. |
11 """ | 11 """ |
12 | 12 |
13 import create_ppapi_platform | 13 import create_ppapi_platform |
14 import ctypes | 14 import ctypes |
15 import os | 15 import os |
16 import optparse | 16 import optparse |
17 import platform | 17 import platform |
18 import shutil | 18 import shutil |
19 import sys | 19 import sys |
20 import time | 20 import time |
21 | 21 |
22 NACL32_PLATFORM = 'NaCl32' | 22 NACL32_PLATFORM = 'NaCl32' |
23 NACL64_PLATFORM = 'NaCl64' | 23 NACL64_PLATFORM = 'NaCl64' |
| 24 PNACL_PLATFORM = 'PNaCl' |
24 NACL_PLATFORM_OLD = 'NaCl' | 25 NACL_PLATFORM_OLD = 'NaCl' |
25 PEPPER_PLATFORM = 'PPAPI' | 26 PEPPER_PLATFORM = 'PPAPI' |
26 | 27 |
27 DEFAULT_VS_USER_DIRECTORY = os.path.expandvars( | 28 DEFAULT_VS_USER_DIRECTORY = os.path.expandvars( |
28 '%USERPROFILE%\\My Documents\\Visual Studio 2010') | 29 '%USERPROFILE%\\My Documents\\Visual Studio 2010') |
29 | 30 |
30 SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) | 31 SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) |
31 | 32 |
32 ADDIN_FILES = ['NativeClientVSAddIn.AddIn', 'NativeClientVSAddIn.dll'] | 33 ADDIN_FILES = ['NativeClientVSAddIn.AddIn', 'NativeClientVSAddIn.dll'] |
33 | 34 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 # Admin is needed to write to the default platform directory. | 156 # Admin is needed to write to the default platform directory. |
156 if ctypes.windll.shell32.IsUserAnAdmin() != 1: | 157 if ctypes.windll.shell32.IsUserAnAdmin() != 1: |
157 raise InstallError("Not running as administrator. The install script " | 158 raise InstallError("Not running as administrator. The install script " |
158 "needs write access to protected Visual Studio " | 159 "needs write access to protected Visual Studio " |
159 "directories.") | 160 "directories.") |
160 raise InstallError("install script needs write access to: %s" | 161 raise InstallError("install script needs write access to: %s" |
161 % platform_root) | 162 % platform_root) |
162 | 163 |
163 nacl_directory32 = os.path.join(platform_root, NACL32_PLATFORM) | 164 nacl_directory32 = os.path.join(platform_root, NACL32_PLATFORM) |
164 nacl_directory64 = os.path.join(platform_root, NACL64_PLATFORM) | 165 nacl_directory64 = os.path.join(platform_root, NACL64_PLATFORM) |
| 166 pnacl_directory = os.path.join(platform_root, PNACL_PLATFORM) |
165 nacl_directoryold = os.path.join(platform_root, NACL_PLATFORM_OLD) | 167 nacl_directoryold = os.path.join(platform_root, NACL_PLATFORM_OLD) |
166 nacl_common = os.path.join(os.path.dirname(platform_root), 'NaCl') | 168 nacl_common = os.path.join(os.path.dirname(platform_root), 'NaCl') |
167 pepper_directory = os.path.join(platform_root, PEPPER_PLATFORM) | 169 pepper_directory = os.path.join(platform_root, PEPPER_PLATFORM) |
168 remove_dirs = (nacl_directory32, nacl_directory64, | 170 remove_dirs = (nacl_directory32, nacl_directory64, pnacl_directory, |
169 nacl_directoryold, pepper_directory, nacl_common) | 171 nacl_directoryold, pepper_directory, nacl_common) |
170 # If uninstalling then redirect to uninstall program. | 172 # If uninstalling then redirect to uninstall program. |
171 if options.uninstall: | 173 if options.uninstall: |
172 Uninstall(remove_dirs, addin_directory) | 174 Uninstall(remove_dirs, addin_directory) |
173 print "\nUninstall complete!\n" | 175 print "\nUninstall complete!\n" |
174 sys.exit(0) | 176 sys.exit(0) |
175 | 177 |
176 if not os.path.exists(platform_root): | 178 if not os.path.exists(platform_root): |
177 raise InstallError("Could not find path: %s" % platform_root) | 179 raise InstallError("Could not find path: %s" % platform_root) |
178 if not os.path.exists(addin_directory): | 180 if not os.path.exists(addin_directory): |
179 os.makedirs(addin_directory) | 181 os.makedirs(addin_directory) |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 | 223 |
222 shutil.copytree(os.path.join(SCRIPT_DIR, 'NaCl'), nacl_common) | 224 shutil.copytree(os.path.join(SCRIPT_DIR, 'NaCl'), nacl_common) |
223 print "NaCl common resources installed." | 225 print "NaCl common resources installed." |
224 | 226 |
225 shutil.copytree(os.path.join(SCRIPT_DIR, NACL32_PLATFORM), nacl_directory32) | 227 shutil.copytree(os.path.join(SCRIPT_DIR, NACL32_PLATFORM), nacl_directory32) |
226 print "NaCl32 platform installed." | 228 print "NaCl32 platform installed." |
227 | 229 |
228 shutil.copytree(os.path.join(SCRIPT_DIR, NACL64_PLATFORM), nacl_directory64) | 230 shutil.copytree(os.path.join(SCRIPT_DIR, NACL64_PLATFORM), nacl_directory64) |
229 print "NaCl64 platform installed." | 231 print "NaCl64 platform installed." |
230 | 232 |
| 233 shutil.copytree(os.path.join(SCRIPT_DIR, PNACL_PLATFORM), pnacl_directory) |
| 234 print "PNaCl platform installed." |
| 235 |
231 if options.install_ppapi: | 236 if options.install_ppapi: |
232 create_ppapi_platform.CreatePPAPI(options.msbuild_path) | 237 create_ppapi_platform.CreatePPAPI(options.msbuild_path) |
233 print "PPAPI platform installed." | 238 print "PPAPI platform installed." |
234 except: | 239 except: |
235 print "\nException occured! Rolling back install...\n" | 240 print "\nException occured! Rolling back install...\n" |
236 Uninstall(remove_dirs, addin_directory) | 241 Uninstall(remove_dirs, addin_directory) |
237 raise | 242 raise |
238 else: | 243 else: |
239 print "\nInstallation complete!\n" | 244 print "\nInstallation complete!\n" |
240 | 245 |
(...skipping 14 matching lines...) Expand all Loading... |
255 print e | 260 print e |
256 print("The install script failed to write to the files mentioned above") | 261 print("The install script failed to write to the files mentioned above") |
257 if ctypes.windll.shell32.IsUserAnAdmin() != 1: | 262 if ctypes.windll.shell32.IsUserAnAdmin() != 1: |
258 print("Please try running as administrator.") | 263 print("Please try running as administrator.") |
259 else: | 264 else: |
260 print("Please check for any running programs that might " | 265 print("Please check for any running programs that might " |
261 "have them locked.") | 266 "have them locked.") |
262 else: | 267 else: |
263 raise | 268 raise |
264 sys.exit(rtn) | 269 sys.exit(rtn) |
OLD | NEW |