Enable icu_use_data_file_flag on Android
[chromium-blink-merge.git] / chrome_elf / chrome_elf.gyp
blob5820fc277457d30f07dd5b8cc412c58d1b73a509
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_constants',
130       'type': 'static_library',
131       'include_dirs': [
132         '..',
133       ],
134       'sources': [
135         'chrome_elf_constants.cc',
136         'chrome_elf_constants.h',
137       ],
138        'conditions': [
139         ['component=="shared_library"', {
140           # In component builds, all targets depend on chrome_redirects by
141           # default. Remove it here so we are able to test it.
142           'dependencies!': [
143             '../chrome_elf/chrome_elf.gyp:chrome_redirects',
144           ],
145         }],
146       ],
147     },
148     {
149       'target_name': 'chrome_elf_common',
150       'type': 'static_library',
151       'dependencies': [
152         'chrome_elf_constants',
153       ],
154       'include_dirs': [
155         '..',
156       ],
157       'sources': [
158         'chrome_elf_types.h',
159         'chrome_elf_util.cc',
160         'chrome_elf_util.h',
161       ],
162       'conditions': [
163         ['component=="shared_library"', {
164           # In component builds, all targets depend on chrome_redirects by
165           # default. Remove it here so we are able to test it.
166           'dependencies!': [
167             '../chrome_elf/chrome_elf.gyp:chrome_redirects',
168           ],
169         }],
170       ],
171     },
172     {
173       'target_name': 'chrome_elf_breakpad',
174       'type': 'static_library',
175       'include_dirs': [
176         '..',
177         '<(SHARED_INTERMEDIATE_DIR)',
178       ],
179       'sources': [
180         'breakpad.cc',
181         'breakpad.h',
182       ],
183       'dependencies': [
184         'chrome_elf_common',
185         '../breakpad/breakpad.gyp:breakpad_handler',
186         '../chrome/chrome.gyp:chrome_version_header',
187       ],
188     },
189   ], # targets
190   'conditions': [
191     ['component=="shared_library"', {
192       'targets': [
193         {
194           'target_name': 'chrome_redirects',
195           'type': 'shared_library',
196           'include_dirs': [
197             '..',
198           ],
199           'sources': [
200             'chrome_redirects.def',
201             'chrome_redirects_main.cc',
202           ],
203           'dependencies': [
204             'chrome_elf_lib',
205           ],
206           'msvs_settings': {
207             'VCLinkerTool': {
208               'BaseAddress': '0x01c10000',
209               # Set /SUBSYSTEM:WINDOWS.
210               'SubSystem': '2',
211             },
212           },
213           'conditions': [
214             ['component=="shared_library"', {
215               # In component builds, all targets depend on chrome_redirects by
216               # default. Remove it here to avoid a circular dependency.
217               'dependencies!': [
218                 '../chrome_elf/chrome_elf.gyp:chrome_redirects',
219               ],
220             }],
221           ],
222         },
223       ],
224     }],
225   ],