OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 # Copyright (c) 2011 Google Inc. All rights reserved. | 3 # Copyright (c) 2011 Google Inc. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 """ | 7 """ |
8 Verify that a link time only dependency will get pulled into the set of built | 8 Verify that a link time only dependency will get pulled into the set of built |
9 targets, even if no executable uses it. | 9 targets, even if no executable uses it. |
10 """ | 10 """ |
11 | 11 |
12 import TestGyp | 12 import TestGyp |
13 | 13 |
14 import sys | 14 import sys |
15 | 15 |
16 test = TestGyp.TestGyp() | 16 test = TestGyp.TestGyp() |
17 | 17 |
18 test.run_gyp('lib_only.gyp') | 18 test.run_gyp('lib_only.gyp') |
19 | 19 |
20 test.build('lib_only.gyp', test.ALL) | 20 test.build('lib_only.gyp', test.ALL) |
21 | 21 |
22 test.built_file_must_exist('a', type=test.STATIC_LIB) | 22 test.built_file_must_exist('a', type=test.STATIC_LIB) |
23 | 23 |
24 # TODO(bradnelson/mark): | 24 # TODO(bradnelson/mark): |
25 # On linux and windows a library target will at least pull its link dependencies | 25 # On linux and windows a library target will at least pull its link dependencies |
26 # into the generated sln/_main.scons, since not doing so confuses users. | 26 # into the generated project, since not doing so confuses users. |
27 # This is not currently implemented on mac, which has the opposite behavior. | 27 # This is not currently implemented on mac, which has the opposite behavior. |
28 if sys.platform == 'darwin': | 28 if sys.platform == 'darwin': |
29 if test.format == 'xcode': | 29 if test.format == 'xcode': |
30 test.built_file_must_not_exist('b', type=test.STATIC_LIB) | 30 test.built_file_must_not_exist('b', type=test.STATIC_LIB) |
31 else: | 31 else: |
32 assert test.format in ('make', 'ninja') | 32 assert test.format in ('make', 'ninja') |
33 test.built_file_must_exist('b', type=test.STATIC_LIB) | 33 test.built_file_must_exist('b', type=test.STATIC_LIB) |
34 else: | 34 else: |
35 # Make puts the resulting library in a directory matching the input gyp file; | 35 # Make puts the resulting library in a directory matching the input gyp file; |
36 # for the 'b' library, that is in the 'b' subdirectory. | 36 # for the 'b' library, that is in the 'b' subdirectory. |
37 test.built_file_must_exist('b', type=test.STATIC_LIB, subdir='b') | 37 test.built_file_must_exist('b', type=test.STATIC_LIB, subdir='b') |
38 | 38 |
39 test.pass_test() | 39 test.pass_test() |
OLD | NEW |