Stops the crash happening for maximize-mode / multi-display / overview
[chromium-blink-merge.git] / chrome / chrome_syzygy.gyp
blob47fa23b792f0d516b562d5a35b248d05a6744d5b
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
3 # found in the LICENSE file.
5   'variables': {
6     'dest_dir': '<(PRODUCT_DIR)/syzygy',
7   },
8   'conditions': [
9     ['syzyasan==1', {
10       'variables': {
11         'syzygy_exe_dir': '<(DEPTH)/third_party/syzygy/binaries/exe',
12         'kasko_exe_dir': '<(DEPTH)/third_party/kasko',
13       },
14       # Copy the SyzyASan runtime and logger to the syzygy directory.
15       # TODO(erikwright): Decouple Kasko from SyzyASAN.
16       'targets': [
17         {
18           'target_name': 'copy_syzyasan_binaries',
19           'type': 'none',
20           'outputs': [
21             '<(dest_dir)/agent_logger.exe',
22             '<(dest_dir)/kasko.dll',
23             '<(dest_dir)/kasko.dll.pdb',
24             '<(dest_dir)/syzyasan_rtl.dll',
25             '<(dest_dir)/syzyasan_rtl.dll.pdb',
26           ],
27           'copies': [
28             {
29               'destination': '<(dest_dir)',
30               'files': [
31                 '<(kasko_exe_dir)/kasko.dll',
32                 '<(kasko_exe_dir)/kasko.dll.pdb',
33                 '<(syzygy_exe_dir)/agent_logger.exe',
34                 '<(syzygy_exe_dir)/syzyasan_rtl.dll',
35                 '<(syzygy_exe_dir)/syzyasan_rtl.dll.pdb',
36               ],
37             },
38           ],
39         },
40       ],
41     }],
42     ['OS=="win" and fastbuild==0', {
43       'conditions': [
44         ['syzygy_optimize==1 or syzyasan==1', {
45           'variables': {
46             'dll_name': 'chrome',
47           },
48           'targets': [
49             {
50               'target_name': 'chrome_dll_syzygy',
51               'type': 'none',
52               'sources' : [],
53               'includes': [
54                 'chrome_syzygy.gypi',
55               ],
56             },
57           ],
58         }],
59         ['chrome_multiple_dll==1', {
60           'conditions': [
61             ['syzyasan==1 or syzygy_optimize==1', {
62               'variables': {
63                 'dll_name': 'chrome_child',
64               },
65               'targets': [
66                 {
67                   'target_name': 'chrome_child_dll_syzygy',
68                   'type': 'none',
69                   # For the official SyzyASan builds just copy chrome_child.dll
70                   # to the Syzygy directory.
71                   'conditions': [
72                     ['syzyasan==1 and buildtype=="Official"', {
73                       'dependencies': [
74                         'chrome_child_dll_syzygy_copy'
75                       ],
76                     }],
77                   ],
78                   # For the official SyzyASan builds also put an instrumented
79                   # version of chrome_child.dll into syzygy/instrumented.
80                   'variables': {
81                     'conditions': [
82                       ['syzyasan==1 and buildtype=="Official"', {
83                         'dest_dir': '<(PRODUCT_DIR)/syzygy/instrumented',
84                       }],
85                     ],
86                   },
87                   'sources' : [],
88                   'includes': [
89                     'chrome_syzygy.gypi',
90                   ],
91                 },
92               ],
93             }],
94             # For the official SyzyASan builds just copy chrome_child.dll to the
95             # Syzygy directory.
96             ['syzyasan==1 and buildtype=="Official"', {
97               'targets': [
98               {
99                 'target_name': 'chrome_child_dll_syzygy_copy',
100                 'type': 'none',
101                 'inputs': [
102                   '<(PRODUCT_DIR)/chrome_child.dll',
103                   '<(PRODUCT_DIR)/chrome_child.dll.pdb',
104                 ],
105                 'outputs': [
106                   '<(dest_dir)/chrome_child.dll',
107                   '<(dest_dir)/chrome_child.dll.pdb',
108                 ],
109                 'copies': [
110                   {
111                     'destination': '<(dest_dir)',
112                     'files': [
113                       '<(PRODUCT_DIR)/chrome_child.dll',
114                       '<(PRODUCT_DIR)/chrome_child.dll.pdb',
115                     ],
116                   },
117                 ],
118               }],
119             }],
120           ],
121         }],
122       ],
123     }],
124   ],