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