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', { | 6 ['syzyasan==1', { |
7 'variables': { | 7 'variables': { |
8 'dest_dir': '<(PRODUCT_DIR)/syzygy', | 8 'dest_dir': '<(PRODUCT_DIR)/syzygy', |
9 'syzygy_exe_dir': '<(DEPTH)/third_party/syzygy/binaries/exe', | 9 'syzygy_exe_dir': '<(DEPTH)/third_party/syzygy/binaries/exe', |
10 }, | 10 }, |
(...skipping 14 matching lines...) Expand all Loading... |
25 '<(syzygy_exe_dir)/agent_logger.exe', | 25 '<(syzygy_exe_dir)/agent_logger.exe', |
26 '<(syzygy_exe_dir)/syzyasan_rtl.dll', | 26 '<(syzygy_exe_dir)/syzyasan_rtl.dll', |
27 '<(syzygy_exe_dir)/syzyasan_rtl.dll.pdb', | 27 '<(syzygy_exe_dir)/syzyasan_rtl.dll.pdb', |
28 ], | 28 ], |
29 }, | 29 }, |
30 ], | 30 ], |
31 }, | 31 }, |
32 ], | 32 ], |
33 }], | 33 }], |
34 ['OS=="win" and fastbuild==0', { | 34 ['OS=="win" and fastbuild==0', { |
35 'variables': { | 35 'conditions': [ |
36 'dll_name': 'chrome', | 36 ['syzygy_optimize==1 or syzyasan==1', { |
37 }, | 37 'variables': { |
38 'targets': [ | 38 'dll_name': 'chrome', |
39 { | 39 }, |
40 'target_name': 'chrome_dll_syzygy', | 40 'targets': [ |
41 'type': 'none', | 41 { |
42 'sources' : [], | 42 'target_name': 'chrome_dll_syzygy', |
43 'includes': [ | 43 'type': 'none', |
44 'chrome_syzygy.gypi', | 44 'sources' : [], |
| 45 'includes': [ |
| 46 'chrome_syzygy.gypi', |
| 47 ], |
| 48 }, |
45 ], | 49 ], |
46 }, | 50 }], |
47 ], | 51 ['chrome_multiple_dll==1', { |
48 }], | 52 'conditions': [ |
49 # Note, not else. | 53 # Prevent chrome_child.dll from being syzyasan-instrumented for the |
50 ['OS=="win" and fastbuild==0 and chrome_multiple_dll==1 and ' | 54 # official builds. |
51 '(syzyasan!=1 or buildtype!="Official")', { | 55 # |
52 'variables': { | 56 # Here's the truth table for this logic: |
53 'dll_name': 'chrome_child', | 57 # +----------+-----------------+-----------+--------------+ |
54 }, | 58 # | syzyasan | syzygy_optimize | buildtype | instrument ? | |
55 'targets': [ | 59 # +----------+-----------------+-----------+--------------+ |
56 { | 60 # | 0 | 0 | any | N | |
57 'target_name': 'chrome_child_dll_syzygy', | 61 # +----------+-----------------+-----------+--------------+ |
58 'type': 'none', | 62 # | 0 | 1 | any | Y | |
59 'sources' : [], | 63 # +----------+-----------------+-----------+--------------+ |
60 'includes': [ | 64 # | 1 | 0 | - | Y | |
61 'chrome_syzygy.gypi', | 65 # +----------+-----------------+-----------+--------------+ |
62 ], | 66 # | 1 | 0 | Official | N | |
63 }, | 67 # +----------+-----------------+-----------+--------------+ |
64 ], | 68 # | 1 | 1 | ----Invalid---- | |
65 }, { | 69 # +----------+-----------------+-----------+--------------+ |
66 'conditions': [ | 70 ['(syzyasan==1 and buildtype!="Official") or syzygy_optimize==1', { |
67 ['OS=="win" and fastbuild==0 and chrome_multiple_dll==1 and ' | 71 'variables': { |
68 'syzyasan==1 and buildtype=="Official"', { | 72 'dll_name': 'chrome_child', |
69 'targets': [ | 73 }, |
70 { | 74 'targets': [ |
71 'target_name': 'chrome_child_dll_syzygy', | 75 { |
72 'type': 'none', | 76 'target_name': 'chrome_child_dll_syzygy', |
73 'inputs': [ | 77 'type': 'none', |
74 '<(PRODUCT_DIR)/chrome_child.dll', | 78 'sources' : [], |
75 '<(PRODUCT_DIR)/chrome_child.dll.pdb', | 79 'includes': [ |
76 ], | 80 'chrome_syzygy.gypi', |
77 'outputs': [ | 81 ], |
78 '<(PRODUCT_DIR)/syzygy/chrome_child.dll', | 82 }, |
79 '<(PRODUCT_DIR)/syzygy/chrome_child.dll.pdb', | 83 ], |
80 ], | 84 }], |
81 'copies': [ | 85 # For the official SyzyASan builds just copy chrome_child.dll to the |
| 86 # Syzygy directory. |
| 87 ['syzyasan==1 and buildtype=="Official"', { |
| 88 'targets': [ |
82 { | 89 { |
83 'destination': '<(PRODUCT_DIR)/syzygy', | 90 'target_name': 'chrome_child_dll_syzygy', |
84 'files': [ | 91 'type': 'none', |
| 92 'inputs': [ |
85 '<(PRODUCT_DIR)/chrome_child.dll', | 93 '<(PRODUCT_DIR)/chrome_child.dll', |
86 '<(PRODUCT_DIR)/chrome_child.dll.pdb', | 94 '<(PRODUCT_DIR)/chrome_child.dll.pdb', |
87 ], | 95 ], |
88 }, | 96 'outputs': [ |
89 ], | 97 '<(PRODUCT_DIR)/syzygy/chrome_child.dll', |
90 }], | 98 '<(PRODUCT_DIR)/syzygy/chrome_child.dll.pdb', |
| 99 ], |
| 100 'copies': [ |
| 101 { |
| 102 'destination': '<(PRODUCT_DIR)/syzygy', |
| 103 'files': [ |
| 104 '<(PRODUCT_DIR)/chrome_child.dll', |
| 105 '<(PRODUCT_DIR)/chrome_child.dll.pdb', |
| 106 ], |
| 107 }, |
| 108 ], |
| 109 }], |
| 110 }], |
| 111 ], |
91 }], | 112 }], |
92 ], | 113 ], |
93 }], | 114 }], |
94 ], | 115 ], |
95 } | 116 } |
OLD | NEW |