From 4c6f6e52e2d7d4459fb03c352e90023615351352 Mon Sep 17 00:00:00 2001 From: Mark Mentovai Date: Thu, 16 Feb 2017 13:26:54 -0500 Subject: [PATCH] Remove vestigial support for in-Chromium GYP build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- build/crashpad_dependencies.gypi | 22 +- build/gyp_crashpad.py | 11 +- handler/handler.gyp | 24 - third_party/gtest/gmock.gyp | 362 +++++++------- third_party/gtest/gtest.gyp | 498 ++++++++++---------- third_party/mini_chromium/mini_chromium.gyp | 17 +- 6 files changed, 428 insertions(+), 506 deletions(-) diff --git a/build/crashpad_dependencies.gypi b/build/crashpad_dependencies.gypi index 417d462b..7fd1cf66 100644 --- a/build/crashpad_dependencies.gypi +++ b/build/crashpad_dependencies.gypi @@ -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: + # Crashpad’s 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 it’s located outside of the Crashpad tree, as is gtest. @@ -30,13 +26,15 @@ # In order for Crashpad’s .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 Crashpad’s in-Chromium build uses GN instead of GYP, and + # Chromium’s GN build configures Crashpad to use Chromium’s 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', }, } diff --git a/build/gyp_crashpad.py b/build/gyp_crashpad.py index 741c8126..fe9da840 100755 --- a/build/gyp_crashpad.py +++ b/build/gyp_crashpad.py @@ -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,7 +64,8 @@ def main(args): 'mini_chromium', 'build', 'common.gypi'), os.path.join(crashpad_dir, os.pardir, os.pardir, 'mini_chromium', 'mini_chromium', 'build', 'common.gypi'))) - args.extend(['-D', 'crashpad_dependencies=%s' % dependencies]) + 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]) args.append(os.path.join(crashpad_dir, 'crashpad.gyp')) diff --git a/handler/handler.gyp b/handler/handler.gyp index e2d993df..6a51222c 100644 --- a/handler/handler.gyp +++ b/handler/handler.gyp @@ -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': { diff --git a/third_party/gtest/gmock.gyp b/third_party/gtest/gmock.gyp index 683b89e1..466de6a9 100644 --- a/third_party/gtest/gmock.gyp +++ b/third_party/gtest/gmock.gyp @@ -17,212 +17,190 @@ '../../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': { - 'WARNING_CFLAGS!': [ - '-Wexit-time-destructors', - ], - }, - 'cflags!': [ - '-Wexit-time-destructors', + }], + ], + 'target_defaults': { + # gmock relies heavily on objects with static storage duration. + 'xcode_settings': { + 'WARNING_CFLAGS!': [ + '-Wexit-time-destructors', + ], + }, + 'cflags!': [ + '-Wexit-time-destructors', + ], + }, + + 'targets': [ + { + 'target_name': 'gmock', + 'type': 'static_library', + 'dependencies': [ + 'gtest.gyp:gtest', + ], + 'include_dirs': [ + '<(gmock_dir)', + '<(gmock_dir)/include', + ], + 'sources': [ + '<(gmock_dir)/include/gmock/gmock-actions.h', + '<(gmock_dir)/include/gmock/gmock-cardinalities.h', + '<(gmock_dir)/include/gmock/gmock-generated-actions.h', + '<(gmock_dir)/include/gmock/gmock-generated-function-mockers.h', + '<(gmock_dir)/include/gmock/gmock-generated-matchers.h', + '<(gmock_dir)/include/gmock/gmock-generated-nice-strict.h', + '<(gmock_dir)/include/gmock/gmock-matchers.h', + '<(gmock_dir)/include/gmock/gmock-more-actions.h', + '<(gmock_dir)/include/gmock/gmock-more-matchers.h', + '<(gmock_dir)/include/gmock/gmock-spec-builders.h', + '<(gmock_dir)/include/gmock/gmock.h', + '<(gmock_dir)/include/gmock/internal/custom/gmock-generated-actions.h', + '<(gmock_dir)/include/gmock/internal/custom/gmock-matchers.h', + '<(gmock_dir)/include/gmock/internal/custom/gmock-port.h', + '<(gmock_dir)/include/gmock/internal/gmock-generated-internal-utils.h', + '<(gmock_dir)/include/gmock/internal/gmock-internal-utils.h', + '<(gmock_dir)/include/gmock/internal/gmock-port.h', + '<(gmock_dir)/src/gmock-all.cc', + '<(gmock_dir)/src/gmock-cardinalities.cc', + '<(gmock_dir)/src/gmock-internal-utils.cc', + '<(gmock_dir)/src/gmock-matchers.cc', + '<(gmock_dir)/src/gmock-spec-builders.cc', + '<(gmock_dir)/src/gmock.cc', + ], + 'sources!': [ + '<(gmock_dir)/src/gmock-all.cc', + ], + + 'direct_dependent_settings': { + 'include_dirs': [ + '<(gmock_dir)/include', ], - }, - - 'targets': [ - { - 'target_name': 'gmock', - 'type': 'static_library', - 'dependencies': [ - 'gtest.gyp:gtest', - ], - 'include_dirs': [ - '<(gmock_dir)', - '<(gmock_dir)/include', - ], - 'sources': [ - '<(gmock_dir)/include/gmock/gmock-actions.h', - '<(gmock_dir)/include/gmock/gmock-cardinalities.h', - '<(gmock_dir)/include/gmock/gmock-generated-actions.h', - '<(gmock_dir)/include/gmock/gmock-generated-function-mockers.h', - '<(gmock_dir)/include/gmock/gmock-generated-matchers.h', - '<(gmock_dir)/include/gmock/gmock-generated-nice-strict.h', - '<(gmock_dir)/include/gmock/gmock-matchers.h', - '<(gmock_dir)/include/gmock/gmock-more-actions.h', - '<(gmock_dir)/include/gmock/gmock-more-matchers.h', - '<(gmock_dir)/include/gmock/gmock-spec-builders.h', - '<(gmock_dir)/include/gmock/gmock.h', - '<(gmock_dir)/include/gmock/internal/custom/gmock-generated-actions.h', - '<(gmock_dir)/include/gmock/internal/custom/gmock-matchers.h', - '<(gmock_dir)/include/gmock/internal/custom/gmock-port.h', - '<(gmock_dir)/include/gmock/internal/gmock-generated-internal-utils.h', - '<(gmock_dir)/include/gmock/internal/gmock-internal-utils.h', - '<(gmock_dir)/include/gmock/internal/gmock-port.h', - '<(gmock_dir)/src/gmock-all.cc', - '<(gmock_dir)/src/gmock-cardinalities.cc', - '<(gmock_dir)/src/gmock-internal-utils.cc', - '<(gmock_dir)/src/gmock-matchers.cc', - '<(gmock_dir)/src/gmock-spec-builders.cc', - '<(gmock_dir)/src/gmock.cc', - ], - 'sources!': [ - '<(gmock_dir)/src/gmock-all.cc', - ], - - 'direct_dependent_settings': { - 'include_dirs': [ - '<(gmock_dir)/include', - ], + 'conditions': [ + ['clang!=0', { + # The MOCK_METHODn() macros do not specify “override”, which + # triggers this warning in users: “error: 'Method' overrides a + # member function but is not marked 'override' + # [-Werror,-Winconsistent-missing-override]”. Suppress these + # warnings, and add -Wno-unknown-warning-option because only + # recent versions of clang (trunk r220703 and later, version + # 3.6 and later) recognize it. 'conditions': [ - ['clang!=0', { - # The MOCK_METHODn() macros do not specify “override”, which - # triggers this warning in users: “error: 'Method' overrides a - # member function but is not marked 'override' - # [-Werror,-Winconsistent-missing-override]”. Suppress these - # warnings, and add -Wno-unknown-warning-option because only - # recent versions of clang (trunk r220703 and later, version - # 3.6 and later) recognize it. - 'conditions': [ - ['OS=="mac"', { - 'xcode_settings': { - 'WARNING_CFLAGS': [ - '-Wno-inconsistent-missing-override', - '-Wno-unknown-warning-option', - ], - }, - }], - ['OS=="linux"', { - 'cflags': [ - '-Wno-inconsistent-missing-override', - '-Wno-unknown-warning-option', - ], - }], + ['OS=="mac"', { + 'xcode_settings': { + 'WARNING_CFLAGS': [ + '-Wno-inconsistent-missing-override', + '-Wno-unknown-warning-option', + ], + }, + }], + ['OS=="linux"', { + 'cflags': [ + '-Wno-inconsistent-missing-override', + '-Wno-unknown-warning-option', ], }], ], - }, - 'export_dependent_settings': [ - 'gtest.gyp:gtest', - ], - }, - { - 'target_name': 'gmock_main', - 'type': 'static_library', - 'dependencies': [ - 'gmock', - 'gtest.gyp:gtest', - ], - 'sources': [ - '<(gmock_dir)/src/gmock_main.cc', - ], - }, - { - 'target_name': 'gmock_test_executable', - 'type': 'none', - 'dependencies': [ - 'gmock', - 'gtest.gyp:gtest', - ], - 'direct_dependent_settings': { - 'type': 'executable', - 'include_dirs': [ - '<(gmock_dir)', - ], - }, - 'export_dependent_settings': [ - 'gmock', - 'gtest.gyp:gtest', - ], - }, - { - 'target_name': 'gmock_all_test', - 'dependencies': [ - 'gmock_test_executable', - 'gmock_main', - ], - 'include_dirs': [ - 'gtest/googletest', - ], - 'sources': [ - '<(gmock_dir)/test/gmock-actions_test.cc', - '<(gmock_dir)/test/gmock-cardinalities_test.cc', - '<(gmock_dir)/test/gmock-generated-actions_test.cc', - '<(gmock_dir)/test/gmock-generated-function-mockers_test.cc', - '<(gmock_dir)/test/gmock-generated-internal-utils_test.cc', - '<(gmock_dir)/test/gmock-generated-matchers_test.cc', - '<(gmock_dir)/test/gmock-internal-utils_test.cc', - '<(gmock_dir)/test/gmock-matchers_test.cc', - '<(gmock_dir)/test/gmock-more-actions_test.cc', - '<(gmock_dir)/test/gmock-nice-strict_test.cc', - '<(gmock_dir)/test/gmock-port_test.cc', - '<(gmock_dir)/test/gmock-spec-builders_test.cc', - '<(gmock_dir)/test/gmock_test.cc', - ], - }, - { - 'target_name': 'gmock_link_test', - 'dependencies': [ - 'gmock_test_executable', - 'gmock_main', - ], - 'sources': [ - '<(gmock_dir)/test/gmock_link_test.cc', - '<(gmock_dir)/test/gmock_link_test.h', - '<(gmock_dir)/test/gmock_link2_test.cc', - ], - }, - { - 'target_name': 'gmock_stress_test', - 'dependencies': [ - 'gmock_test_executable', - ], - 'sources': [ - '<(gmock_dir)/test/gmock_stress_test.cc', - ], - }, - { - 'target_name': 'gmock_all_tests', - 'type': 'none', - 'dependencies': [ - 'gmock_all_test', - 'gmock_link_test', - 'gmock_stress_test', - ], - }, + }], + ], + }, + 'export_dependent_settings': [ + 'gtest.gyp:gtest', ], - }, { # 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', - ], - }, + }, + { + 'target_name': 'gmock_main', + 'type': 'static_library', + 'dependencies': [ + 'gmock', + 'gtest.gyp:gtest', ], - }], + 'sources': [ + '<(gmock_dir)/src/gmock_main.cc', + ], + }, + { + 'target_name': 'gmock_test_executable', + 'type': 'none', + 'dependencies': [ + 'gmock', + 'gtest.gyp:gtest', + ], + 'direct_dependent_settings': { + 'type': 'executable', + 'include_dirs': [ + '<(gmock_dir)', + ], + }, + 'export_dependent_settings': [ + 'gmock', + 'gtest.gyp:gtest', + ], + }, + { + 'target_name': 'gmock_all_test', + 'dependencies': [ + 'gmock_test_executable', + 'gmock_main', + ], + 'include_dirs': [ + 'gtest/googletest', + ], + 'sources': [ + '<(gmock_dir)/test/gmock-actions_test.cc', + '<(gmock_dir)/test/gmock-cardinalities_test.cc', + '<(gmock_dir)/test/gmock-generated-actions_test.cc', + '<(gmock_dir)/test/gmock-generated-function-mockers_test.cc', + '<(gmock_dir)/test/gmock-generated-internal-utils_test.cc', + '<(gmock_dir)/test/gmock-generated-matchers_test.cc', + '<(gmock_dir)/test/gmock-internal-utils_test.cc', + '<(gmock_dir)/test/gmock-matchers_test.cc', + '<(gmock_dir)/test/gmock-more-actions_test.cc', + '<(gmock_dir)/test/gmock-nice-strict_test.cc', + '<(gmock_dir)/test/gmock-port_test.cc', + '<(gmock_dir)/test/gmock-spec-builders_test.cc', + '<(gmock_dir)/test/gmock_test.cc', + ], + }, + { + 'target_name': 'gmock_link_test', + 'dependencies': [ + 'gmock_test_executable', + 'gmock_main', + ], + 'sources': [ + '<(gmock_dir)/test/gmock_link_test.cc', + '<(gmock_dir)/test/gmock_link_test.h', + '<(gmock_dir)/test/gmock_link2_test.cc', + ], + }, + { + 'target_name': 'gmock_stress_test', + 'dependencies': [ + 'gmock_test_executable', + ], + 'sources': [ + '<(gmock_dir)/test/gmock_stress_test.cc', + ], + }, + { + 'target_name': 'gmock_all_tests', + 'type': 'none', + 'dependencies': [ + 'gmock_all_test', + 'gmock_link_test', + 'gmock_stress_test', + ], + }, ], } diff --git a/third_party/gtest/gtest.gyp b/third_party/gtest/gtest.gyp index e01adaf5..ad458936 100644 --- a/third_party/gtest/gtest.gyp +++ b/third_party/gtest/gtest.gyp @@ -17,274 +17,252 @@ '../../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': { - 'WARNING_CFLAGS!': [ - '-Wexit-time-destructors', - ], - }, - 'cflags!': [ - '-Wexit-time-destructors', - ], - }, - - 'targets': [ - { - 'target_name': 'gtest', - 'type': 'static_library', - 'include_dirs': [ - '<(gtest_dir)', - '<(gtest_dir)/include', - ], - 'sources': [ - '<(gtest_dir)/include/gtest/gtest-death-test.h', - '<(gtest_dir)/include/gtest/gtest-message.h', - '<(gtest_dir)/include/gtest/gtest-param-test.h', - '<(gtest_dir)/include/gtest/gtest-printers.h', - '<(gtest_dir)/include/gtest/gtest-spi.h', - '<(gtest_dir)/include/gtest/gtest-test-part.h', - '<(gtest_dir)/include/gtest/gtest-typed-test.h', - '<(gtest_dir)/include/gtest/gtest.h', - '<(gtest_dir)/include/gtest/gtest_pred_impl.h', - '<(gtest_dir)/include/gtest/gtest_prod.h', - '<(gtest_dir)/include/gtest/internal/custom/gtest-port.h', - '<(gtest_dir)/include/gtest/internal/custom/gtest-printers.h', - '<(gtest_dir)/include/gtest/internal/custom/gtest.h', - '<(gtest_dir)/include/gtest/internal/gtest-death-test-internal.h', - '<(gtest_dir)/include/gtest/internal/gtest-filepath.h', - '<(gtest_dir)/include/gtest/internal/gtest-internal.h', - '<(gtest_dir)/include/gtest/internal/gtest-linked_ptr.h', - '<(gtest_dir)/include/gtest/internal/gtest-param-util-generated.h', - '<(gtest_dir)/include/gtest/internal/gtest-param-util.h', - '<(gtest_dir)/include/gtest/internal/gtest-port-arch.h', - '<(gtest_dir)/include/gtest/internal/gtest-port.h', - '<(gtest_dir)/include/gtest/internal/gtest-string.h', - '<(gtest_dir)/include/gtest/internal/gtest-tuple.h', - '<(gtest_dir)/include/gtest/internal/gtest-type-util.h', - '<(gtest_dir)/src/gtest-all.cc', - '<(gtest_dir)/src/gtest-death-test.cc', - '<(gtest_dir)/src/gtest-filepath.cc', - '<(gtest_dir)/src/gtest-internal-inl.h', - '<(gtest_dir)/src/gtest-port.cc', - '<(gtest_dir)/src/gtest-printers.cc', - '<(gtest_dir)/src/gtest-test-part.cc', - '<(gtest_dir)/src/gtest-typed-test.cc', - '<(gtest_dir)/src/gtest.cc', - ], - 'sources!': [ - '<(gtest_dir)/src/gtest-all.cc', - ], - 'direct_dependent_settings': { - 'include_dirs': [ - '<(gtest_dir)/include', - ], - }, - 'conditions': [ - ['crashpad_dependencies=="external"', { - 'include_dirs': [ - '<(gtest_dir)/../..', - ], - 'defines': [ - 'GUNIT_NO_GOOGLE3=1', - ], - 'direct_dependent_settings': { - 'include_dirs': [ - '<(gtest_dir)/../..', - ], - 'defines': [ - 'GUNIT_NO_GOOGLE3=1', - ], - }, - }], - ], - }, - { - 'target_name': 'gtest_main', - 'type': 'static_library', - 'dependencies': [ - 'gtest', - ], - 'sources': [ - '<(gtest_dir)/src/gtest_main.cc', - ], - }, - { - 'target_name': 'gtest_test_executable', - 'type': 'none', - 'dependencies': [ - 'gtest', - ], - 'direct_dependent_settings': { - 'type': 'executable', - 'include_dirs': [ - '<(gtest_dir)', - ], - }, - 'export_dependent_settings': [ - 'gtest', - ], - }, - { - 'target_name': 'gtest_all_test', - 'dependencies': [ - 'gtest_test_executable', - 'gtest_main', - ], - 'sources': [ - '<(gtest_dir)/test/gtest-death-test_test.cc', - '<(gtest_dir)/test/gtest-filepath_test.cc', - '<(gtest_dir)/test/gtest-linked_ptr_test.cc', - '<(gtest_dir)/test/gtest-message_test.cc', - '<(gtest_dir)/test/gtest-options_test.cc', - '<(gtest_dir)/test/gtest-port_test.cc', - '<(gtest_dir)/test/gtest-printers_test.cc', - '<(gtest_dir)/test/gtest-test-part_test.cc', - '<(gtest_dir)/test/gtest-typed-test2_test.cc', - '<(gtest_dir)/test/gtest-typed-test_test.cc', - '<(gtest_dir)/test/gtest-typed-test_test.h', - '<(gtest_dir)/test/gtest_main_unittest.cc', - '<(gtest_dir)/test/gtest_pred_impl_unittest.cc', - '<(gtest_dir)/test/gtest_prod_test.cc', - '<(gtest_dir)/test/gtest_unittest.cc', - '<(gtest_dir)/test/production.cc', - '<(gtest_dir)/test/production.h', - ], - }, - { - 'target_name': 'gtest_environment_test', - 'dependencies': [ - 'gtest_test_executable', - ], - 'sources': [ - '<(gtest_dir)/test/gtest_environment_test.cc', - ], - }, - { - 'target_name': 'gtest_listener_test', - 'dependencies': [ - 'gtest_test_executable', - ], - 'sources': [ - '<(gtest_dir)/test/gtest-listener_test.cc', - ], - }, - { - 'target_name': 'gtest_no_test', - 'dependencies': [ - 'gtest_test_executable', - ], - 'sources': [ - '<(gtest_dir)/test/gtest_no_test_unittest.cc', - ], - }, - { - 'target_name': 'gtest_param_test', - 'dependencies': [ - 'gtest_test_executable', - ], - 'sources': [ - '<(gtest_dir)/test/gtest-param-test2_test.cc', - '<(gtest_dir)/test/gtest-param-test_test.cc', - '<(gtest_dir)/test/gtest-param-test_test.h', - ], - }, - { - 'target_name': 'gtest_premature_exit_test', - 'dependencies': [ - 'gtest_test_executable', - ], - 'sources': [ - '<(gtest_dir)/test/gtest_premature_exit_test.cc', - ], - }, - { - 'target_name': 'gtest_repeat_test', - 'dependencies': [ - 'gtest_test_executable', - ], - 'sources': [ - '<(gtest_dir)/test/gtest_repeat_test.cc', - ], - }, - { - 'target_name': 'gtest_sole_header_test', - 'dependencies': [ - 'gtest_test_executable', - 'gtest_main', - ], - 'sources': [ - '<(gtest_dir)/test/gtest_sole_header_test.cc', - ], - }, - { - 'target_name': 'gtest_stress_test', - 'dependencies': [ - 'gtest_test_executable', - ], - 'sources': [ - '<(gtest_dir)/test/gtest_stress_test.cc', - ], - }, - { - 'target_name': 'gtest_unittest_api_test', - 'dependencies': [ - 'gtest_test_executable', - ], - 'sources': [ - '<(gtest_dir)/test/gtest-unittest-api_test.cc', - ], - }, - { - 'target_name': 'gtest_all_tests', - 'type': 'none', - 'dependencies': [ - 'gtest_all_test', - 'gtest_environment_test', - 'gtest_listener_test', - 'gtest_no_test', - 'gtest_param_test', - 'gtest_premature_exit_test', - 'gtest_repeat_test', - 'gtest_sole_header_test', - 'gtest_stress_test', - 'gtest_unittest_api_test', - ], - }, - ], - }, { # 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', - ], - }, - ], }], ], + 'target_defaults': { + # gtest relies heavily on objects with static storage duration. + 'xcode_settings': { + 'WARNING_CFLAGS!': [ + '-Wexit-time-destructors', + ], + }, + 'cflags!': [ + '-Wexit-time-destructors', + ], + }, + + 'targets': [ + { + 'target_name': 'gtest', + 'type': 'static_library', + 'include_dirs': [ + '<(gtest_dir)', + '<(gtest_dir)/include', + ], + 'sources': [ + '<(gtest_dir)/include/gtest/gtest-death-test.h', + '<(gtest_dir)/include/gtest/gtest-message.h', + '<(gtest_dir)/include/gtest/gtest-param-test.h', + '<(gtest_dir)/include/gtest/gtest-printers.h', + '<(gtest_dir)/include/gtest/gtest-spi.h', + '<(gtest_dir)/include/gtest/gtest-test-part.h', + '<(gtest_dir)/include/gtest/gtest-typed-test.h', + '<(gtest_dir)/include/gtest/gtest.h', + '<(gtest_dir)/include/gtest/gtest_pred_impl.h', + '<(gtest_dir)/include/gtest/gtest_prod.h', + '<(gtest_dir)/include/gtest/internal/custom/gtest-port.h', + '<(gtest_dir)/include/gtest/internal/custom/gtest-printers.h', + '<(gtest_dir)/include/gtest/internal/custom/gtest.h', + '<(gtest_dir)/include/gtest/internal/gtest-death-test-internal.h', + '<(gtest_dir)/include/gtest/internal/gtest-filepath.h', + '<(gtest_dir)/include/gtest/internal/gtest-internal.h', + '<(gtest_dir)/include/gtest/internal/gtest-linked_ptr.h', + '<(gtest_dir)/include/gtest/internal/gtest-param-util-generated.h', + '<(gtest_dir)/include/gtest/internal/gtest-param-util.h', + '<(gtest_dir)/include/gtest/internal/gtest-port-arch.h', + '<(gtest_dir)/include/gtest/internal/gtest-port.h', + '<(gtest_dir)/include/gtest/internal/gtest-string.h', + '<(gtest_dir)/include/gtest/internal/gtest-tuple.h', + '<(gtest_dir)/include/gtest/internal/gtest-type-util.h', + '<(gtest_dir)/src/gtest-all.cc', + '<(gtest_dir)/src/gtest-death-test.cc', + '<(gtest_dir)/src/gtest-filepath.cc', + '<(gtest_dir)/src/gtest-internal-inl.h', + '<(gtest_dir)/src/gtest-port.cc', + '<(gtest_dir)/src/gtest-printers.cc', + '<(gtest_dir)/src/gtest-test-part.cc', + '<(gtest_dir)/src/gtest-typed-test.cc', + '<(gtest_dir)/src/gtest.cc', + ], + 'sources!': [ + '<(gtest_dir)/src/gtest-all.cc', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(gtest_dir)/include', + ], + }, + 'conditions': [ + ['crashpad_dependencies=="external"', { + 'include_dirs': [ + '<(gtest_dir)/../..', + ], + 'defines': [ + 'GUNIT_NO_GOOGLE3=1', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(gtest_dir)/../..', + ], + 'defines': [ + 'GUNIT_NO_GOOGLE3=1', + ], + }, + }], + ], + }, + { + 'target_name': 'gtest_main', + 'type': 'static_library', + 'dependencies': [ + 'gtest', + ], + 'sources': [ + '<(gtest_dir)/src/gtest_main.cc', + ], + }, + { + 'target_name': 'gtest_test_executable', + 'type': 'none', + 'dependencies': [ + 'gtest', + ], + 'direct_dependent_settings': { + 'type': 'executable', + 'include_dirs': [ + '<(gtest_dir)', + ], + }, + 'export_dependent_settings': [ + 'gtest', + ], + }, + { + 'target_name': 'gtest_all_test', + 'dependencies': [ + 'gtest_test_executable', + 'gtest_main', + ], + 'sources': [ + '<(gtest_dir)/test/gtest-death-test_test.cc', + '<(gtest_dir)/test/gtest-filepath_test.cc', + '<(gtest_dir)/test/gtest-linked_ptr_test.cc', + '<(gtest_dir)/test/gtest-message_test.cc', + '<(gtest_dir)/test/gtest-options_test.cc', + '<(gtest_dir)/test/gtest-port_test.cc', + '<(gtest_dir)/test/gtest-printers_test.cc', + '<(gtest_dir)/test/gtest-test-part_test.cc', + '<(gtest_dir)/test/gtest-typed-test2_test.cc', + '<(gtest_dir)/test/gtest-typed-test_test.cc', + '<(gtest_dir)/test/gtest-typed-test_test.h', + '<(gtest_dir)/test/gtest_main_unittest.cc', + '<(gtest_dir)/test/gtest_pred_impl_unittest.cc', + '<(gtest_dir)/test/gtest_prod_test.cc', + '<(gtest_dir)/test/gtest_unittest.cc', + '<(gtest_dir)/test/production.cc', + '<(gtest_dir)/test/production.h', + ], + }, + { + 'target_name': 'gtest_environment_test', + 'dependencies': [ + 'gtest_test_executable', + ], + 'sources': [ + '<(gtest_dir)/test/gtest_environment_test.cc', + ], + }, + { + 'target_name': 'gtest_listener_test', + 'dependencies': [ + 'gtest_test_executable', + ], + 'sources': [ + '<(gtest_dir)/test/gtest-listener_test.cc', + ], + }, + { + 'target_name': 'gtest_no_test', + 'dependencies': [ + 'gtest_test_executable', + ], + 'sources': [ + '<(gtest_dir)/test/gtest_no_test_unittest.cc', + ], + }, + { + 'target_name': 'gtest_param_test', + 'dependencies': [ + 'gtest_test_executable', + ], + 'sources': [ + '<(gtest_dir)/test/gtest-param-test2_test.cc', + '<(gtest_dir)/test/gtest-param-test_test.cc', + '<(gtest_dir)/test/gtest-param-test_test.h', + ], + }, + { + 'target_name': 'gtest_premature_exit_test', + 'dependencies': [ + 'gtest_test_executable', + ], + 'sources': [ + '<(gtest_dir)/test/gtest_premature_exit_test.cc', + ], + }, + { + 'target_name': 'gtest_repeat_test', + 'dependencies': [ + 'gtest_test_executable', + ], + 'sources': [ + '<(gtest_dir)/test/gtest_repeat_test.cc', + ], + }, + { + 'target_name': 'gtest_sole_header_test', + 'dependencies': [ + 'gtest_test_executable', + 'gtest_main', + ], + 'sources': [ + '<(gtest_dir)/test/gtest_sole_header_test.cc', + ], + }, + { + 'target_name': 'gtest_stress_test', + 'dependencies': [ + 'gtest_test_executable', + ], + 'sources': [ + '<(gtest_dir)/test/gtest_stress_test.cc', + ], + }, + { + 'target_name': 'gtest_unittest_api_test', + 'dependencies': [ + 'gtest_test_executable', + ], + 'sources': [ + '<(gtest_dir)/test/gtest-unittest-api_test.cc', + ], + }, + { + 'target_name': 'gtest_all_tests', + 'type': 'none', + 'dependencies': [ + 'gtest_all_test', + 'gtest_environment_test', + 'gtest_listener_test', + 'gtest_no_test', + 'gtest_param_test', + 'gtest_premature_exit_test', + 'gtest_repeat_test', + 'gtest_sole_header_test', + 'gtest_stress_test', + 'gtest_unittest_api_test', + ], + }, + ], } diff --git a/third_party/mini_chromium/mini_chromium.gyp b/third_party/mini_chromium/mini_chromium.gyp index f063dd0a..e14a1fa5 100644 --- a/third_party/mini_chromium/mini_chromium.gyp +++ b/third_party/mini_chromium/mini_chromium.gyp @@ -18,11 +18,10 @@ ], 'targets': [ { - # To support Crashpad’s 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 Crashpad’s 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',