Index: build/toolchain/wrapper_utils.py |
diff --git a/build/toolchain/wrapper_utils.py b/build/toolchain/wrapper_utils.py |
deleted file mode 100644 |
index 163a292c165cc0b484804aebfa693c02e5e7e871..0000000000000000000000000000000000000000 |
--- a/build/toolchain/wrapper_utils.py |
+++ /dev/null |
@@ -1,105 +0,0 @@ |
-# Copyright (c) 2016 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-"""Helper functions for gcc_toolchain.gni wrappers.""" |
- |
-import os |
-import re |
-import subprocess |
-import shlex |
-import sys |
- |
-_BAT_PREFIX = 'cmd /c call ' |
-_WHITELIST_RE = re.compile('whitelisted_resource_(?P<resource_id>[0-9]+)') |
- |
- |
-def CommandToRun(command): |
- """Generates commands compatible with Windows. |
- |
- When running on a Windows host and using a toolchain whose tools are |
- actually wrapper scripts (i.e. .bat files on Windows) rather than binary |
- executables, the |command| to run has to be prefixed with this magic. |
- The GN toolchain definitions take care of that for when GN/Ninja is |
- running the tool directly. When that command is passed in to this |
- script, it appears as a unitary string but needs to be split up so that |
- just 'cmd' is the actual command given to Python's subprocess module. |
- |
- Args: |
- command: List containing the UNIX style |command|. |
- |
- Returns: |
- A list containing the Windows version of the |command|. |
- """ |
- if command[0].startswith(_BAT_PREFIX): |
- command = command[0].split(None, 3) + command[1:] |
- return command |
- |
- |
-def ResolveRspLinks(inputs): |
- """Return a list of files contained in a response file. |
- |
- Args: |
- inputs: A command containing rsp files. |
- |
- Returns: |
- A set containing the rsp file content.""" |
- rspfiles = [a[1:] for a in inputs if a.startswith('@')] |
- resolved = set() |
- for rspfile in rspfiles: |
- with open(rspfile, 'r') as f: |
- resolved.update(shlex.split(f.read())) |
- |
- return resolved |
- |
- |
-def CombineResourceWhitelists(whitelist_candidates, outfile): |
- """Combines all whitelists for a resource file into a single whitelist. |
- |
- Args: |
- whitelist_candidates: List of paths to rsp files containing all targets. |
- outfile: Path to save the combined whitelist. |
- """ |
- whitelists = ('%s.whitelist' % candidate for candidate in whitelist_candidates |
- if os.path.exists('%s.whitelist' % candidate)) |
- |
- resources = set() |
- for whitelist in whitelists: |
- with open(whitelist, 'r') as f: |
- resources.update(f.readlines()) |
- |
- with open(outfile, 'w') as f: |
- f.writelines(resources) |
- |
- |
-def ExtractResourceIdsFromPragmaWarnings(text): |
- """Returns set of resource IDs that are inside unknown pragma warnings. |
- |
- Args: |
- text: The text that will be scanned for unknown pragma warnings. |
- |
- Returns: |
- A set containing integers representing resource IDs. |
- """ |
- used_resources = set() |
- lines = text.splitlines() |
- for ln in lines: |
- match = _WHITELIST_RE.search(ln) |
- if match: |
- resource_id = int(match.group('resource_id')) |
- used_resources.add(resource_id) |
- |
- return used_resources |
- |
- |
-def CaptureCommandStderr(command): |
- """Returns the stderr of a command. |
- |
- Args: |
- args: A list containing the command and arguments. |
- cwd: The working directory from where the command should be made. |
- env: Environment variables for the new process. |
- """ |
- child = subprocess.Popen(command, stderr=subprocess.PIPE) |
- _, stderr = child.communicate() |
- return child.returncode, stderr |