diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency')
3 files changed, 88 insertions, 0 deletions
diff --git a/media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency/chained-dependency.gyp b/media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency/chained-dependency.gyp new file mode 100644 index 000000000..3fe68ae85 --- /dev/null +++ b/media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency/chained-dependency.gyp @@ -0,0 +1,53 @@ +# Copyright (c) 2010 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'targets': [ + # This first target generates a header. + { + 'target_name': 'generate_header', + 'type': 'none', + 'msvs_cygwin_shell': '0', + 'actions': [ + { + 'action_name': 'generate header', + 'inputs': [], + 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/generated/header.h'], + 'action': [ + 'python', '-c', 'open(<(_outputs), "w")' + ] + }, + ], + 'all_dependent_settings': { + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)', + ], + }, + }, + + # This intermediate target does nothing other than pull in a + # dependency on the above generated target. + { + 'target_name': 'chain', + 'type': 'none', + 'dependencies': [ + 'generate_header', + ], + }, + + # This final target is: + # - a static library (so gyp doesn't transitively pull in dependencies); + # - that relies on the generated file two dependencies away. + { + 'target_name': 'chained', + 'type': 'static_library', + 'dependencies': [ + 'chain', + ], + 'sources': [ + 'chained.c', + ], + }, + ], +} diff --git a/media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency/chained.c b/media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency/chained.c new file mode 100644 index 000000000..c1ff1a7b1 --- /dev/null +++ b/media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency/chained.c @@ -0,0 +1,5 @@ +#include "generated/header.h" + +int main(void) { + return 0; +} diff --git a/media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency/gyptest-chained-dependency.py b/media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency/gyptest-chained-dependency.py new file mode 100755 index 000000000..d8763f1d3 --- /dev/null +++ b/media/webrtc/trunk/tools/gyp/test/ninja/chained-dependency/gyptest-chained-dependency.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +# Copyright (c) 2012 Google Inc. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +""" +Verifies that files generated by two-steps-removed actions are built before +dependent compile steps. +""" + +import os +import sys +import TestGyp + +# This test is Ninja-specific in that: +# - the bug only showed nondeterministically in parallel builds; +# - it relies on a ninja-specific output file path. + +test = TestGyp.TestGyp(formats=['ninja']) +# xcode-ninja doesn't support building single object files by design. +if test.format == 'xcode-ninja': + test.skip_test() + +test.run_gyp('chained-dependency.gyp') +objext = '.obj' if sys.platform == 'win32' else '.o' +test.build('chained-dependency.gyp', + os.path.join('obj', 'chained.chained' + objext)) +# The test passes if the .o file builds successfully. +test.pass_test() |