meson: move all tizen specific dependancy to 'tizen' option
[platform/upstream/efl.git] / src / lib / elementary / meson.build
1 pub_legacy_eo_files = [
2   'efl_ui_clock_legacy.eo',
3   'elm_ctxpopup_part.eo',
4   'elm_dayselector_part.eo',
5   'elm_entry_part.eo',
6   'elm_fileselector_entry_part.eo',
7   'elm_flip_part.eo',
8   'elm_hover_part.eo',
9   'elm_mapbuf_part.eo',
10   'elm_naviframe_part.eo',
11   'elm_notify_part.eo',
12   'elm_panel_part.eo',
13   'elm_player_part.eo',
14   'elm_popup_part.eo',
15   'elm_scroller_part.eo',
16   'elm_label_part.eo',
17   'elm_actionslider_part.eo',
18   'elm_bubble_part.eo',
19   'elm_fileselector_part.eo',
20 ]
21
22 #<--TIZEN_ONLY
23 pub_legacy_eo_files += [
24 ]
25 #TIZEN_ONLY-->
26
27 pub_eo_file_target = []
28
29 foreach eo_file : pub_legacy_eo_files
30   pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
31     input : eo_file,
32     output : [eo_file + '.h'],
33     depfile : eo_file + '.d',
34     install : true,
35     install_dir : dir_package_include,
36     command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
37                            '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
38                            '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
39                            '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
40                            '-gchd', '@INPUT@'])
41
42 endforeach
43
44 pub_eo_files = [
45   'efl_ui_widget.eo',
46   'efl_ui_bg.eo',
47   'efl_ui_button.eo',
48   'efl_ui_calendar.eo',
49   'efl_ui_calendar_item.eo',
50   'efl_ui_check.eo',
51   'efl_ui_flip.eo',
52   'efl_ui_frame.eo',
53   'efl_ui_image.eo',
54   'efl_ui_image_zoomable.eo',
55   'efl_ui_layout.eo',
56   'efl_ui_layout_base.eo',
57   'efl_ui_navigation_bar.eo',
58   'efl_ui_navigation_bar_part.eo',
59   'efl_ui_navigation_bar_part_back_button.eo',
60   'efl_ui_navigation_layout.eo',
61   'efl_ui_panes.eo',
62   'efl_ui_progressbar.eo',
63   'efl_ui_radio.eo',
64   'efl_ui_radio_group.eo',
65   'efl_ui_radio_box.eo',
66   'efl_ui_radio_group_impl.eo',
67   'efl_ui_slider.eo',
68   'efl_ui_slider_interval.eo',
69   'efl_ui_spin.eo',
70   'efl_ui_spin_button.eo',
71   'efl_ui_panel.eo',
72   'efl_ui_datepicker.eo',
73   'efl_ui_timepicker.eo',
74   'efl_ui_tags.eo',
75   'efl_ui_video.eo',
76   'efl_ui_win.eo',
77   'efl_ui_win_inlined.eo',
78   'efl_ui_win_socket.eo',
79   'efl_ui_box.eo',
80   'efl_ui_box_flow.eo',
81   'efl_ui_box_stack.eo',
82   'efl_ui_table.eo',
83   'efl_ui_table_static.eo',
84   'efl_text_interactive.eo',
85   'efl_ui_text.eo',
86   'efl_ui_popup.eo',
87   'efl_ui_popup_part_backwall.eo',
88   'efl_ui_alert_popup.eo',
89   'efl_ui_alert_popup_part.eo',
90   'efl_ui_scroll_alert_popup.eo',
91   'efl_ui_scroll_alert_popup_part.eo',
92   'efl_ui_text_alert_popup.eo',
93   'efl_ui_text_alert_popup_part.eo',
94   'efl_ui_anchor_popup.eo',
95   'efl_ui_text_editable.eo',
96   'efl_ui_text_async.eo',
97   'efl_ui_text_factory_images.eo',
98   'efl_ui_text_factory_emoticons.eo',
99   'efl_ui_text_factory_fallback.eo',
100   'efl_ui_textpath.eo',
101   'efl_ui_l10n.eo',
102   'efl_ui_clock.eo',
103   'efl_ui_image_factory.eo',
104   'efl_ui_focus_manager.eo',
105   'efl_ui_focus_manager_calc.eo',
106   'efl_ui_focus_manager_sub.eo',
107   'efl_ui_focus_manager_root_focus.eo',
108   'efl_ui_focus_object.eo',
109   'efl_ui_focus_layer.eo',
110   'efl_ui_focus_composition.eo',
111   'efl_ui_focus_util.eo',
112   'efl_ui_flip_part.eo',
113   'efl_ui_layout_factory.eo',
114   'efl_ui_layout_part.eo',
115   'efl_ui_layout_part_box.eo',
116   'efl_ui_layout_part_content.eo',
117   'efl_ui_layout_part_text.eo',
118   'efl_ui_layout_part_table.eo',
119   'efl_ui_layout_part_bg.eo',
120   'efl_ui_layout_part_legacy.eo',
121   'efl_ui_list_view.eo',
122   'efl_ui_list_view_model.eo',
123   'efl_ui_list_view_pan.eo',
124   'efl_ui_item_part_text.eo',
125   'efl_ui_item_part_icon.eo',
126   'efl_ui_item_part_extra.eo',
127   'efl_ui_item_part_content.eo',
128   'efl_ui_item.eo',
129   'efl_ui_list_item.eo',
130   'efl_ui_list_default_item.eo',
131   'efl_ui_list_placeholder_item.eo',
132   'efl_ui_list.eo',
133   'efl_ui_grid_item.eo',
134   'efl_ui_grid_default_item.eo',
135   'efl_ui_grid.eo',
136   'efl_ui_panes_part.eo',
137   'efl_ui_progressbar_part.eo',
138   'efl_ui_textpath_part.eo',
139   'efl_ui_widget_part.eo',
140   'efl_ui_widget_part_bg.eo',
141   'efl_ui_widget_part_shadow.eo',
142   'efl_ui_win_part.eo',
143   'efl_ui_scroller.eo',
144   'efl_ui_scroll_manager.eo',
145   'efl_ui_pan.eo',
146   'efl_access_object.eo',
147   'efl_access_action.eo',
148   'efl_access_component.eo',
149   'efl_access_editable_text.eo',
150   'efl_access_selection.eo',
151   'efl_access_text.eo',
152   'efl_access_value.eo',
153   'efl_access_widget_action.eo',
154   'efl_access_window.eo',
155   'efl_ui_theme.eo',
156   'efl_config_global.eo',
157   'elm_code_widget.eo',
158   'efl_ui_selection.eo',
159   'efl_ui_dnd.eo',
160   'efl_ui_dnd_container.eo',
161   'efl_ui_focus_manager_window_root.eo',
162   'efl_ui_spotlight_container.eo',
163   'efl_ui_spotlight_manager.eo',
164   'efl_ui_spotlight_manager_scroll.eo',
165   'efl_ui_spotlight_manager_stack.eo',
166   'efl_ui_spotlight_indicator.eo',
167   'efl_ui_spotlight_indicator_icon.eo',
168   'efl_ui_spotlight_util.eo',
169   'efl_ui_tab_pager.eo',
170   'efl_ui_tab_bar.eo',
171   'efl_ui_tab_page.eo',
172   'efl_ui_tab_page_part_tab.eo',
173   'efl_ui_widget_focus_manager.eo',
174   'efl_ui_legacy.eo',
175   'efl_ui_button_legacy_part.eo',
176   'efl_ui_radio_legacy_part.eo',
177   'efl_ui_check_legacy_part.eo',
178   'efl_ui_progressbar_legacy_part.eo',
179   'elm_multibuttonentry_part.eo',
180   'elm_interface_scrollable.eo',
181   'efl_ui_image_zoomable_pan.eo',
182   'efl_ui_text_part.eo',
183   'efl_ui_caching_factory.eo',
184   'efl_ui_widget_factory.eo',
185   'efl_ui_relative_layout.eo',
186   'efl_ui_clickable.eo',
187   'efl_ui_clickable_util.eo',
188   'efl_ui_format.eo',
189 ]
190
191 #<--TIZEN_ONLY
192 pub_eo_files += [
193   'efl_ui_animation_view.eo',
194 ]
195 #TIZEN_ONLY-->
196
197 foreach eo_file : pub_eo_files
198   pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
199     input : eo_file,
200     output : [eo_file + '.h'],
201     depfile : eo_file + '.d',
202     install : true,
203     install_dir : dir_package_include,
204     command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
205                            '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
206                            '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
207                            '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
208                            '-gchd', '@INPUT@'])
209 endforeach
210
211
212 pub_eo_types_files = [
213   'elm_general.eot',
214   'efl_ui.eot',
215   'efl_ui_list_view_types.eot',
216   'efl_ui_selection_types.eot',
217   'efl_ui_dnd_types.eot'
218 ]
219
220 foreach eo_file : pub_eo_types_files
221   pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
222     input : eo_file,
223     output : [eo_file + '.h'],
224     depfile : eo_file + '.d',
225     install : true,
226     install_dir : dir_package_include,
227     command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
228                            '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
229                            '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
230                            '-ghd', '@INPUT@'])
231 endforeach
232
233 priv_eo_files = [
234   'efl_ui_internal_text_interactive.eo',
235   'efl_ui_internal_text_scroller.eo',
236   'efl_ui_focus_composition_adapter.eo',
237   'efl_ui_focus_parent_provider.eo',
238   'efl_ui_focus_parent_provider_standard.eo',
239   'efl_ui_state_model.eo',
240   'efl_ui_selection_manager.eo',
241   'efl_datetime_manager.eo',
242   'efl_ui_list_view_precise_layouter.eo',
243   'efl_ui_list_view_relayout.eo',
244   'efl_ui_size_model.eo',
245   'efl_ui_homogeneous_model.eo',
246   'efl_ui_exact_model.eo',
247   'efl_ui_average_model.eo',
248   'efl_ui_spotlight_manager_plain.eo',
249 ]
250
251 priv_eo_file_target = []
252
253 foreach eo_file : priv_eo_files
254   priv_eo_file_target += custom_target('eolian_gen_' + eo_file,
255     input : eo_file,
256     output : [eo_file + '.h'],
257     depfile : eo_file + '.d',
258     command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
259                            '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
260                            '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
261                            '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
262                            '-gchd', '@INPUT@'])
263 endforeach
264
265 eolian_include_directories += ['-I', meson.current_source_dir()]
266
267 embed_script = find_program('config_embed')
268
269 embed_config = custom_target('create_embedded_default_config',
270   input: join_paths(meson.source_root(), 'data', 'elementary', 'config', 'standard', 'base.src.in'),
271   output: 'elm_default_config.x',
272   command: [embed_script, '@INPUT@', '@OUTPUT@']
273 )
274
275 elementary_headers_unstable = [
276   'elm_gen_common.h',
277   'efl_access_object.h',
278   'efl_access_text.h',
279   'efl_access_widget_action.h',
280   'efl_access_window.h',
281   'elm_interface_fileselector.h',
282   'elm_interface_scrollable.h',
283   'elm_interfaces.h',
284   'elm_widget.h',
285   'elm_widget_actionslider.h',
286   'elm_widget_box.h',
287   'elm_widget_bubble.h',
288   'efl_ui_button_private.h',
289   'efl_ui_bg_private.h',
290   'elm_widget_calendar.h',
291   'efl_ui_calendar_private.h',
292   'efl_ui_check_private.h',
293   'elm_widget_clock.h',
294   'elm_widget_colorselector.h',
295   'elm_widget_conform.h',
296   'elm_widget_container.h',
297   'elm_widget_combobox.h',
298   'elm_widget_ctxpopup.h',
299   'elm_widget_dayselector.h',
300   'elm_widget_diskselector.h',
301   'elm_widget_entry.h',
302   'elm_widget_fileselector.h',
303   'elm_widget_fileselector_button.h',
304   'elm_widget_fileselector_entry.h',
305   'efl_ui_widget_flip.h',
306   'elm_widget_flipselector.h',
307   'efl_ui_widget_frame.h',
308   'elm_widget_gengrid.h',
309   'elm_widget_genlist.h',
310   'elm_widget_glview.h',
311   'elm_widget_grid.h',
312   'elm_widget_hover.h',
313   'elm_widget_hoversel.h',
314   'elm_widget_icon.h',
315   'efl_ui_widget_image.h',
316   'efl_ui_popup_private.h',
317   'efl_ui_alert_popup_private.h',
318   'efl_ui_scroll_alert_popup_private.h',
319   'efl_ui_text_alert_popup_private.h',
320   'efl_ui_anchor_popup_private.h',
321   'elm_widget_index.h',
322   'elm_widget_inwin.h',
323   'elm_widget_label.h',
324   'elm_widget_layout.h',
325   'elm_widget_list.h',
326   'elm_widget_map.h',
327   'elm_widget_mapbuf.h',
328   'elm_widget_menu.h',
329   'elm_widget_multibuttonentry.h',
330   'elm_widget_naviframe.h',
331   'efl_ui_navigation_bar_private.h',
332   'efl_ui_navigation_layout_private.h',
333   'elm_widget_notify.h',
334   'elm_widget_panel.h',
335   'efl_ui_panes_private.h',
336   'elm_widget_photo.h',
337   'efl_ui_image_zoomable_private.h',
338   'elm_widget_player.h',
339   'elm_widget_plug.h',
340   'elm_widget_popup.h',
341   'elm_widget_prefs.h',
342   'efl_ui_progressbar_private.h',
343   'efl_ui_radio_private.h',
344   'elm_widget_route.h',
345   'elm_widget_scroller.h',
346   'elm_widget_segment_control.h',
347   'elm_widget_separator.h',
348   'elm_widget_slider.h',
349   'efl_ui_slider_private.h',
350   'efl_ui_slider_interval_private.h',
351   'elm_widget_slideshow.h',
352   'elm_widget_spinner.h',
353   'efl_ui_spin_private.h',
354   'efl_ui_spin_button_private.h',
355   'efl_ui_panel_private.h',
356   'efl_ui_datepicker_private.h',
357   'efl_ui_timepicker_private.h',
358   'efl_ui_tags_private.h',
359   'elm_widget_table.h',
360   'elm_widget_thumb.h',
361   'elm_widget_toolbar.h',
362   'efl_ui_video_private.h',
363   'efl_ui_item_private.h',
364   'efl_ui_list_item_private.h',
365   'efl_ui_list_private.h',
366   'efl_ui_grid_item_private.h',
367   'efl_ui_grid_private.h',
368   'efl_ui_list_view_private.h',
369   'efl_ui_list_view_seg_array.h',
370   'elm_widget_web.h',
371   'efl_ui_clock.h',
372   'elm_code.h',
373   'elm_code_widget_legacy.h',
374   'elm_code_widget_selection.h',
375   'elm_code_diff_widget.h',
376   'elm_code_common.h',
377   'elm_code_line.h',
378   'elm_code_text.h',
379   'elm_code_indent.h',
380   'elm_code_file.h',
381   'elm_code_parse.h',
382   'elm_code_syntax.h',
383   'efl_ui_widget_scroller.h',
384   'efl_ui_widget_scroll_manager.h',
385   'efl_ui_widget_pan.h',
386   'Efl_Ui.h',
387   'efl_ui_tab_pager_private.h',
388   'efl_ui_tab_bar_private.h',
389   'efl_ui_tab_page_private.h',
390   'efl_ui_relative_layout_private.h'
391 ]
392
393 #<--TIZEN_ONLY
394 elementary_headers_unstable += [
395   'efl_ui_animation_view_private.h',
396   'elm_atspi_ewk_wrapper.h',
397   'efl_access_legacy.h',
398   'efl_ui_clock_private.h',
399 ]
400
401 elementary_headers_unstable_tizen = [
402   'elm_widget_ctxpopup.h',
403   'elm_widget_genlist.h',
404 ]
405
406 elementary_headers_unstable_tizen_tmp = []
407 foreach item : elementary_headers_unstable_tizen
408   if elementary_headers_unstable_tizen.contains(item) == true
409     elementary_headers_unstable_tizen_tmp += '../elementary_tizen/' + item
410   else
411     elementary_headers_unstable_tizen_tmp += item
412   endif
413 endforeach
414 elementary_headers_unstable_tizen = elementary_headers_unstable_tizen_tmp
415 #TIZEN_ONLY-->
416
417 elementary_pub_headers = [
418   'elc_ctxpopup.h',
419   'elc_ctxpopup_legacy.h',
420   'elc_combobox.h',
421   'elc_combobox_legacy.h',
422   'elc_fileselector.h',
423   'elc_fileselector_legacy.h',
424   'elc_fileselector_common.h',
425   'elc_fileselector_button.h',
426   'elc_fileselector_button_legacy.h',
427   'elc_fileselector_entry.h',
428   'elc_fileselector_entry_legacy.h',
429   'elc_hoversel.h',
430   'elc_hoversel_legacy.h',
431   'elc_multibuttonentry.h',
432   'elc_multibuttonentry_eo.h',
433   'elc_multibuttonentry_legacy.h',
434   'elc_multibuttonentry_common.h',
435   'elc_naviframe.h',
436   'elc_naviframe_legacy.h',
437   'elc_naviframe_common.h',
438   'elc_popup.h',
439   'elc_popup_legacy.h',
440   'elm_access.h',
441   'elm_actionslider.h',
442   'elm_actionslider_legacy.h',
443   'elm_app.h',
444   'elm_atspi_app_object.h',
445   'elm_atspi_app_object_eo.legacy.h',
446   'elm_atspi_bridge.h',
447   'elm_atspi_bridge_eo.legacy.h',
448   'elm_authors.h',
449   'elm_bg.h',
450   'elm_bg_legacy.h',
451   'elm_box.h',
452   'elm_box_legacy.h',
453   'elm_box_common.h',
454   'elm_bubble.h',
455   'elm_bubble_legacy.h',
456   'elm_button.h',
457   'efl_ui_widget_common.h',
458   'efl_ui_button_eo.h',
459   'elm_button_legacy.h',
460   'elm_cache.h',
461   'elm_calendar.h',
462   'elm_calendar_legacy.h',
463   'elm_calendar_common.h',
464   'efl_ui_calendar.h',
465   'elm_check.h',
466   'efl_ui_check_eo.h',
467   'elm_check_legacy.h',
468   'elm_clock.h',
469   'elm_clock_legacy.h',
470   'elm_cnp.h',
471   'elm_colorselector.h',
472   'elm_colorselector_legacy.h',
473   'elm_colorselector_common.h',
474   'elm_color_class.h',
475   'elm_config.h',
476   'elm_conform.h',
477   'elm_conform_legacy.h',
478   'elm_cursor.h',
479   'elm_datetime.h',
480   'elm_dayselector.h',
481   'elm_dayselector_legacy.h',
482   'elm_debug.h',
483   'elm_deprecated.h',
484   'elm_diskselector.h',
485   'elm_diskselector_common.h',
486   'elm_diskselector_legacy.h',
487   'elm_entry.h',
488   'elm_entry_common.h',
489   'elm_entry_eo.h',
490   'elm_entry_legacy.h',
491   'elm_finger.h',
492   'elm_flip.h',
493   'efl_ui_flip_eo.h',
494   'efl_ui_flip_legacy.h',
495   'elm_flipselector.h',
496   'elm_flipselector_legacy.h',
497   'elm_focus.h',
498   'elm_focus_item.h',
499   'elm_font.h',
500   'elm_frame.h',
501   'efl_ui_frame_eo.h',
502   'efl_ui_frame_legacy.h',
503   'elm_gen.h',
504   'elm_general.h',
505   'elm_gengrid.h',
506   'elm_gengrid_common.h',
507   'elm_gengrid_legacy.h',
508   'elm_genlist.h',
509   'elm_genlist_common.h',
510   'elm_genlist_legacy.h',
511   'elm_gesture_layer.h',
512   'elm_gesture_layer_common.h',
513   'elm_gesture_layer_legacy.h',
514   'elm_getting_started.h',
515   'elm_glview.h',
516   'elm_glview_common.h',
517   'elm_glview_legacy.h',
518   'elm_grid.h',
519   'elm_grid_legacy.h',
520   'elm_hover.h',
521   'elm_hover_legacy.h',
522   'elm_icon.h',
523   'elm_icon_legacy.h',
524   'elm_image.h',
525   'elm_image_eo.h',
526   'elm_image_legacy.h',
527   'elm_index.h',
528   'elm_index_legacy.h',
529   'elm_inwin.h',
530   'elm_inwin_legacy.h',
531   'elm_label.h',
532   'elm_label_legacy.h',
533   'elm_layout.h',
534   'elm_layout_common.h',
535   'elm_layout_legacy.h',
536   'elm_list.h',
537   'elm_list_legacy.h',
538   'elm_macros.h',
539   'elm_map.h',
540   'elm_map_common.h',
541   'elm_map_legacy.h',
542   'elm_mapbuf.h',
543   'elm_mapbuf_legacy.h',
544   'elm_menu.h',
545   'elm_menu_legacy.h',
546   'elm_mirroring.h',
547   'elm_need.h',
548   'elm_notify.h',
549   'elm_notify_common.h',
550   'elm_notify_legacy.h',
551   'elm_object.h',
552   'elm_object_item.h',
553   'elm_panel.h',
554   'elm_panel_common.h',
555   'elm_panel_legacy.h',
556   'elm_panes.h',
557   'efl_ui_panes_eo.h',
558   'elm_panes_legacy.h',
559   'elm_photo.h',
560   'elm_photo_legacy.h',
561   'elm_photocam.h',
562   'efl_ui_image_zoomable_eo.h',
563   'elm_photocam_legacy.h',
564   'elm_plug.h',
565   'elm_plug_legacy.h',
566   'elm_prefs.h',
567   'elm_prefs_common.h',
568   'elm_prefs_legacy.h',
569   'elm_prefs_data.h',
570   'elm_progressbar.h',
571   'elm_progressbar_common.h',
572   'efl_ui_progressbar_eo.h',
573   'elm_progressbar_legacy.h',
574   'elm_radio.h',
575   'efl_ui_radio_eo.h',
576   'elm_radio_legacy.h',
577   'elm_route.h',
578   'elm_route_legacy.h',
579   'elm_scale.h',
580   'elm_scroll.h',
581   'elm_scroller.h',
582   'elm_scroller_legacy.h',
583   'elm_segment_control.h',
584   'elm_segment_control_legacy.h',
585   'elm_separator.h',
586   'elm_separator_legacy.h',
587   'elm_slider.h',
588   'elm_slider_common.h',
589   'elm_slider_legacy.h',
590   'elm_slideshow.h',
591   'elm_slideshow_common.h',
592   'elm_slideshow_legacy.h',
593   'elm_spinner.h',
594   'elm_spinner_legacy.h',
595   'elm_store.h',
596   'elm_systray.h',
597   'elm_systray_common.h',
598   'elm_systray_watcher.h',
599   'elm_sys_notify.h',
600   'elm_table.h',
601   'elm_table_legacy.h',
602   'elm_theme.h',
603   'elm_thumb.h',
604   'elm_thumb_common.h',
605   'elm_thumb_legacy.h',
606   'elm_textpath.h',
607   'elm_textpath_legacy.h',
608   'elm_toolbar.h',
609   'elm_toolbar_common.h',
610   'elm_toolbar_eo.h',
611   'elm_toolbar_legacy.h',
612   'elm_tooltip.h',
613   'elm_transit.h',
614   'efl_ui_video.h',
615   'efl_ui_video_eo.h',
616   'efl_ui_video_legacy.h',
617   'elm_view_list.h',
618   'elm_view_form.h',
619   'elm_web.h',
620   'elm_web_common.h',
621   'elm_web_eo.h',
622   'elm_web_legacy.h',
623   'elm_win.h',
624   'elm_win_common.h',
625   'elm_win_eo.h',
626   'elm_win_legacy.h',
627   'elm_helper.h',
628   'elm_part_helper.h',
629   'efl_ui_bg_eo.legacy.h',
630   'efl_ui_bg_legacy_eo.legacy.h',
631   'efl_ui_button_eo.legacy.h',
632   'efl_ui_button_legacy_eo.legacy.h',
633   'efl_ui_check_eo.legacy.h',
634   'efl_ui_check_legacy_eo.legacy.h',
635   'efl_ui_flip_eo.legacy.h',
636   'efl_ui_flip_legacy_eo.legacy.h',
637   'efl_ui_frame_eo.legacy.h',
638   'efl_ui_frame_legacy_eo.legacy.h',
639   'efl_ui_image_legacy_eo.legacy.h',
640   'efl_ui_image_zoomable_eo.legacy.h',
641   'efl_ui_image_zoomable_legacy_eo.legacy.h',
642   'efl_ui_layout_legacy_eo.legacy.h',
643   'efl_ui_panes_eo.legacy.h',
644   'efl_ui_panes_legacy_eo.legacy.h',
645   'efl_ui_progressbar_legacy_eo.legacy.h',
646   'efl_ui_radio_eo.legacy.h',
647   'efl_ui_radio_legacy_eo.legacy.h',
648   'efl_ui_textpath_eo.legacy.h',
649   'efl_ui_textpath_legacy_eo.legacy.h',
650   'efl_ui_video_eo.legacy.h',
651   'efl_ui_video_legacy_eo.legacy.h',
652   'efl_ui_widget_eo.legacy.h',
653   'efl_ui_win_inlined_legacy_eo.legacy.h',
654   'efl_ui_win_legacy_eo.legacy.h',
655   'efl_ui_win_socket_legacy_eo.legacy.h',
656   'elm_access_eo.legacy.h',
657   'elm_actionslider_eo.legacy.h',
658   'elm_box_eo.legacy.h',
659   'elm_bubble_eo.legacy.h',
660   'elm_calendar_eo.legacy.h',
661   'elm_calendar_item_eo.legacy.h',
662   'elm_clock_eo.legacy.h',
663   'elm_code_widget_eo.legacy.h',
664   'elm_code_widget_legacy_eo.legacy.h',
665   'elm_color_item_eo.legacy.h',
666   'elm_colorselector_eo.legacy.h',
667   'elm_conformant_eo.legacy.h',
668   'elm_ctxpopup_eo.legacy.h',
669   'elm_ctxpopup_item_eo.legacy.h',
670   'elm_dayselector_eo.legacy.h',
671   'elm_dayselector_item_eo.legacy.h',
672   'elm_diskselector_eo.legacy.h',
673   'elm_diskselector_item_eo.legacy.h',
674   'elm_entry_eo.legacy.h',
675   'elm_fileselector_button_eo.legacy.h',
676   'elm_fileselector_entry_eo.legacy.h',
677   'elm_fileselector_eo.legacy.h',
678   'elm_flipselector_eo.legacy.h',
679   'elm_flipselector_item_eo.legacy.h',
680   'elm_gengrid_eo.legacy.h',
681   'elm_gengrid_item_eo.legacy.h',
682   'elm_gengrid_pan_eo.legacy.h',
683   'elm_genlist_eo.legacy.h',
684   'elm_genlist_item_eo.legacy.h',
685   'elm_genlist_pan_eo.legacy.h',
686   'elm_gesture_layer_eo.legacy.h',
687   'elm_glview_eo.legacy.h',
688   'elm_grid_eo.legacy.h',
689   'elm_hover_eo.legacy.h',
690   'elm_hoversel_eo.legacy.h',
691   'elm_hoversel_item_eo.legacy.h',
692   'elm_icon_eo.legacy.h',
693   'elm_index_eo.legacy.h',
694   'elm_index_item_eo.legacy.h',
695   'elm_interface_fileselector_eo.legacy.h',
696   'elm_inwin_eo.legacy.h',
697   'elm_label_eo.legacy.h',
698   'elm_list_eo.legacy.h',
699   'elm_list_item_eo.legacy.h',
700   'elm_mapbuf_eo.legacy.h',
701   'elm_map_eo.legacy.h',
702   'elm_map_pan_eo.legacy.h',
703   'elm_menu_eo.legacy.h',
704   'elm_menu_item_eo.legacy.h',
705   'elm_multibuttonentry_eo.legacy.h',
706   'elm_multibuttonentry_item_eo.legacy.h',
707   'elm_naviframe_eo.legacy.h',
708   'elm_naviframe_item_eo.legacy.h',
709   'elm_notify_eo.legacy.h',
710   'elm_panel_eo.legacy.h',
711   'elm_pan_eo.legacy.h',
712   'elm_photo_eo.legacy.h',
713   'elm_player_eo.legacy.h',
714   'elm_plug_eo.legacy.h',
715   'elm_popup_eo.legacy.h',
716   'elm_popup_item_eo.legacy.h',
717   'elm_prefs_eo.legacy.h',
718   'elm_route_eo.legacy.h',
719   'elm_scroller_eo.legacy.h',
720   'elm_segment_control_eo.legacy.h',
721   'elm_segment_control_item_eo.legacy.h',
722   'elm_separator_eo.legacy.h',
723   'elm_slider_eo.legacy.h',
724   'elm_slider_part_indicator_eo.legacy.h',
725   'elm_slideshow_eo.legacy.h',
726   'elm_slideshow_item_eo.legacy.h',
727   'elm_spinner_eo.legacy.h',
728   'elm_sys_notify_dbus_eo.legacy.h',
729   'elm_sys_notify_eo.legacy.h',
730   'elm_sys_notify_interface_eo.legacy.h',
731   'elm_systray_eo.legacy.h',
732   'elm_table_eo.legacy.h',
733   'elm_thumb_eo.legacy.h',
734   'elm_toolbar_eo.legacy.h',
735   'elm_toolbar_item_eo.legacy.h',
736   'elm_view_form_eo.legacy.h',
737   'elm_view_list_eo.legacy.h',
738   'elm_view_form_eo.h',
739   'elm_view_list_eo.h',
740   'elm_web_eo.legacy.h',
741   'elm_widget_item_container_eo.legacy.h',
742   'elm_widget_item_eo.legacy.h',
743   'elm_widget_item_static_focus_eo.legacy.h',
744 #<--TIZEN_ONLY
745   'efl_access_object_eo.legacy.h',
746 #TIZEN_ONLY-->
747 ]
748
749 #<--TIZEN_ONLY
750 elementary_pub_headers += [
751   'efl_ui_animation_view.h',
752   'efl_ui_animation_view_legacy.h',
753   'elm_atspi_ewk_wrapper.h',
754   'elm_atspi_ewk_wrapper_eo.legacy.h',
755   'elm_atspi_proxy.h',
756   'elm_atspi_proxy_eo.legacy.h',
757   'efl_ui_animation_view_eo.legacy.h',
758   'elm_widget_item_container_eo.h',
759   'elm_widget_item_eo.h',
760 ]
761 #TIZEN_ONLY-->
762
763 elementary_header_src = [
764   'Elementary.h',
765   'Elementary_Cursor.h',
766 ] + elementary_pub_headers + elementary_headers_unstable
767
768 #<--TIZEN_ONLY #39f6ee4b141
769 elementary_header_src += [
770   'Elementary_GL_Helpers.h',
771 ]
772 #TIZEN_ONLY-->
773
774 #<--TIZEN_ONLY
775 elementary_header_src_tizen = [
776   'Elementary.h',
777   'Elementary_Cursor.h',
778   'Elementary_GL_Helpers.h',
779 ] + elementary_pub_headers + elementary_headers_unstable_tizen
780 #TIZEN_ONLY-->
781
782 elementary_src = [
783   'elm_priv.h',
784   'elementary_config.h',
785   'els_box.h',
786   'elc_ctxpopup.c',
787   'elc_fileselector.c',
788   'elc_fileselector_button.c',
789   'elc_fileselector_entry.c',
790   'elc_hoversel.c',
791   'elc_multibuttonentry.c',
792   'elc_naviframe.c',
793   'efl_ui_navigation_bar.c',
794   'efl_ui_navigation_layout.c',
795   'elc_player.c',
796   'elc_popup.c',
797   'elc_scrolled_entry.c',
798   'elm_access.c',
799   'elm_actionslider.c',
800   'elm_atspi_app_object.c',
801   'elm_atspi_bridge.c',
802   'efl_ui_legacy.c',
803   'efl_ui_bg.c',
804   'elm_box.c',
805   'elm_bubble.c',
806   'efl_ui_button.c',
807   'elm_calendar.c',
808   'efl_ui_calendar.c',
809   'efl_ui_check.c',
810   'elm_clock.c',
811   'elm_code_line.c',
812   'elm_code_text.c',
813   'elm_code_indent.c',
814   'elm_code_file.c',
815   'elm_code_parse.c',
816   'elm_code_syntax.c',
817   'elm_code_widget_selection.c',
818   'elm_code_widget.c',
819   'elm_code_diff_widget.c',
820   'elm_code.c',
821   'elm_code_private.h',
822   'elm_code_widget_private.h',
823   'elm_colorselector.c',
824   'elm_color_class.c',
825   'elc_combobox.c',
826   'elm_config.c',
827   'elm_conform.c',
828   'elm_datetime.c',
829   'elm_dayselector.c',
830   'elm_dbus_menu.c',
831   'elm_diskselector.c',
832   'elm_entry.c',
833   'efl_ui_flip.c',
834   'efl_ui_internal_text_interactive.c',
835   'efl_ui_internal_text_interactive.h',
836   'efl_ui_internal_text_scroller.c',
837   'efl_ui_internal_text_scroller.h',
838   'elm_flipselector.c',
839   'elm_font.c',
840   'efl_ui_frame.c',
841   'elm_gengrid.c',
842   'elm_genlist.c',
843   'elm_gesture_layer.c',
844   'elm_gesture_layer_extra_gestures.c',
845   'elm_glview.c',
846   'elm_grid.c',
847   'elm_hover.c',
848   'elm_icon.c',
849   'efl_ui_image.c',
850   'elm_index.c',
851   'efl_access_object.c',
852   'efl_access_action.c',
853   'efl_access_component.c',
854   'efl_access_editable_text.c',
855   'efl_access_selection.c',
856   'efl_access_text.c',
857   'efl_access_value.c',
858   'efl_access_widget_action.c',
859   'efl_access_window.c',
860   'elm_interface_fileselector.c',
861   'elm_interface_scrollable.c',
862   'elm_inwin.c',
863   'elm_label.c',
864   'efl_ui_layout.c',
865   'efl_ui_layout_pack.c',
866   'elm_list.c',
867   'elm_main.c',
868   'elm_map.c',
869   'elm_mapbuf.c',
870   'elm_menu.c',
871   'elm_module.c',
872   'elm_notify.c',
873   'elm_panel.c',
874   'efl_ui_panes.c',
875   'elm_photo.c',
876   'efl_ui_image_zoomable.c',
877   'elm_plug.c',
878   'elm_prefs.c',
879   'elm_prefs_data.c',
880   'efl_ui_progressbar.c',
881   'efl_ui_radio.c',
882   'efl_ui_radio_group_impl.c',
883   'efl_ui_radio_box.c',
884   'elm_route.c',
885   'elm_scroller.c',
886   'elm_segment_control.c',
887   'elm_separator.c',
888   'elm_slider.c',
889   'efl_ui_slider.c',
890   'efl_ui_slider_interval.c',
891   'efl_ui_spin.c',
892   'efl_ui_spin_button.c',
893   'efl_ui_panel.c',
894   'efl_ui_datepicker.c',
895   'efl_ui_timepicker.c',
896   'efl_ui_tags.c',
897   'elm_slideshow.c',
898   'elm_spinner.c',
899   'elm_store.c',
900   'elm_systray.c',
901   'elm_systray_watcher.c',
902   'elm_sys_notify_interface.c',
903   'elm_sys_notify.c',
904   'elm_sys_notify_dbus.c',
905   'elm_table.c',
906   'elm_theme.c',
907   'elm_thumb.c',
908   'elm_toolbar.c',
909   'elm_transit.c',
910   'elm_util.c',
911   'efl_ui_video.c',
912   'elm_view_list.c',
913   'elm_view_form.c',
914   'elm_web2.c',
915   'efl_ui_widget.c',
916   'efl_ui_widget_common.c',
917   'efl_ui_win.c',
918   'efl_ui_win_inlined.c',
919   'efl_ui_win_socket.c',
920   'elm_helper.c',
921   'els_box.c',
922   'els_cursor.c',
923   'els_tooltip.c',
924   'elu_ews_wm.c',
925   'efl_ui_container_layout.c',
926   'efl_ui_container_layout.h',
927   'efl_ui_box.c',
928   'efl_ui_box_flow.c',
929   'efl_ui_box_stack.c',
930   'efl_ui_box_layout.c',
931   'efl_ui_box_private.h',
932   'efl_ui_popup.c',
933   'efl_ui_alert_popup.c',
934   'efl_ui_scroll_alert_popup.c',
935   'efl_ui_text_alert_popup.c',
936   'efl_ui_anchor_popup.c',
937   'efl_ui_table.c',
938   'efl_ui_table_static.c',
939   'efl_ui_table_layout.c',
940   'efl_ui_table_private.h',
941   'efl_ui_text.c',
942   'efl_ui_text_factory_images.c',
943   'efl_ui_text_factory_emoticons.c',
944   'efl_ui_text_factory_fallback.c',
945   'efl_ui_clock.c',
946   'efl_ui_clock_private.h',
947   'efl_ui_image_factory.c',
948   'efl_ui_focus_manager.c',
949   'efl_ui_focus_manager_calc.c',
950   'efl_ui_focus_manager_sub.c',
951   'efl_ui_focus_object.c',
952   'efl_ui_focus_manager_root_focus.c',
953   'efl_ui_textpath.c',
954   'efl_ui_focus_layer.c',
955   'efl_ui_focus_composition.c',
956   'efl_ui_focus_parent_provider.c',
957   'efl_ui_focus_parent_provider_standard.c',
958   'efl_ui_focus_parent_provider_gen.c',
959   'efl_ui_focus_util.c',
960   'elm_widget_item_static_focus.c',
961   'efl_ui_item.c',
962   'efl_ui_list_item.c',
963   'efl_ui_list_default_item.c',
964   'efl_ui_list_placeholder_item.c',
965   'efl_ui_list.c',
966   'efl_ui_grid_item.c',
967   'efl_ui_grid_default_item.c',
968   'efl_ui_grid.c',
969   'efl_ui_list_view.c',
970   'efl_ui_list_view_precise_layouter.c',
971   'efl_ui_list_view_seg_array.c',
972   'efl_ui_layout_factory.c',
973   'efl_ui_scroller.c',
974   'efl_ui_scroll_manager.c',
975   'efl_ui_pan.c',
976   'efl_ui_selection_manager.c',
977   'efl_ui_selection_manager_private.h',
978   'efl_ui_selection.c',
979   'efl_datetime_manager.c',
980   'efl_ui_dnd.c',
981   'elm_focus_legacy.c',
982   'efl_ui_spotlight_container.c',
983   'efl_ui_spotlight_manager.c',
984   'efl_ui_spotlight_manager_plain.c',
985   'efl_ui_spotlight_manager_scroll.c',
986   'efl_ui_spotlight_manager_stack.c',
987   'efl_ui_spotlight_indicator.c',
988   'efl_ui_spotlight_indicator_icon.c',
989   'efl_ui_spotlight_util.c',
990   'efl_ui_focus_graph.h',
991   'efl_ui_focus_graph.c',
992   'efl_ui_tab_pager.c',
993   'efl_ui_tab_bar.c',
994   'efl_ui_tab_page.c',
995   'efl_ui_widget_focus_manager.c',
996   'efl_ui_caching_factory.c',
997   'efl_ui_widget_factory.c',
998   'efl_ui_size_model.c',
999   'efl_ui_homogeneous_model.c',
1000   'efl_ui_exact_model.c',
1001   'efl_ui_average_model.c',
1002   'efl_ui_relative_layout.c',
1003   'efl_ui_clickable.c',
1004   'efl_ui_clickable_util.c',
1005   'efl_ui_format.c',
1006   'efl_ui_scroll_util.c',
1007 ]
1008
1009 #<--TIZEN_ONLY
1010 elementary_src += [
1011   'efl_ui_animation_view.c',
1012   'elm_atspi_ewk_wrapper.c',
1013   'elm_atspi_proxy.c',
1014   'tizen_vector.c',
1015   'tizen_util.c',
1016 ]
1017
1018 elementary_src_tizen = [
1019   'elc_ctxpopup.c',
1020   'elm_genlist.c',
1021 ]
1022
1023 elementary_src_tizen_tmp = []
1024 foreach item : elementary_src
1025   if elementary_src_tizen.contains(item) == true
1026     elementary_src_tizen_tmp += '../elementary_tizen/' + item
1027   else
1028     elementary_src_tizen_tmp += item
1029   endif
1030 endforeach
1031 elementary_src_tizen = elementary_src_tizen_tmp
1032 #TIZEN_ONLY-->
1033
1034 elementary_deps = [emile, eo, efl, edje, ethumb, ethumb_client, emotion, ecore_imf, ecore_con, eldbus, efreet, efreet_mime, efreet_trash, eio, atspi, dl, intl]
1035 elementary_pub_deps = [eina, eet, evas, ecore, ecore_evas, ecore_file, ecore_input, ecore_imf, ecore_con,
1036                        edje, eldbus, efreet, efreet_mime, efreet_trash, ethumb_client, efl, elocation]
1037
1038
1039 #FIXME this dependancy looks weired
1040 if get_option('tizen')
1041   elementary_pub_deps += [dl, thread_dep, ecore_wayland, ecore_wl2]
1042 endif
1043
1044 elm_options = configuration_data()
1045
1046 config_h.set_quoted('ELM_TOP_BUILD_DIR', meson.build_root())
1047 config_h.set_quoted('MODULES_PATH', join_paths(dir_lib, 'modules'))
1048 config_h.set_quoted('ELEMENTARY_BASE_DIR', get_option('elementary-base-dir'))
1049 config_h.set_quoted('ICON_DIR', join_paths(dir_lib, 'icons'))
1050
1051 if sys_windows == false
1052   elm_options.set('ELM_UNIX', '1')
1053 else
1054   elm_options.set('DLL_EXPORT', '1')
1055 endif
1056
1057 #TIZEN ONLY(20180827): Enable this when it's mandatory.
1058 #elm_options.set('ELM_ELOCATION', '1')
1059 elm_options.set('ELM_EFREET', '1')
1060
1061 if config_h.has('HAVE_ALLOCA_H')
1062   elm_options.set('ELM_ALLOCA_H', '1')
1063 endif
1064
1065 if config_h.has('HAVE_LIBINTL_H')
1066   elm_options.set('ELM_LIBINTL_H', '1')
1067 endif
1068
1069 if config_h.has('HAVE_DIRENT_H')
1070   elm_options.set('ELM_DIRENT_H', '1')
1071 endif
1072
1073 if get_option('x11')
1074   config_h.set('HAVE_ELEMENTARY_X', '1')
1075   elementary_deps += ecore_x
1076 endif
1077
1078 if get_option('wl')
1079   config_h.set('HAVE_ELEMENTARY_WL2', '1')
1080   elementary_deps += ecore_wl2
1081 endif
1082
1083 if get_option('drm')
1084   config_h.set('HAVE_ELEMENTARY_DRM', '1')
1085   elementary_deps += ecore_drm2
1086 endif
1087
1088 if get_option('cocoa')
1089   config_h.set('HAVE_ELEMENTARY_COCOA', '1')
1090   elementary_deps += ecore_cocoa
1091 endif
1092
1093 if sys_windows == true
1094   config_h.set('HAVE_ELEMENTARY_WIN32', '1')
1095   elementary_deps += ecore_win32
1096 endif
1097
1098 c = configure_file(
1099   output: 'Elementary_Options.h',
1100   install_dir : dir_package_include,
1101   configuration: elm_options)
1102
1103 elm_package_c_args =  package_c_args + ['-DELEMENTARY_BUILD=1']
1104
1105 elementary_lib = library('elementary',
1106     elementary_src, pub_eo_file_target, priv_eo_file_target, c, embed_config,
1107     dependencies: elementary_pub_deps + elementary_deps,
1108     include_directories : config_dir + [include_directories('.')] + [include_directories(join_paths('..', '..', '..'))] + [ecore_evas_wayland_engine_include_dir],
1109     install: true,
1110     c_args : elm_package_c_args,
1111     version : meson.project_version()
1112 )
1113
1114 elementary = declare_dependency(
1115   include_directories: [include_directories('.')],
1116   link_with: elementary_lib,
1117   sources : pub_eo_file_target + priv_eo_file_target,
1118   dependencies: elementary_pub_deps,
1119 )
1120
1121
1122 if get_option('install-eo-files')
1123   install_data(pub_eo_files + pub_eo_types_files,
1124     install_dir: join_paths(eolian_include_dir, package_version_name)
1125   )
1126 endif
1127
1128 install_headers(elementary_header_src,
1129   install_dir : dir_package_include,
1130 )
1131
1132 elementary_config_dir = include_directories('.')
1133
1134 package_pc_variables = ['themes='+join_paths(dir_data, package_name, 'themes')]
1135
1136 elementary_tizen_lib = library('elementary_t',
1137     elementary_src_tizen, pub_eo_file_target, priv_eo_file_target, c,
1138     dependencies: elementary_pub_deps + elementary_deps,
1139     include_directories : config_dir + [include_directories('.')] + [include_directories(join_paths('..', '..', '..'))] + [ecore_evas_wayland_engine_include_dir],
1140     install: true,
1141     c_args : elm_package_c_args,
1142     version : '1.22.100',
1143 )
1144
1145 elementary_tizen = declare_dependency(
1146   include_directories: [include_directories('.')],
1147   link_with: elementary_tizen_lib,
1148   sources : pub_eo_file_target + priv_eo_file_target,
1149   dependencies: elementary_pub_deps,
1150 )