diff options
Diffstat (limited to 'media/webrtc/trunk/tools/gyp/test/dependencies/gyptest-lib-only.py')
-rwxr-xr-x | media/webrtc/trunk/tools/gyp/test/dependencies/gyptest-lib-only.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/media/webrtc/trunk/tools/gyp/test/dependencies/gyptest-lib-only.py b/media/webrtc/trunk/tools/gyp/test/dependencies/gyptest-lib-only.py new file mode 100755 index 000000000..3a99a7f4a --- /dev/null +++ b/media/webrtc/trunk/tools/gyp/test/dependencies/gyptest-lib-only.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +# Copyright (c) 2011 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. + +""" +Verify that a link time only dependency will get pulled into the set of built +targets, even if no executable uses it. +""" + +import TestGyp + +import sys + +test = TestGyp.TestGyp() + +test.run_gyp('lib_only.gyp') + +test.build('lib_only.gyp', test.ALL) + +test.built_file_must_exist('a', type=test.STATIC_LIB) + +# TODO(bradnelson/mark): +# On linux and windows a library target will at least pull its link dependencies +# into the generated project, since not doing so confuses users. +# This is not currently implemented on mac, which has the opposite behavior. +if sys.platform == 'darwin': + if test.format == 'xcode': + test.built_file_must_not_exist('b', type=test.STATIC_LIB) + else: + assert test.format in ('make', 'ninja', 'xcode-ninja') + test.built_file_must_exist('b', type=test.STATIC_LIB) +else: + # Make puts the resulting library in a directory matching the input gyp file; + # for the 'b' library, that is in the 'b' subdirectory. + test.built_file_must_exist('b', type=test.STATIC_LIB, subdir='b') + +test.pass_test() |