OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 { | 5 { |
6 'target_defaults': { | 6 'target_defaults': { |
7 'variables': { | 7 'variables': { |
8 # This code gets run a lot and debugged rarely, so it should be fast | 8 # This code gets run a lot and debugged rarely, so it should be fast |
9 # by default. See http://crbug.com/388949. | 9 # by default. See http://crbug.com/388949. |
10 'debug_optimize': '2', | 10 'debug_optimize': '2', |
(...skipping 13 matching lines...) Expand all Loading... |
24 'targets': [ | 24 'targets': [ |
25 # Only executables and not libraries should depend on the | 25 # Only executables and not libraries should depend on the |
26 # allocator target; only the application (the final executable) | 26 # allocator target; only the application (the final executable) |
27 # knows what allocator makes sense. | 27 # knows what allocator makes sense. |
28 { | 28 { |
29 'target_name': 'allocator', | 29 'target_name': 'allocator', |
30 # TODO(primiano): This should be type: none for the noop cases (an empty | 30 # TODO(primiano): This should be type: none for the noop cases (an empty |
31 # static lib can confuse some gyp generators). Fix it once the refactoring | 31 # static lib can confuse some gyp generators). Fix it once the refactoring |
32 # (crbug.com/564618) bring this file to a saner state (fewer conditions). | 32 # (crbug.com/564618) bring this file to a saner state (fewer conditions). |
33 'type': 'static_library', | 33 'type': 'static_library', |
34 'toolsets': ['host', 'target'], | |
35 'conditions': [ | 34 'conditions': [ |
36 ['OS=="win" and win_use_allocator_shim==1', { | 35 ['OS=="win" and win_use_allocator_shim==1', { |
37 'msvs_settings': { | 36 'msvs_settings': { |
38 # TODO(sgk): merge this with build/common.gypi settings | 37 # TODO(sgk): merge this with build/common.gypi settings |
39 'VCLibrarianTool': { | 38 'VCLibrarianTool': { |
40 'AdditionalOptions': ['/ignore:4006,4221'], | 39 'AdditionalOptions': ['/ignore:4006,4221'], |
41 }, | 40 }, |
42 'VCLinkerTool': { | 41 'VCLinkerTool': { |
43 'AdditionalOptions': ['/ignore:4006'], | 42 'AdditionalOptions': ['/ignore:4006'], |
44 }, | 43 }, |
45 }, | 44 }, |
46 'dependencies': [ | 45 'dependencies': [ |
47 'libcmt', | 46 'libcmt', |
48 ], | 47 ], |
49 'include_dirs': [ | 48 'include_dirs': [ |
50 '../..', | 49 '../..', |
51 ], | 50 ], |
52 'sources': [ | 51 'sources': [ |
53 'allocator_shim_win.cc', | 52 'allocator_shim_win.cc', |
54 ], | 53 ], |
55 'link_settings': { | |
56 'msvs_settings': { | |
57 'VCLinkerTool': { | |
58 'IgnoreDefaultLibraryNames': ['libcmtd.lib', 'libcmt.lib'], | |
59 'AdditionalDependencies': [ | |
60 '<(SHARED_INTERMEDIATE_DIR)/allocator/libcmt.lib' | |
61 ], | |
62 }, | |
63 }, | |
64 }, | |
65 'configurations': { | 54 'configurations': { |
66 'Debug_Base': { | 55 'Debug_Base': { |
67 'msvs_settings': { | 56 'msvs_settings': { |
68 'VCCLCompilerTool': { | 57 'VCCLCompilerTool': { |
69 'RuntimeLibrary': '0', | 58 'RuntimeLibrary': '0', |
70 }, | 59 }, |
71 }, | 60 }, |
72 }, | 61 }, |
| 62 }, |
| 63 'direct_dependent_settings': { |
| 64 'configurations': { |
| 65 'Common_Base': { |
| 66 'msvs_settings': { |
| 67 'VCLinkerTool': { |
| 68 'IgnoreDefaultLibraryNames': ['libcmtd.lib', 'libcmt.lib'], |
| 69 'AdditionalDependencies': [ |
| 70 '<(SHARED_INTERMEDIATE_DIR)/allocator/libcmt.lib' |
| 71 ], |
| 72 }, |
| 73 }, |
| 74 }, |
| 75 }, |
73 }, | 76 }, |
74 }], # OS=="win" | 77 }], # OS=="win" |
75 ['use_allocator=="tcmalloc"', { | 78 ['use_allocator=="tcmalloc"', { |
76 # Disable the heap checker in tcmalloc. | 79 # Disable the heap checker in tcmalloc. |
77 'defines': [ | 80 'defines': [ |
78 'NO_HEAP_CHECK', | 81 'NO_HEAP_CHECK', |
79 ], | 82 ], |
80 'dependencies': [ | 83 'dependencies': [ |
81 '../third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_
annotations', | 84 '../third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_
annotations', |
82 ], | 85 ], |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 'target_conditions' : [ | 365 'target_conditions' : [ |
363 ['_toolset=="target"', { | 366 ['_toolset=="target"', { |
364 'cflags!': [ '-finstrument-functions' ], | 367 'cflags!': [ '-finstrument-functions' ], |
365 }], | 368 }], |
366 ], | 369 ], |
367 }], | 370 }], |
368 ], # conditions of 'allocator' target. | 371 ], # conditions of 'allocator' target. |
369 }, # 'allocator' target. | 372 }, # 'allocator' target. |
370 ], # targets. | 373 ], # targets. |
371 'conditions': [ | 374 'conditions': [ |
372 ['OS=="win" and win_use_allocator_shim==1', { | 375 ['OS=="win" and component!="shared_library"', { |
373 'targets': [ | 376 'targets': [ |
374 { | 377 { |
375 'target_name': 'libcmt', | 378 'target_name': 'libcmt', |
376 'type': 'none', | 379 'type': 'none', |
377 'actions': [ | 380 'actions': [ |
378 { | 381 { |
379 'action_name': 'libcmt', | 382 'action_name': 'libcmt', |
380 'inputs': [ | 383 'inputs': [ |
381 'prep_libc.py', | 384 'prep_libc.py', |
382 ], | 385 ], |
383 'outputs': [ | 386 'outputs': [ |
384 '<(SHARED_INTERMEDIATE_DIR)/allocator/libcmt.lib', | 387 '<(SHARED_INTERMEDIATE_DIR)/allocator/libcmt.lib', |
385 ], | 388 ], |
386 'action': [ | 389 'action': [ |
387 'python', | 390 'python', |
388 'prep_libc.py', | 391 'prep_libc.py', |
389 '$(VCInstallDir)lib', | 392 '$(VCInstallDir)lib', |
390 '<(SHARED_INTERMEDIATE_DIR)/allocator', | 393 '<(SHARED_INTERMEDIATE_DIR)/allocator', |
391 '<(target_arch)', | 394 '<(target_arch)', |
392 ], | 395 ], |
393 }, | 396 }, |
394 ], | 397 ], |
395 }, | 398 }, |
396 ], | 399 ], |
397 }], | 400 }], |
398 ], | 401 ], |
399 } | 402 } |
OLD | NEW |