Build the Clang plugin on Windows.
[chromium-blink-merge.git] / components / dom_distiller.gypi
blobfa2f4ee2a12567d105f1213dcefccf68eaf30ea5
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.
6   'targets': [
7     {
8       # GN version: //components/dom_distiller/webui
9       'target_name': 'dom_distiller_webui',
10       'type': 'static_library',
11       'dependencies': [
12         '../base/base.gyp:base',
13         '../content/content.gyp:content_browser',
14         '../net/net.gyp:net',
15         '../skia/skia.gyp:skia',
16         '../sync/sync.gyp:sync',
17         '../url/url.gyp:url_lib',
18         'components_resources.gyp:components_resources',
19         'components_strings.gyp:components_strings',
20         'dom_distiller_core',
21         'dom_distiller_protos',
22       ],
23       'include_dirs': [
24         '..',
25       ],
26       'sources': [
27         'dom_distiller/webui/dom_distiller_handler.cc',
28         'dom_distiller/webui/dom_distiller_handler.h',
29         'dom_distiller/webui/dom_distiller_ui.cc',
30         'dom_distiller/webui/dom_distiller_ui.h',
31       ],
32     },
33     {
34       # GN version: //components/dom_distiller/core
35       'target_name': 'dom_distiller_core',
36       'type': 'static_library',
37       'dependencies': [
38         '../base/base.gyp:base',
39         '../base/base.gyp:base_prefs',
40         '../skia/skia.gyp:skia',
41         '../sync/sync.gyp:sync',
42         '../third_party/re2/re2.gyp:re2',
43         '../third_party/dom_distiller_js/dom_distiller_js.gyp:dom_distiller_js_proto',
44         'components.gyp:leveldb_proto',
45         'components_resources.gyp:components_resources',
46         'components_strings.gyp:components_strings',
47         'dom_distiller_protos',
48         'pref_registry',
49       ],
50       'include_dirs': [
51         '..',
52       ],
53       'export_dependent_settings': [
54         'dom_distiller_protos',
55         '../third_party/dom_distiller_js/dom_distiller_js.gyp:dom_distiller_js_proto',
56       ],
57       'sources': [
58         'dom_distiller/android/component_jni_registrar.cc',
59         'dom_distiller/android/component_jni_registrar.h',
60         'dom_distiller/core/article_attachments_data.cc',
61         'dom_distiller/core/article_attachments_data.h',
62         'dom_distiller/core/article_distillation_update.cc',
63         'dom_distiller/core/article_distillation_update.h',
64         'dom_distiller/core/article_entry.cc',
65         'dom_distiller/core/article_entry.h',
66         'dom_distiller/core/distillable_page_detector.cc',
67         'dom_distiller/core/distillable_page_detector.h',
68         'dom_distiller/core/distilled_content_store.cc',
69         'dom_distiller/core/distilled_content_store.h',
70         'dom_distiller/core/distilled_page_prefs.cc',
71         'dom_distiller/core/distilled_page_prefs.h',
72         'dom_distiller/core/distilled_page_prefs_android.cc',
73         'dom_distiller/core/distilled_page_prefs_android.h',
74         'dom_distiller/core/distiller.cc',
75         'dom_distiller/core/distiller.h',
76         'dom_distiller/core/distiller_page.cc',
77         'dom_distiller/core/distiller_page.h',
78         'dom_distiller/core/distiller_url_fetcher.cc',
79         'dom_distiller/core/distiller_url_fetcher.h',
80         'dom_distiller/core/dom_distiller_constants.cc',
81         'dom_distiller/core/dom_distiller_constants.h',
82         'dom_distiller/core/dom_distiller_model.cc',
83         'dom_distiller/core/dom_distiller_model.h',
84         'dom_distiller/core/dom_distiller_observer.h',
85         'dom_distiller/core/dom_distiller_service.cc',
86         'dom_distiller/core/dom_distiller_service.h',
87         'dom_distiller/core/dom_distiller_service_android.cc',
88         'dom_distiller/core/dom_distiller_service_android.h',
89         'dom_distiller/core/dom_distiller_store.cc',
90         'dom_distiller/core/dom_distiller_store.h',
91         'dom_distiller/core/dom_distiller_switches.cc',
92         'dom_distiller/core/dom_distiller_switches.h',
93         'dom_distiller/core/experiments.cc',
94         'dom_distiller/core/experiments.h',
95         'dom_distiller/core/external_feedback_reporter.h',
96         'dom_distiller/core/feedback_reporter.cc',
97         'dom_distiller/core/feedback_reporter.h',
98         'dom_distiller/core/font_family_list.h',
99         'dom_distiller/core/page_features.cc',
100         'dom_distiller/core/page_features.h',
101         'dom_distiller/core/task_tracker.cc',
102         'dom_distiller/core/task_tracker.h',
103         'dom_distiller/core/theme_list.h',
104         'dom_distiller/core/url_constants.cc',
105         'dom_distiller/core/url_constants.h',
106         'dom_distiller/core/url_utils.cc',
107         'dom_distiller/core/url_utils.h',
108         'dom_distiller/core/url_utils_android.cc',
109         'dom_distiller/core/url_utils_android.h',
110         'dom_distiller/core/viewer.cc',
111         'dom_distiller/core/viewer.h',
112       ],
113       'conditions': [
114         ['OS == "android"', {
115           'dependencies': [
116             'dom_distiller_core_jni_headers',
117           ],
118         }],
119       ],
120     },
121     {
122       # GN version: components/dom_distiller/core:test_support
123       'target_name': 'dom_distiller_test_support',
124       'type': 'static_library',
125       'dependencies': [
126         'dom_distiller_core',
127         'components.gyp:leveldb_proto_test_support',
128         '../sync/sync.gyp:sync',
129         '../testing/gmock.gyp:gmock',
130         '../url/url.gyp:url_lib',
131       ],
132       'include_dirs': [
133         '..',
134       ],
135       'sources': [
136         'dom_distiller/core/dom_distiller_test_util.cc',
137         'dom_distiller/core/dom_distiller_test_util.h',
138         'dom_distiller/core/fake_distiller.cc',
139         'dom_distiller/core/fake_distiller.h',
140         'dom_distiller/core/fake_distiller_page.cc',
141         'dom_distiller/core/fake_distiller_page.h',
142       ],
143     },
144     {
145       # GN version: //components/dom_distiller/core/proto
146       'target_name': 'dom_distiller_protos',
147       'type': 'static_library',
148       'sources': [
149         'dom_distiller/core/proto/adaboost.proto',
150         'dom_distiller/core/proto/distilled_article.proto',
151         'dom_distiller/core/proto/distilled_page.proto',
152       ],
153       'variables': {
154         'proto_in_dir': 'dom_distiller/core/proto',
155         'proto_out_dir': 'components/dom_distiller/core/proto',
156       },
157       'includes': [ '../build/protoc.gypi' ]
158     },
159   ],
160   'conditions': [
161     ['OS != "ios"', {
162       'targets': [
163         {
164           # GN version: //components/dom_distiller/content
165           'target_name': 'dom_distiller_content',
166           'type': 'static_library',
167           'dependencies': [
168             '../base/base.gyp:base',
169             '../content/content.gyp:content_browser',
170             '../net/net.gyp:net',
171             '../skia/skia.gyp:skia',
172             '../sync/sync.gyp:sync',
173             '../ui/gfx/gfx.gyp:gfx',
174             '../url/url.gyp:url_lib',
175             'components_resources.gyp:components_resources',
176             'components_strings.gyp:components_strings',
177             'dom_distiller_core',
178             'dom_distiller_protos',
179           ],
180           'include_dirs': [
181             '..',
182           ],
183           'sources': [
184             'dom_distiller/content/distillable_page_utils.cc',
185             'dom_distiller/content/distillable_page_utils.h',
186             'dom_distiller/content/distillable_page_utils_android.cc',
187             'dom_distiller/content/distillable_page_utils_android.h',
188             'dom_distiller/content/distiller_page_web_contents.cc',
189             'dom_distiller/content/distiller_page_web_contents.h',
190             'dom_distiller/content/dom_distiller_viewer_source.cc',
191             'dom_distiller/content/dom_distiller_viewer_source.h',
192             'dom_distiller/content/web_contents_main_frame_observer.cc',
193             'dom_distiller/content/web_contents_main_frame_observer.h',
194           ],
195           'conditions': [
196             ['OS == "android"', {
197               'dependencies': [
198                 'dom_distiller_content_jni_headers',
199                 'dom_distiller_core_jni_headers',
200               ],
201             }],
202           ],
203         },
204       ],
205     }],
206     ['OS=="ios"', {
207       'targets': [
208         {
209           'target_name': 'dom_distiller_ios',
210           'type': 'static_library',
211           'dependencies': [
212             '../ios/provider/ios_provider_web.gyp:ios_provider_web',
213             'dom_distiller_protos',
214             'dom_distiller_core',
215           ],
216           'include_dirs': [
217             '..',
218           ],
219           'sources': [
220             'dom_distiller/ios/distiller_page_factory_ios.h',
221             'dom_distiller/ios/distiller_page_factory_ios.mm',
222             'dom_distiller/ios/distiller_page_ios.h',
223             'dom_distiller/ios/distiller_page_ios.mm',
224           ],
225         },
226       ],
227     }],
228     ['OS=="android"', {
229       'targets': [
230         {
231           # TODO(cjhopman): remove this when it is rolled downstream.
232           'target_name': 'dom_distiller_core_java',
233           'type': 'none',
234           'dependencies': [
235             'dom_distiller_java',
236           ],
237         },
238         {
239           # GN: //components/dom_distiller/android:dom_distiller_java
240           'target_name': 'dom_distiller_java',
241           'type': 'none',
242           'dependencies': [
243             'dom_distiller_core_font_family_java',
244             'dom_distiller_core_theme_java',
245             '../base/base.gyp:base',
246             '../content/content.gyp:content_java',
247           ],
248           'variables': {
249             'java_in_dir': 'dom_distiller/android/java',
250           },
251           'includes': [ '../build/java.gypi' ],
252         },
253         {
254           # GN: //components/dom_distiller/android:dom_distiller_core_font_family_javagen
255           'target_name': 'dom_distiller_core_font_family_java',
256           'type': 'none',
257           'sources': [
258             'dom_distiller/android/java/src/org/chromium/components/dom_distiller/core/FontFamily.template',
259           ],
260           'variables': {
261             'package_name': 'org/chromium/components/dom_distiller/core',
262             'template_deps': ['dom_distiller/core/font_family_list.h'],
263           },
264           'includes': [ '../build/android/java_cpp_template.gypi' ],
265         },
266         {
267           # GN: //components/dom_distiller/content:jni_headers
268           'target_name': 'dom_distiller_content_jni_headers',
269           'type': 'none',
270           'sources': [
271             'dom_distiller/android/java/src/org/chromium/components/dom_distiller/content/DistillablePageUtils.java',
272           ],
273           'variables': {
274             'jni_gen_package': 'dom_distiller_content',
275           },
276           'includes': [ '../build/jni_generator.gypi' ],
277         },
278         {
279           # GN: //components/dom_distiller/core:jni_headers
280           'target_name': 'dom_distiller_core_jni_headers',
281           'type': 'none',
282           'sources': [
283             'dom_distiller/android/java/src/org/chromium/components/dom_distiller/core/DistilledPagePrefs.java',
284             'dom_distiller/android/java/src/org/chromium/components/dom_distiller/core/DomDistillerService.java',
285             'dom_distiller/android/java/src/org/chromium/components/dom_distiller/core/DomDistillerUrlUtils.java',
286           ],
287           'variables': {
288             'jni_gen_package': 'dom_distiller_core',
289           },
290           'includes': [ '../build/jni_generator.gypi' ],
291         },
292         {
293           # GN: //components/dom_distiller/android:dom_distiller_core_theme_javagen
294           'target_name': 'dom_distiller_core_theme_java',
295           'type': 'none',
296           'sources': [
297             'dom_distiller/android/java/src/org/chromium/components/dom_distiller/core/Theme.template',
298           ],
299           'variables': {
300             'package_name': 'org/chromium/components/dom_distiller/core',
301             'template_deps': ['dom_distiller/core/theme_list.h'],
302           },
303           'includes': [ '../build/android/java_cpp_template.gypi' ],
304         },
305       ],
306     }],
307   ],