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