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