Remove vestigial support for in-Chromium GYP build

Chromium’s GYP build has been removed. The support added to Crashpad’s
GYP build to integrate with Chromium’s is now unused and unnecessary.
Chromium builds Crashpad as part of its own GN build.

https://groups.google.com/a/chromium.org/d/topic/chromium-dev/NZkPr-CXvQ0

Change-Id: I30f2d3453f4476037c9afe0714a780456f0bbcd6
Reviewed-on: https://chromium-review.googlesource.com/444044
Reviewed-by: Robert Sesek <rsesek@chromium.org>
This commit is contained in:
Mark Mentovai 2017-02-16 13:26:54 -05:00
parent 546e64cd0b
commit 4c6f6e52e2
6 changed files with 428 additions and 506 deletions

View File

@ -13,16 +13,12 @@
# limitations under the License.
{
# Crashpad can obtain dependencies in three different ways, directed by the
# crashpad_standalone GYP variable. It may have these values:
# Crashpads GYP build can obtain dependencies in two different ways, directed
# by the crashpad_standalone GYP variable. It may have these values:
# standalone
# A “standalone” Crashpad build, where the dependencies are in the
# Crashpad tree. third_party/mini_chromium and third_party/gtest provide
# the base and gtest libraries.
# chromium
# An in-Chromium build, where Crashpad is within the Chromium tree.
# Chromium provides its own base library and its copy of the gtest
# library.
# external
# A build with external dependencies. mini_chromium provides the base
# library, but its located outside of the Crashpad tree, as is gtest.
@ -30,13 +26,15 @@
# In order for Crashpads .gyp files to reference the correct versions
# depending on how dependencies are being provided, include this .gypi file
# and reference the crashpad_dependencies variable.
#
# Note that Crashpads in-Chromium build uses GN instead of GYP, and
# Chromiums GN build configures Crashpad to use Chromiums own base library
# and its copy of the gtest library.
'variables': {
# When building as a standalone project or with external dependencies,
# build/gyp_crashpad.py sets crashpad_dependencies to "standalone" or
# "external", and this % assignment will not override it. The variable will
# not be set by anything else when building as part of Chromium, so in that
# case, this will define it with value "chromium".
'crashpad_dependencies%': 'chromium',
# When with external dependencies, build/gyp_crashpad.py sets
# crashpad_dependencies to "external", and this % assignment will not
# override it.
'crashpad_dependencies%': 'standalone',
},
}

View File

@ -31,12 +31,12 @@ def ChooseDependencyPath(local_path, external_path):
external_path: The external path to fall back to.
Returns:
A 2-tuple. The first element is 'standalone' or 'external', depending on
whether local_path or external_path was chosen. The second element is the
chosen path.
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 ('standalone', local_path)
return (None, local_path)
return ('external', external_path)
@ -64,6 +64,7 @@ def main(args):
'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_dir])
args.extend(['--depth', crashpad_dir_or_dot])

View File

@ -15,7 +15,6 @@
{
'includes': [
'../build/crashpad.gypi',
'../build/crashpad_dependencies.gypi',
],
'targets': [
{
@ -66,29 +65,6 @@
],
'conditions': [
['OS=="mac"', {
# In an in-Chromium build with component=shared_library,
# crashpad_handler will depend on shared libraries such as
# libbase.dylib located in out/{Debug,Release} via the @rpath
# mechanism. When crashpad_handler is copied to its home deep inside
# the Chromium app bundle, it needs to have an LC_RPATH command
# pointing back to the directory containing these dependency
# libraries.
'variables': {
'component%': 'static_library',
},
'conditions': [
['crashpad_dependencies=="chromium" and component=="shared_library"', {
'xcode_settings': {
'LD_RUNPATH_SEARCH_PATHS': [ # -Wl,-rpath
# Get back from
# Chromium.app/Contents/Versions/V/Framework.framework/Helpers
'@loader_path/../../../../../..',
],
},
}],
],
}],
['OS=="win"', {
'msvs_settings': {
'VCLinkerTool': {

View File

@ -17,16 +17,19 @@
'../../build/crashpad_dependencies.gypi',
],
'conditions': [
['crashpad_dependencies!="chromium"', {
['1==1', { # Defer processing until crashpad_dependencies is set
'variables': {
'conditions': [
['crashpad_dependencies=="standalone"', {
'gmock_dir': 'gtest/googlemock',
}, {
}],
['crashpad_dependencies=="external"', {
'gmock_dir': '../../../../gmock',
}],
],
},
}],
],
'target_defaults': {
# gmock relies heavily on objects with static storage duration.
'xcode_settings': {
@ -200,29 +203,4 @@
],
},
],
}, { # else: crashpad_dependencies=="chromium"
'targets': [
{
'target_name': 'gmock',
'type': 'none',
'dependencies': [
'<(DEPTH)/testing/gmock.gyp:gmock',
],
'export_dependent_settings': [
'<(DEPTH)/testing/gmock.gyp:gmock',
],
},
{
'target_name': 'gmock_main',
'type': 'none',
'dependencies': [
'<(DEPTH)/testing/gmock.gyp:gmock_main',
],
'export_dependent_settings': [
'<(DEPTH)/testing/gmock.gyp:gmock_main',
],
},
],
}],
],
}

View File

@ -17,16 +17,19 @@
'../../build/crashpad_dependencies.gypi',
],
'conditions': [
['crashpad_dependencies!="chromium"', {
['1==1', { # Defer processing until crashpad_dependencies is set
'variables': {
'conditions': [
['crashpad_dependencies=="standalone"', {
'gtest_dir': 'gtest/googletest',
}, {
}],
['crashpad_dependencies=="external"', {
'gtest_dir': '../../../../gtest',
}],
],
},
}],
],
'target_defaults': {
# gtest relies heavily on objects with static storage duration.
'xcode_settings': {
@ -262,29 +265,4 @@
],
},
],
}, { # else: crashpad_dependencies=="chromium"
'targets': [
{
'target_name': 'gtest',
'type': 'none',
'dependencies': [
'<(DEPTH)/testing/gtest.gyp:gtest',
],
'export_dependent_settings': [
'<(DEPTH)/testing/gtest.gyp:gtest',
],
},
{
'target_name': 'gtest_main',
'type': 'none',
'dependencies': [
'<(DEPTH)/testing/gtest.gyp:gtest_main',
],
'export_dependent_settings': [
'<(DEPTH)/testing/gtest.gyp:gtest_main',
],
},
],
}],
],
}

View File

@ -18,11 +18,10 @@
],
'targets': [
{
# To support Crashpads standalone build, its in-Chromium build, and its
# build depending on external libraries, Crashpad code depending on base
# should do so through this shim, which will either get base from
# mini_chromium, Chromium, or an external library depending on the build
# type.
# To support Crashpads standalone build and its build depending on
# external libraries, Crashpad code depending on base should do so through
# this shim, which will either get base from mini_chromium or an external
# library depending on the build type.
'target_name': 'base',
'type': 'none',
'conditions': [
@ -34,14 +33,6 @@
'mini_chromium/base/base.gyp:base',
],
}],
['crashpad_dependencies=="chromium"', {
'dependencies': [
'<(DEPTH)/base/base.gyp:base',
],
'export_dependent_settings': [
'<(DEPTH)/base/base.gyp:base',
],
}],
['crashpad_dependencies=="external"', {
'dependencies': [
'../../../../mini_chromium/mini_chromium/base/base.gyp:base',