Revert 253521 "Introduce telemetry.web_components and a simple c..."
[chromium-blink-merge.git] / chrome_elf / chrome_elf.gyp
blobfa6ed36f773d4903c83fd091132e94b88170b0fc
1 # Copyright 2013 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     'chromium_code': 1,
7   },
8   'includes': [
9     '../build/util/version.gypi',
10     '../build/win_precompile.gypi',
11     'blacklist.gypi',
12   ],
13   'targets': [
14     {
15       'target_name': 'chrome_elf',
16       'type': 'shared_library',
17       'include_dirs': [
18         '..',
19       ],
20       'sources': [
21         'chrome_elf.def',
22         'chrome_elf_main.cc',
23         'chrome_elf_main.h',
24       ],
25       'dependencies': [
26         'blacklist',
27         'chrome_elf_breakpad',
28         'chrome_elf_lib',
29       ],
30       'msvs_settings': {
31         'VCLinkerTool': {
32           'BaseAddress': '0x01c20000',
33           # Set /SUBSYSTEM:WINDOWS.
34           'SubSystem': '2',
35           'AdditionalDependencies!': [
36             'user32.lib',
37           ],
38           'IgnoreDefaultLibraryNames': [
39             'user32.lib',
40           ],
41         },
42       },
43       'conditions': [
44         ['component=="shared_library"', {
45           # In component builds, all targets depend on chrome_redirects by
46           # default. Remove it here to avoid a circular dependency.
47           'dependencies!': [
48             '../chrome_elf/chrome_elf.gyp:chrome_redirects',
49           ],
50         }],
51       ],
52     },
53     {
54       'target_name': 'chrome_elf_unittests_exe',
55       'product_name': 'chrome_elf_unittests',
56       'type': 'executable',
57       'sources': [
58         'blacklist/test/blacklist_test.cc',
59         'chrome_elf_util_unittest.cc',
60         'create_file/chrome_create_file_unittest.cc',
61         'elf_imports_unittest.cc',
62         'ntdll_cache_unittest.cc',
63       ],
64       'include_dirs': [
65         '..',
66         '<(SHARED_INTERMEDIATE_DIR)',
67       ],
68       'dependencies': [
69         'chrome_elf_lib',
70         '../base/base.gyp:base',
71         '../base/base.gyp:run_all_unittests',
72         '../base/base.gyp:test_support_base',
73         '../sandbox/sandbox.gyp:sandbox',
74         '../testing/gtest.gyp:gtest',
75         'blacklist',
76         'blacklist_test_dll_1',
77         'blacklist_test_dll_2',
78         'blacklist_test_dll_3',
79         'blacklist_test_main_dll',
80       ],
81       'conditions': [
82         ['component=="shared_library"', {
83           # In component builds, all targets depend on chrome_redirects by
84           # default. Remove it here so we are able to test it.
85           'dependencies!': [
86             '../chrome_elf/chrome_elf.gyp:chrome_redirects',
87           ],
88         }],
89       ],
90     },
91     {
92       # A dummy target to ensure that chrome_elf.dll and chrome.exe gets built
93       # when building chrome_elf_unittests.exe without introducing an
94       # explicit runtime dependency.
95       'target_name': 'chrome_elf_unittests',
96       'type': 'none',
97       'dependencies': [
98         '../chrome/chrome.gyp:chrome',
99         'chrome_elf',
100         'chrome_elf_unittests_exe',
101       ],
102     },
103     {
104       'target_name': 'chrome_elf_lib',
105       'type': 'static_library',
106       'include_dirs': [
107         '..',
108       ],
109       'sources': [
110         'create_file/chrome_create_file.cc',
111         'create_file/chrome_create_file.h',
112         'ntdll_cache.cc',
113         'ntdll_cache.h',
114       ],
115       'dependencies': [
116         'chrome_elf_common',
117       ],
118       'conditions': [
119         ['component=="shared_library"', {
120           # In component builds, all targets depend on chrome_redirects by
121           # default. Remove it here to avoid a circular dependency.
122           'dependencies!': [
123             '../chrome_elf/chrome_elf.gyp:chrome_redirects',
124           ],
125         }],
126       ],
127     },
128     {
129       'target_name': 'chrome_elf_common',
130       'type': 'static_library',
131       'include_dirs': [
132         '..',
133       ],
134       'sources': [
135         'chrome_elf_constants.cc',
136         'chrome_elf_constants.h',
137         'chrome_elf_types.h',
138         'chrome_elf_util.cc',
139         'chrome_elf_util.h',
140       ],
141       'conditions': [
142         ['component=="shared_library"', {
143           # In component builds, all targets depend on chrome_redirects by
144           # default. Remove it here so we are able to test it.
145           'dependencies!': [
146             '../chrome_elf/chrome_elf.gyp:chrome_redirects',
147           ],
148         }],
149       ],
150     },
151     {
152       'target_name': 'chrome_elf_breakpad',
153       'type': 'static_library',
154       'include_dirs': [
155         '..',
156         '<(SHARED_INTERMEDIATE_DIR)',
157       ],
158       'sources': [
159         'breakpad.cc',
160         'breakpad.h',
161       ],
162       'dependencies': [
163         'chrome_elf_common',
164         '../breakpad/breakpad.gyp:breakpad_handler',
165         '../chrome/chrome.gyp:chrome_version_header',
166       ],
167     },
168   ], # targets
169   'conditions': [
170     ['component=="shared_library"', {
171       'targets': [
172         {
173           'target_name': 'chrome_redirects',
174           'type': 'shared_library',
175           'include_dirs': [
176             '..',
177           ],
178           'sources': [
179             'chrome_redirects.def',
180             'chrome_redirects_main.cc',
181           ],
182           'dependencies': [
183             'chrome_elf_lib',
184           ],
185           'msvs_settings': {
186             'VCLinkerTool': {
187               'BaseAddress': '0x01c10000',
188               # Set /SUBSYSTEM:WINDOWS.
189               'SubSystem': '2',
190             },
191           },
192           'conditions': [
193             ['component=="shared_library"', {
194               # In component builds, all targets depend on chrome_redirects by
195               # default. Remove it here to avoid a circular dependency.
196               'dependencies!': [
197                 '../chrome_elf/chrome_elf.gyp:chrome_redirects',
198               ],
199             }],
200           ],
201         },
202       ],
203     }],
204   ],