Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / extensions / common / BUILD.gn
1 # Copyright 2014 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 import("//build/config/features.gni")
6
7 # GYP version: extensions/extensions.gyp:extensions_common
8 source_set("common") {
9   sources = [
10     "api/messaging/message.h",
11     "api/bluetooth/bluetooth_manifest_data.cc",
12     "api/bluetooth/bluetooth_manifest_data.h",
13     "api/bluetooth/bluetooth_manifest_handler.cc",
14     "api/bluetooth/bluetooth_manifest_handler.h",
15     "api/bluetooth/bluetooth_manifest_permission.cc",
16     "api/bluetooth/bluetooth_manifest_permission.h",
17     "api/sockets/sockets_manifest_data.cc",
18     "api/sockets/sockets_manifest_data.h",
19     "api/sockets/sockets_manifest_handler.cc",
20     "api/sockets/sockets_manifest_handler.h",
21     "api/sockets/sockets_manifest_permission.cc",
22     "api/sockets/sockets_manifest_permission.h",
23     "common_manifest_handlers.cc",
24     "common_manifest_handlers.h",
25     "constants.cc",
26     "constants.h",
27     "csp_validator.cc",
28     "csp_validator.h",
29     "dom_action_types.h",
30     "draggable_region.cc",
31     "draggable_region.h",
32     "error_utils.cc",
33     "error_utils.h",
34     "event_filter.cc",
35     "event_filter.h",
36     "event_filtering_info.cc",
37     "event_filtering_info.h",
38     "event_matcher.cc",
39     "event_matcher.h",
40     "extension.cc",
41     "extension.h",
42     "extension_api.cc",
43     "extension_api.h",
44     "extension_api_stub.cc",
45     "extension_icon_set.cc",
46     "extension_icon_set.h",
47     "extension_l10n_util.cc",
48     "extension_l10n_util.h",
49     "extension_message_generator.cc",
50     "extension_message_generator.h",
51     "extension_messages.cc",
52     "extension_messages.h",
53     "extension_paths.cc",
54     "extension_paths.h",
55     "extension_resource.cc",
56     "extension_resource.h",
57     "extension_set.cc",
58     "extension_set.h",
59     "extension_urls.cc",
60     "extension_urls.h",
61     "extensions_client.cc",
62     "extensions_client.h",
63     "feature_switch.cc",
64     "feature_switch.h",
65     "features/api_feature.cc",
66     "features/api_feature.h",
67     "features/base_feature_provider.cc",
68     "features/base_feature_provider.h",
69     "features/complex_feature.cc",
70     "features/complex_feature.h",
71     "features/feature.cc",
72     "features/feature.h",
73     "features/feature_provider.cc",
74     "features/feature_provider.h",
75     "features/json_feature_provider_source.cc",
76     "features/json_feature_provider_source.h",
77     "features/manifest_feature.cc",
78     "features/manifest_feature.h",
79     "features/permission_feature.cc",
80     "features/permission_feature.h",
81     "features/simple_feature.cc",
82     "features/simple_feature.h",
83     "features/simple_feature_filter.cc",
84     "features/simple_feature_filter.h",
85     "file_util.cc",
86     "file_util.h",
87     "guest_view/guest_view_constants.cc",
88     "guest_view/guest_view_constants.h",
89     "install_warning.cc",
90     "install_warning.h",
91     "manifest.cc",
92     "manifest.h",
93     "manifest_constants.cc",
94     "manifest_constants.h",
95     "manifest_handler.cc",
96     "manifest_handler.h",
97     "manifest_handler_helpers.cc",
98     "manifest_handler_helpers.h",
99     "manifest_handlers/background_info.cc",
100     "manifest_handlers/background_info.h",
101     "manifest_handlers/csp_info.cc",
102     "manifest_handlers/csp_info.h",
103     "manifest_handlers/externally_connectable.cc",
104     "manifest_handlers/externally_connectable.h",
105     "manifest_handlers/file_handler_info.cc",
106     "manifest_handlers/file_handler_info.h",
107     "manifest_handlers/icons_handler.cc",
108     "manifest_handlers/icons_handler.h",
109     "manifest_handlers/incognito_info.cc",
110     "manifest_handlers/incognito_info.h",
111     "manifest_handlers/kiosk_mode_info.cc",
112     "manifest_handlers/kiosk_mode_info.h",
113     "manifest_handlers/launcher_page_info.cc",
114     "manifest_handlers/launcher_page_info.h",
115     "manifest_handlers/offline_enabled_info.cc",
116     "manifest_handlers/offline_enabled_info.h",
117     "manifest_handlers/options_page_info.cc",
118     "manifest_handlers/options_page_info.h",
119     "manifest_handlers/permissions_parser.cc",
120     "manifest_handlers/permissions_parser.h",
121     "manifest_handlers/requirements_info.cc",
122     "manifest_handlers/requirements_info.h",
123     "manifest_handlers/sandboxed_page_info.cc",
124     "manifest_handlers/sandboxed_page_info.h",
125     "manifest_handlers/shared_module_info.cc",
126     "manifest_handlers/shared_module_info.h",
127     "manifest_handlers/web_accessible_resources_info.cc",
128     "manifest_handlers/web_accessible_resources_info.h",
129     "manifest_handlers/webview_info.cc",
130     "manifest_handlers/webview_info.h",
131     "message_bundle.cc",
132     "message_bundle.h",
133     "one_shot_event.cc",
134     "one_shot_event.h",
135     "permissions/api_permission.cc",
136     "permissions/api_permission.h",
137     "permissions/api_permission_set.cc",
138     "permissions/api_permission_set.h",
139     "permissions/base_set_operators.h",
140     "permissions/extensions_api_permissions.cc",
141     "permissions/extensions_api_permissions.h",
142     "permissions/manifest_permission.cc",
143     "permissions/manifest_permission.h",
144     "permissions/manifest_permission_set.cc",
145     "permissions/manifest_permission_set.h",
146     "permissions/media_galleries_permission.cc",
147     "permissions/media_galleries_permission.h",
148     "permissions/media_galleries_permission_data.cc",
149     "permissions/media_galleries_permission_data.h",
150     "permissions/permission_message.cc",
151     "permissions/permission_message.h",
152     "permissions/permission_message_provider.cc",
153     "permissions/permission_message_provider.h",
154     "permissions/permission_message_util.cc",
155     "permissions/permission_message_util.h",
156     "permissions/permission_set.cc",
157     "permissions/permission_set.h",
158     "permissions/permissions_data.cc",
159     "permissions/permissions_data.h",
160     "permissions/permissions_info.cc",
161     "permissions/permissions_info.h",
162     "permissions/permissions_provider.h",
163     "permissions/set_disjunction_permission.h",
164     "permissions/settings_override_permission.cc",
165     "permissions/settings_override_permission.h",
166     "permissions/socket_permission.cc",
167     "permissions/socket_permission.h",
168     "permissions/socket_permission_data.cc",
169     "permissions/socket_permission_data.h",
170     "permissions/socket_permission_entry.cc",
171     "permissions/socket_permission_entry.h",
172     "permissions/usb_device_permission.cc",
173     "permissions/usb_device_permission.h",
174     "permissions/usb_device_permission_data.cc",
175     "permissions/usb_device_permission_data.h",
176     "stack_frame.cc",
177     "stack_frame.h",
178     "switches.cc",
179     "switches.h",
180     "update_manifest.cc",
181     "update_manifest.h",
182     "url_pattern.cc",
183     "url_pattern.h",
184     "url_pattern_set.cc",
185     "url_pattern_set.h",
186     "user_script.cc",
187     "user_script.h",
188     "value_counter.cc",
189     "value_counter.h",
190     "view_type.cc",
191     "view_type.h",
192   ]
193
194   deps = [
195     # TODO(benwells): figure out what to do with the api target and
196     # api resources compiled into the chrome resource bundle.
197     # http://crbug.com/162530
198     "//chrome:resources",
199     "//components/crx_file",
200     "//components/url_matcher",
201     "//content/public/common",
202     "//crypto",
203     "//extensions/strings",
204     "//ipc",
205     "//net",
206     "//third_party/icu",
207     "//third_party/libxml",
208     "//third_party/re2",
209     "//ui/base",
210     "//ui/gfx/geometry",
211     "//ui/gfx/ipc",
212     "//url",
213   ]
214
215   if (enable_extensions) {
216     sources -= [
217       "extension_api_stub.cc",
218     ]
219
220     deps += [
221       "//device/bluetooth",
222       "//device/usb",
223       "//extensions/common/api",
224     ]
225   } else {
226     sources -= [
227       "api/bluetooth/bluetooth_manifest_data.cc",
228       "api/bluetooth/bluetooth_manifest_data.h",
229       "api/bluetooth/bluetooth_manifest_handler.cc",
230       "api/bluetooth/bluetooth_manifest_handler.h",
231       "api/bluetooth/bluetooth_manifest_permission.cc",
232       "api/bluetooth/bluetooth_manifest_permission.h",
233       "api/messaging/message.h",
234       "api/sockets/sockets_manifest_data.cc",
235       "api/sockets/sockets_manifest_data.h",
236       "api/sockets/sockets_manifest_handler.cc",
237       "api/sockets/sockets_manifest_handler.h",
238       "api/sockets/sockets_manifest_permission.cc",
239       "api/sockets/sockets_manifest_permission.h",
240       "extension_api.cc",
241       "manifest_handlers/externally_connectable.cc",
242       "manifest_handlers/externally_connectable.h",
243       "manifest_handlers/options_page_info.cc",
244       "manifest_handlers/options_page_info.h",
245     ]
246   }
247
248   if (enable_nacl) {
249     sources += [
250       "manifest_handlers/nacl_modules_handler.cc",
251       "manifest_handlers/nacl_modules_handler.h",
252     ]
253   }
254
255   if (is_win) {
256     cflags = [
257       "/wd4267", # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
258     ]
259   }
260 }