Switch to the branch dev/m38_2125
[platform/framework/web/chromium-efl.git] / tizen_src / impl / chromium-efl.gyp
1 {
2   'variables': {
3     'data_dir%': '/usr/share/chromium-efl/',
4     'exe_dir%': '/usr/lib/chromium-efl/',
5     'edje_dir%': '/usr/share/chromium-efl/themes/',
6     'webdb_dir%': '/usr/share/chromium-efl/db/',
7     'edje_compiler%': 'edje_cc',
8     'ewk_bringup%': 1,
9   },
10
11   'targets': [{
12     'target_name': 'chromium-efl',
13     'type': 'shared_library',
14     'includes': [
15       # NOTE: gyp includes need to be relative
16       '../src/skia/skia_common.gypi',
17     ],
18     'include_dirs': [
19       '.',
20       '<(chrome_src_dir)',
21       '<(chrome_src_dir)/third_party/WebKit', # [M34] without this, build errors occur due to #include path changes in M34. for example, see WebFrame.h.
22       '<(chrome_src_dir)/third_party/skia/include/core',
23
24       '<(PRODUCT_DIR)/gen',
25       '<(SHARED_INTERMEDIATE_DIR)',
26       '<(SHARED_INTERMEDIATE_DIR)/webkit/',
27     ],
28     'dependencies': [
29       '<(chrome_src_dir)/base/allocator/allocator.gyp:allocator',
30       '<(chrome_src_dir)/content/content.gyp:content',
31       '<(chrome_src_dir)/content/content.gyp:content_app_browser',
32       '<(chrome_src_dir)/content/content_shell_and_tests.gyp:content_shell_resources',
33       '<(chrome_src_dir)/content/content_shell_and_tests.gyp:content_shell_pak',
34       '<(chrome_src_dir)/components/components.gyp:visitedlink_browser',
35       '<(chrome_src_dir)/components/components.gyp:visitedlink_renderer',
36       '<(chrome_src_dir)/third_party/icu/icu.gyp:icuuc',
37       '<(chrome_src_dir)/components/components.gyp:sessions',
38 # [M37] TODO:Autofill related code chagned. Need to enable after Fixing.
39       #'<(chrome_src_dir)/components/components.gyp:autofill_content_renderer',
40       #'<(chrome_src_dir)/components/components.gyp:autofill_content_browser',
41       #'<(chrome_src_dir)/components/components.gyp:password_manager_core_common',
42       #'<(chrome_src_dir)/components/components.gyp:password_manager_core_browser',
43     ],
44     'defines': [
45       'CHROMIUMCORE_IMPLEMENTATION=1',
46       'TIZEN_WEBVIEW_IMPLEMENTATION=1',
47       'DATA_DIR="<(data_dir)"',
48       'EXE_DIR="<(exe_dir)"',
49       'EDJE_DIR="<(edje_dir)"',
50       'WEBDB_DIR="<(webdb_dir)"',
51     ],
52     'sources': [
53       'API/ewk_auth_challenge_private.h',
54       'API/ewk_autofill_profile_private.h',
55       'API/ewk_autofill_profile_private.cc',
56       'API/ewk_certificate_private.h',
57       'API/ewk_console_message_private.h',
58       'API/ewk_context_menu_private.h',
59       'API/ewk_cookie_manager_private.h',
60       'API/ewk_error_private.h',
61       'API/ewk_frame_private.h',
62       'API/ewk_frame_private.cc',
63       'API/ewk_geolocation_private.cc',
64       'API/ewk_geolocation_private.h',
65       'API/ewk_hit_test_private.cc',
66       'API/ewk_hit_test_private.h',
67       'API/ewk_notification_private.cc',
68       'API/ewk_notification_private.h',
69       'API/ewk_policy_decision_private.cc',
70       'API/ewk_policy_decision_private.h',
71       'API/ewk_security_origin_private.h',
72       'API/ewk_settings_private.cc',
73       'API/ewk_settings_private.h',
74       'API/ewk_text_style_private.h',
75       'API/ewk_user_media_private.h',
76       'API/ewk_web_application_icon_data_private.h',
77       'API/ewk_web_application_icon_data_private.cc',
78       'EdgeEffect.cpp',
79       'EdgeEffect.h',
80       'browser/autofill/autofill_manager_delegate_efl.cc',
81       'browser/autofill/autofill_manager_delegate_efl.h',
82       'browser/autofill/personal_data_manager_factory.cc',
83       'browser/autofill/personal_data_manager_factory.h',
84       'browser/device_sensors/data_fetcher_impl_tizen.cc',
85       'browser/device_sensors/data_fetcher_impl_tizen.h',
86       'browser/device_sensors/data_fetcher_shared_memory_tizen.cc',
87       'browser/download_manager_delegate_efl.cc',
88       'browser/download_manager_delegate_efl.h',
89       'browser/favicon/favicon_commands.cc',
90       'browser/favicon/favicon_commands.h',
91       'browser/favicon/favicon_database.cc',
92       'browser/favicon/favicon_database.h',
93       'browser/favicon/favicon_database_p.cc',
94       'browser/favicon/favicon_database_p.h',
95       'browser/favicon/favicon_downloader.cc',
96       'browser/favicon/favicon_downloader.h',
97       'browser/favicon/favicon_service.cc',
98       'browser/favicon/favicon_service.h',
99       'browser/geolocation/access_token_store_efl.cc',
100       'browser/geolocation/access_token_store_efl.h',
101       # [M37] Geolocation related code changed. Figure out how to fix it.
102       #'browser/geolocation/geolocation_permission_context_efl.cc',
103       #'browser/geolocation/geolocation_permission_context_efl.h',
104       'browser/geolocation/location_provider_efl.cc',
105       'browser/geolocation/location_provider_efl.h',
106       'browser/inputpicker/InputPicker.cc',
107       'browser/inputpicker/InputPicker.h',
108       'browser/inputpicker/color_chooser_efl.cc',
109       'browser/inputpicker/color_chooser_efl.h',
110       'browser/javascript_dialog_manager_efl.cc',
111       'browser/javascript_dialog_manager_efl.h',
112       'browser/javascript_modal_dialog_efl.cc',
113       'browser/javascript_modal_dialog_efl.h',
114       'browser/login_delegate_efl.cc',
115       'browser/login_delegate_efl.h',
116       'browser/motion/wkext_motion.cc',
117       'browser/motion/wkext_motion.h',
118       'browser/motion/MotionUI.cc',
119       'browser/motion/MotionUI.h',
120       'browser/navigation_policy_handler_efl.cc',
121       'browser/navigation_policy_handler_efl.h',
122       'browser/resource_dispatcher_host_delegate_efl.h',
123       'browser/resource_dispatcher_host_delegate_efl.cc',
124       'browser/password_manager/password_manager_client_efl.cc',
125       'browser/password_manager/password_manager_client_efl.h',
126       'browser/password_manager/content_password_manager_driver.cc',
127       'browser/password_manager/content_password_manager_driver.h',
128       'browser/password_manager/password_form_manager.cc',
129       'browser/password_manager/password_form_manager.h',
130       'browser/password_manager/password_generation_manager.cc',
131       'browser/password_manager/password_generation_manager.h',
132       'browser/password_manager/password_manager.cc',
133       'browser/password_manager/password_manager.h',
134       'browser/password_manager/password_manager_client.cc',
135       'browser/password_manager/password_manager_client.h',
136       'browser/password_manager/password_manager_driver.h',
137       'browser/password_manager/password_manager_util.h',
138       'browser/password_manager/password_manager_util_efl.cc',
139       'browser/password_manager/password_store_factory.cc',
140       'browser/password_manager/password_store_factory.h',
141       'browser/policy_response_delegate_efl.cc',
142       'browser/policy_response_delegate_efl.h',
143       # [M37] backing store support removed from chromium. Efl implementations should probably also be removed
144       #'browser/renderer_host/backing_store_efl.cc',
145       #'browser/renderer_host/backing_store_efl.h',
146       'browser/renderer_host/browsing_data_remover_efl.cc',
147       'browser/renderer_host/browsing_data_remover_efl.h',
148       'browser/renderer_host/im_context_efl.cc',
149       'browser/renderer_host/im_context_efl.h',
150       'browser/renderer_host/native_web_keyboard_event_efl.cc',
151       'browser/renderer_host/render_message_filter_efl.cc',
152       'browser/renderer_host/render_message_filter_efl.h',
153       'browser/renderer_host/render_widget_host_view_efl.cc',
154       'browser/renderer_host/render_widget_host_view_efl.h',
155       'browser/renderer_host/scroll_detector.cc',
156       'browser/renderer_host/scroll_detector.h',
157       # The same files is present in src/content, do we need another copy if it?
158       #'browser/renderer_host/touchpad_tap_suppression_controller_efl.cc',
159       'browser/renderer_host/web_cache_manager_efl.cc',
160       'browser/renderer_host/web_cache_manager_efl.h',
161       'browser/renderer_host/web_event_factory_efl.cc',
162       'browser/renderer_host/web_event_factory_efl.h',
163       'browser/scoped_wait_for_ewk.h',
164       'browser/selectpicker/WebPopupItem.cc',
165       'browser/selectpicker/WebPopupItem.h',
166       'browser/selectpicker/popup_menu_item.cc',
167       'browser/selectpicker/popup_menu_item.h',
168       'browser/selectpicker/popup_menu_item_private.h',
169       'browser/selectpicker/popup_picker.cc',
170       'browser/selectpicker/popup_picker.h',
171       'browser/vibration/vibration_message_filter.cc',
172       'browser/vibration/vibration_message_filter.h',
173       'browser/vibration/vibration_provider_client.cc',
174       'browser/vibration/vibration_provider_client.h',
175       'browser/web_contents/web_contents_view_efl.cc',
176       'browser/web_contents/web_contents_view_efl.h',
177       'browser/web_contents/web_drag_dest_efl.cc',
178       'browser/web_contents/web_drag_dest_efl.h',
179       'browser/webdata/web_data_service.cc',
180       'browser/webdata/web_data_service.h',
181       'browser/webdata/web_data_service_factory.h',
182       'browser/webdata/web_data_service_factory.cc',
183       'browser_context_efl.cc',
184       'browser_context_efl.h',
185       'browser_main_parts_efl.cc',
186       'browser_main_parts_efl.h',
187       'cache_params_efl.h',
188       'command_line_efl.cc',
189       'command_line_efl.h',
190
191       'common/content_client_efl.cc',
192       'common/content_client_efl.h',
193       'common/image_transport_surface_linux_nodcheck.cc',
194       'common/message_generator_efl.cc',
195       'common/message_generator_efl.h',
196       'common/render_messages_efl.h',
197       'common/version_info.cc',
198       'common/version_info.h',
199       'common/version_info_efl.h',
200       'common/web_contents_utils.cc',
201       'common/web_contents_utils.h',
202       'common/webcursor_efl.cc',
203       'common/webcursor_efl.h',
204       'components/clipboard/clipboard_efl.cc',
205       'components/clipboard/clipboard_helper_efl.cc',
206       'components/clipboard/clipboard_helper_efl.h',
207       'components/editing/content/browser/editor_client_observer.cc',
208       'components/editing/content/browser/editor_client_observer.h',
209       'components/editing/content/common/editing_messages.h',
210       'components/editing/content/renderer/editorclient_agent.cc',
211       'components/editing/content/renderer/editorclient_agent.h',
212       'content_browser_client_efl.cc',
213       'content_browser_client_efl.h',
214
215       'autofill_popup_view_efl.h',
216       'autofill_popup_view_efl.cc',
217       'content_main_delegate_efl.cc',
218       'content_main_delegate_efl.h',
219       'context_menu_controller_efl.cc',
220       'context_menu_controller_efl.h',
221       'cookie_manager.cc',
222       'cookie_manager.h',
223       'devtools_delegate_efl.cc',
224       'devtools_delegate_efl.h',
225       'eweb_context.cc',
226       'eweb_context.h',
227       'eweb_view.cc',
228       'eweb_view.h',
229       'eweb_view_callbacks.h',
230       'ewk_global_data.h',
231       'ewk_global_data.cc',
232       'file_chooser_controller_efl.cc',
233       'file_chooser_controller_efl.h',
234       'memory_purger.cc',
235       'memory_purger.h',
236       'memory_sampler.cc',
237       'memory_sampler.h',
238       'message_pump_for_ui_efl.cc',
239       'message_pump_for_ui_efl.h',
240       'navigation_policy_params.h',
241       'network_delegate_efl.cc',
242       'network_delegate_efl.h',
243       'paths_efl.cc',
244       'paths_efl.h',
245       'popup_controller_efl.cc',
246       'popup_controller_efl.h',
247       'renderer/content_renderer_client_efl.cc',
248       'renderer/content_renderer_client_efl.h',
249       'renderer/print_pages_params.cc',
250       'renderer/print_pages_params.h',
251       'renderer/print_web_view_helper_efl.cc',
252       'renderer/print_web_view_helper_efl.h',
253       'renderer/render_process_observer_efl.cc',
254       'renderer/render_process_observer_efl.h',
255       'renderer/render_view_observer_efl.cc',
256       'renderer/render_view_observer_efl.h',
257
258       'resource/JavaScriptPopup.edc',
259       'resource/AutofillPopup.edc',
260       'resource/Edge.edc',
261       'resource/Magnifier.edc',
262       'resource/control.edc',
263
264       'screen_efl.cc',
265       'screen_efl.h',
266       'selection_box_efl.cc',
267       'selection_box_efl.h',
268       'selection_controller_efl.cc',
269       'selection_controller_efl.h',
270       'selection_handle_efl.cc',
271       'selection_handle_efl.h',
272       'selection_magnifier_efl.cc',
273       'selection_magnifier_efl.h',
274       # tizen_webview
275       #TODO: making separate gyp for tizen_webview
276       'tizen_webview/public/tw_content_security_policy.h',
277       'tizen_webview/public/tw_context_menu_controller.h',
278       'tizen_webview/public/tw_context_menu_controller.cc',
279       'tizen_webview/public/tw_custom_handlers.h',
280       'tizen_webview/public/tw_custom_handlers.cc',
281       'tizen_webview/public/tw_hit_test.h',
282       'tizen_webview/public/tw_hit_test.cc',
283       'tizen_webview/public/tw_notification.cc',
284       'tizen_webview/public/tw_notification.h',
285       'tizen_webview/public/tw_policy_decision.h',
286       'tizen_webview/public/tw_policy_decision.cc',
287       'tizen_webview/public/tw_security_origin.cc',
288       'tizen_webview/public/tw_security_origin.h',
289       'tizen_webview/public/tw_selection_controller.h',
290       'tizen_webview/public/tw_selection_controller.cc',
291       'tizen_webview/public/tw_touch_point.h',
292       'tizen_webview/public/tw_touch_point.cc',
293       'tizen_webview/public/tw_url.cc',
294       'tizen_webview/public/tw_url.h',
295       'tizen_webview/public/tw_web_context.h',
296       'tizen_webview/public/tw_web_context.cc',
297       'tizen_webview/public/tw_webview.cc',
298       'tizen_webview/public/tw_webview_delegate.h',
299       'tizen_webview/public/tw_webview_delegate.cc',
300       'tizen_webview/public/tw_webview_evas_event_handler.h',
301       'tizen_webview/public/tw_webview_evas_event_handler.cc',
302       'tizen_webview/public/tw_wrt.h',
303       'tizen_webview/public/tw_wrt.h',
304       'tizen_webview/public/tw_wrt.cc',
305       'tizen_webview/tw_misc_utility.h',
306       'tizen_webview/tw_misc_utility.cc',
307       'url_request_context_getter_efl.cc',
308       'url_request_context_getter_efl.h',
309       'web_contents_delegate_efl.cc',
310       'web_contents_delegate_efl.h',
311       'web_process_content_main_delegate_efl.cc',
312       'web_process_content_main_delegate_efl.h',
313       'wrt/dynamicplugin.cc',
314       'wrt/dynamicplugin.h',
315       'wrt/wrtwidget.cc',
316       'wrt/wrtwidget.h',
317     ],
318     'cflags!': [
319       # Symbol visibility controled by chromium-efl.filter
320       '-fvisibility=hidden',
321     ],
322     'link_settings': {
323       'ldflags': [
324         '-Wl,--no-undefined',
325         '-Wl,--version-script,<(efl_impl_dir)/chromium-efl.filter',
326         '-rdynamic',
327       ],
328       'conditions': [
329         ['_toolset=="target"', {
330           'libraries': [ '<!($(echo ${CXX_target:-g++}) -print-libgcc-file-name)', ]
331         }],
332         ['notifications==1', {
333           'sources': [
334             'browser/notification/notification_controller_efl.cc',
335             'browser/notification/notification_controller_efl.h',
336           ],
337         }],
338       ],
339     },
340     'rules': [{
341         'rule_name': 'edje_resources',
342         'message': 'Compiling edje files <(RULE_INPUT_NAME)',
343         'extension': 'edc',
344         'outputs': [
345           '<(PRODUCT_DIR)/resources/<(RULE_INPUT_ROOT).edj',
346         ],
347         'action': [
348           '<(edje_compiler)',
349           '-id', 'resource/images',
350           '<(RULE_INPUT_PATH)',
351           '<(PRODUCT_DIR)/resources/<(RULE_INPUT_ROOT).edj',
352         ],
353     }], # rules
354     'conditions': [
355       ['ewk_bringup==1', {
356         'defines': [ 'EWK_BRINGUP=1' ],
357       }],
358       ['enable_printing==0', {
359         'sources!': [
360           'renderer/print_pages_params.cc',
361           'renderer/print_pages_params.h',
362           'renderer/print_web_view_helper_efl.cc',
363           'renderer/print_web_view_helper_efl.h',
364         ],
365       }],
366     ],
367     'actions': [{
368       'action_name': 'generate_pkgconfigs',
369       'variables': {
370         'generator_path': 'pkgconfig/gen_pkgconfigs.py',
371       },
372       'inputs': [
373         '<(generator_path)',
374       ],
375       'outputs': [
376         '<(PRODUCT_DIR)/pkgconfig/chromium-efl.pc',
377         '<(PRODUCT_DIR)/pkgconfig/desktop/chromium-efl.pc',
378       ],
379       'action': [
380         'python', '<(generator_path)',
381         '--out-dir', '<(PRODUCT_DIR)',
382         '--defines', '${defines}',
383         '--chrome-src', '<(chrome_src_dir)',
384       ],
385     }], # actions
386   },
387   {
388     'target_name': 'efl_webprocess',
389     'defines': [
390       'DATA_DIR="<(data_dir)"',
391       'EXE_DIR="<(exe_dir)"',
392       'EDJE_DIR="<(edje_dir)"',
393       'WEBDB_DIR="<(webdb_dir)"',
394     ],
395     'type': 'executable',
396     'include_dirs': [
397       '.',
398     ],
399     'sources': [
400       'web_process.cc',
401     ],
402     'dependencies': [
403       'chromium-efl',
404     ],
405   },
406   ],
407 }