| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Utility functions for Windows builds. | 5 """Utility functions for Windows builds. |
| 6 | 6 |
| 7 This file is copied to the build directory as part of toolchain setup and | 7 This file is copied to the build directory as part of toolchain setup and |
| 8 is used to set up calls to tools used by the build that need wrappers. | 8 is used to set up calls to tools used by the build that need wrappers. |
| 9 """ | 9 """ |
| 10 | 10 |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 env = self._GetEnv(arch) | 308 env = self._GetEnv(arch) |
| 309 # TODO(scottmg): This is a temporary hack to get some specific variables | 309 # TODO(scottmg): This is a temporary hack to get some specific variables |
| 310 # through to actions that are set after GN-time. http://crbug.com/333738. | 310 # through to actions that are set after GN-time. http://crbug.com/333738. |
| 311 for k, v in os.environ.iteritems(): | 311 for k, v in os.environ.iteritems(): |
| 312 if k not in env: | 312 if k not in env: |
| 313 env[k] = v | 313 env[k] = v |
| 314 args = open(rspfile).read() | 314 args = open(rspfile).read() |
| 315 dirname = dirname[0] if dirname else None | 315 dirname = dirname[0] if dirname else None |
| 316 return subprocess.call(args, shell=True, env=env, cwd=dirname) | 316 return subprocess.call(args, shell=True, env=env, cwd=dirname) |
| 317 | 317 |
| 318 def ExecClCompile(self, project_dir, selected_files): | |
| 319 """Executed by msvs-ninja projects when the 'ClCompile' target is used to | |
| 320 build selected C/C++ files.""" | |
| 321 project_dir = os.path.relpath(project_dir, BASE_DIR) | |
| 322 selected_files = selected_files.split(';') | |
| 323 ninja_targets = [os.path.join(project_dir, filename) + '^^' | |
| 324 for filename in selected_files] | |
| 325 cmd = ['ninja.exe'] | |
| 326 cmd.extend(ninja_targets) | |
| 327 return subprocess.call(cmd, shell=True, cwd=BASE_DIR) | |
| 328 | 318 |
| 329 if __name__ == '__main__': | 319 if __name__ == '__main__': |
| 330 sys.exit(main(sys.argv[1:])) | 320 sys.exit(main(sys.argv[1:])) |
| OLD | NEW |