OLD | NEW |
---|---|
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 'conditions': [ | 5 'conditions': [ |
6 ['syzyasan==1 and syzygy_optimize==1', { | |
7 'targets': [ | |
8 { | |
9 'target_name': 'syzygy_optimize_and_syzyasan_are_not_compatible', | |
10 'type': 'must_not_use_syzygy_optimize_and_syzyasan_together', | |
chrisha
2014/03/17 18:52:13
A comment as to what this is for, and why it works
Sébastien Marchand
2014/03/18 15:21:27
Done.
| |
11 }, | |
12 ], | |
13 }], | |
6 ['syzyasan==1', { | 14 ['syzyasan==1', { |
7 'variables': { | 15 'variables': { |
8 'dest_dir': '<(PRODUCT_DIR)/syzygy', | 16 'dest_dir': '<(PRODUCT_DIR)/syzygy', |
9 'syzygy_exe_dir': '<(DEPTH)/third_party/syzygy/binaries/exe', | 17 'syzygy_exe_dir': '<(DEPTH)/third_party/syzygy/binaries/exe', |
10 }, | 18 }, |
11 # Copy the SyzyASan runtime and logger to the syzygy directory. | 19 # Copy the SyzyASan runtime and logger to the syzygy directory. |
12 'targets': [ | 20 'targets': [ |
13 { | 21 { |
14 'target_name': 'copy_syzyasan_binaries', | 22 'target_name': 'copy_syzyasan_binaries', |
15 'type': 'none', | 23 'type': 'none', |
16 'outputs': [ | 24 'outputs': [ |
17 '<(dest_dir)/agent_logger.exe', | 25 '<(dest_dir)/agent_logger.exe', |
18 '<(dest_dir)/syzyasan_rtl.dll', | 26 '<(dest_dir)/syzyasan_rtl.dll', |
19 '<(dest_dir)/syzyasan_rtl.dll.pdb', | 27 '<(dest_dir)/syzyasan_rtl.dll.pdb', |
20 ], | 28 ], |
21 'copies': [ | 29 'copies': [ |
22 { | 30 { |
23 'destination': '<(dest_dir)', | 31 'destination': '<(dest_dir)', |
24 'files': [ | 32 'files': [ |
25 '<(syzygy_exe_dir)/agent_logger.exe', | 33 '<(syzygy_exe_dir)/agent_logger.exe', |
26 '<(syzygy_exe_dir)/syzyasan_rtl.dll', | 34 '<(syzygy_exe_dir)/syzyasan_rtl.dll', |
27 '<(syzygy_exe_dir)/syzyasan_rtl.dll.pdb', | 35 '<(syzygy_exe_dir)/syzyasan_rtl.dll.pdb', |
28 ], | 36 ], |
29 }, | 37 }, |
30 ], | 38 ], |
31 }, | 39 }, |
32 ], | 40 ], |
33 }], | 41 }], |
34 ['OS=="win" and fastbuild==0', { | 42 ['OS=="win" and fastbuild==0', { |
35 'variables': { | 43 'conditions': [ |
36 'dll_name': 'chrome', | 44 ['syzygy_optimize==1 or syzyasan==1', { |
37 }, | 45 'variables': { |
38 'targets': [ | 46 'dll_name': 'chrome', |
39 { | 47 }, |
40 'target_name': 'chrome_dll_syzygy', | 48 'targets': [ |
41 'type': 'none', | 49 { |
42 'sources' : [], | 50 'target_name': 'chrome_dll_syzygy', |
43 'includes': [ | 51 'type': 'none', |
44 'chrome_syzygy.gypi', | 52 'sources' : [], |
53 'includes': [ | |
54 'chrome_syzygy.gypi', | |
55 ], | |
56 }, | |
45 ], | 57 ], |
46 }, | 58 }], |
47 ], | 59 ['chrome_multiple_dll==1', { |
48 }], | 60 'conditions': [ |
49 # Note, not else. | 61 # Prevent chrome_child.dll from being syzyasan-instrumented for the |
50 ['OS=="win" and fastbuild==0 and chrome_multiple_dll==1 and ' | 62 # official builds. |
51 '(syzyasan!=1 or buildtype!="Official")', { | 63 ['(syzyasan!=1 or buildtype!="Official") and ' |
52 'variables': { | 64 '(syzygy_optimize==1 or syzyasan==1)', { |
53 'dll_name': 'chrome_child', | 65 'variables': { |
54 }, | 66 'dll_name': 'chrome_child', |
55 'targets': [ | 67 }, |
56 { | 68 'targets': [ |
57 'target_name': 'chrome_child_dll_syzygy', | 69 { |
58 'type': 'none', | 70 'target_name': 'chrome_child_dll_syzygy', |
59 'sources' : [], | 71 'type': 'none', |
60 'includes': [ | 72 'sources' : [], |
61 'chrome_syzygy.gypi', | 73 'includes': [ |
62 ], | 74 'chrome_syzygy.gypi', |
63 }, | 75 ], |
64 ], | 76 }, |
65 }, { | 77 ], |
66 'conditions': [ | 78 }], |
67 ['OS=="win" and fastbuild==0 and chrome_multiple_dll==1 and ' | 79 # For the official SyzyASan builds just copy chrome_child.dll to the |
68 'syzyasan==1 and buildtype=="Official"', { | 80 # Syzygy directory. |
69 'targets': [ | 81 ['syzyasan==1 and buildtype=="Official"', { |
70 { | 82 'targets': [ |
71 'target_name': 'chrome_child_dll_syzygy', | |
72 'type': 'none', | |
73 'inputs': [ | |
74 '<(PRODUCT_DIR)/chrome_child.dll', | |
75 '<(PRODUCT_DIR)/chrome_child.dll.pdb', | |
76 ], | |
77 'outputs': [ | |
78 '<(PRODUCT_DIR)/syzygy/chrome_child.dll', | |
79 '<(PRODUCT_DIR)/syzygy/chrome_child.dll.pdb', | |
80 ], | |
81 'copies': [ | |
82 { | 83 { |
83 'destination': '<(PRODUCT_DIR)/syzygy', | 84 'target_name': 'chrome_child_dll_syzygy', |
84 'files': [ | 85 'type': 'none', |
86 'inputs': [ | |
85 '<(PRODUCT_DIR)/chrome_child.dll', | 87 '<(PRODUCT_DIR)/chrome_child.dll', |
86 '<(PRODUCT_DIR)/chrome_child.dll.pdb', | 88 '<(PRODUCT_DIR)/chrome_child.dll.pdb', |
87 ], | 89 ], |
88 }, | 90 'outputs': [ |
89 ], | 91 '<(PRODUCT_DIR)/syzygy/chrome_child.dll', |
90 }], | 92 '<(PRODUCT_DIR)/syzygy/chrome_child.dll.pdb', |
93 ], | |
94 'copies': [ | |
95 { | |
96 'destination': '<(PRODUCT_DIR)/syzygy', | |
97 'files': [ | |
98 '<(PRODUCT_DIR)/chrome_child.dll', | |
99 '<(PRODUCT_DIR)/chrome_child.dll.pdb', | |
100 ], | |
101 }, | |
102 ], | |
103 }], | |
104 }], | |
105 ], | |
91 }], | 106 }], |
92 ], | 107 ], |
93 }], | 108 }], |
94 ], | 109 ], |
95 } | 110 } |
OLD | NEW |