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