mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-26 23:01:05 +08:00
a5a1c3b07f
% yapf --in-place $(git ls-files **/*.py)
% yapf --version
yapf 0.30.0
Note that this is not using the “chromium” yapf style because Chromium
is moving to PEP-8.
https://groups.google.com/a/chromium.org/d/topic/chromium-dev/RcJgJdkNIdg
yapf 0.30.0 no longer recognizes “chromium” as a style option.
22ef70f3c4
Since this is a mass reformatting, it might as well move things all the
way into the future all at once.
This uses the “google” style, which is a superset of “pep8”.
Change-Id: Ifa37371079ea1859e4afe8e31d2eef2cfd7af384
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2165637
Commit-Queue: Mark Mentovai <mark@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
103 lines
3.7 KiB
Python
Executable File
103 lines
3.7 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
# Copyright 2014 The Crashpad Authors. All rights reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import os
|
|
import sys
|
|
|
|
|
|
def ChooseDependencyPath(local_path, external_path):
|
|
"""Chooses between a dependency located at local path and an external path.
|
|
|
|
The local path, used in standalone builds, is preferred. If it is not
|
|
present but the external path is, the external path will be used. If neither
|
|
path is present, the local path will be used, so that error messages
|
|
uniformly refer to the local path.
|
|
|
|
Args:
|
|
local_path: The preferred local path to use for a standalone build.
|
|
external_path: The external path to fall back to.
|
|
|
|
Returns:
|
|
A 2-tuple. The first element is None or 'external', depending on whether
|
|
local_path or external_path was chosen. The second element is the chosen
|
|
path.
|
|
"""
|
|
if os.path.exists(local_path) or not os.path.exists(external_path):
|
|
return (None, local_path)
|
|
return ('external', external_path)
|
|
|
|
|
|
script_dir = os.path.dirname(__file__)
|
|
crashpad_dir = (os.path.dirname(script_dir)
|
|
if script_dir not in ('', os.curdir) else os.pardir)
|
|
|
|
sys.path.insert(
|
|
0,
|
|
ChooseDependencyPath(
|
|
os.path.join(crashpad_dir, 'third_party', 'gyp', 'gyp', 'pylib'),
|
|
os.path.join(crashpad_dir, os.pardir, os.pardir, 'gyp', 'pylib'))[1])
|
|
|
|
import gyp
|
|
|
|
|
|
def main(args):
|
|
if 'GYP_GENERATORS' not in os.environ:
|
|
os.environ['GYP_GENERATORS'] = 'ninja'
|
|
|
|
crashpad_dir_or_dot = crashpad_dir if crashpad_dir is not '' else os.curdir
|
|
|
|
(dependencies, mini_chromium_common_gypi) = (ChooseDependencyPath(
|
|
os.path.join(crashpad_dir, 'third_party', 'mini_chromium',
|
|
'mini_chromium', 'build', 'common.gypi'),
|
|
os.path.join(crashpad_dir, os.pardir, os.pardir, 'mini_chromium',
|
|
'mini_chromium', 'build', 'common.gypi')))
|
|
if dependencies is not None:
|
|
args.extend(['-D', 'crashpad_dependencies=%s' % dependencies])
|
|
args.extend(['--include', mini_chromium_common_gypi])
|
|
args.extend(['--depth', crashpad_dir_or_dot])
|
|
args.append(os.path.join(crashpad_dir, 'crashpad.gyp'))
|
|
|
|
result = gyp.main(args)
|
|
if result != 0:
|
|
return result
|
|
|
|
if sys.platform == 'win32':
|
|
# Check to make sure that no target_arch was specified. target_arch may
|
|
# be set during a cross build, such as a cross build for Android.
|
|
has_target_arch = False
|
|
for arg_index in range(0, len(args)):
|
|
arg = args[arg_index]
|
|
if (arg.startswith('-Dtarget_arch=') or
|
|
(arg == '-D' and arg_index + 1 < len(args) and
|
|
args[arg_index + 1].startswith('target_arch='))):
|
|
has_target_arch = True
|
|
break
|
|
|
|
if not has_target_arch:
|
|
# Also generate the x86 build.
|
|
result = gyp.main(args +
|
|
['-D', 'target_arch=ia32', '-G', 'config=Debug'])
|
|
if result != 0:
|
|
return result
|
|
result = gyp.main(
|
|
args + ['-D', 'target_arch=ia32', '-G', 'config=Release'])
|
|
|
|
return result
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main(sys.argv[1:]))
|