summaryrefslogtreecommitdiff
path: root/src/bin/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/meson.build')
-rw-r--r--src/bin/meson.build576
1 files changed, 576 insertions, 0 deletions
diff --git a/src/bin/meson.build b/src/bin/meson.build
new file mode 100644
index 0000000000..fac63d96d1
--- /dev/null
+++ b/src/bin/meson.build
@@ -0,0 +1,576 @@
+if config_h.has('HAVE_WAYLAND') == true
+ subdir('generated')
+endif
+
+e_fm_shared_types = configuration_data()
+e_fm_shared_types.set10('EEZE_MOUNT_CONFIG', config_h.has('HAVE_EEZE_MOUNT'))
+e_fm_shared_types.set10('DBUS_MOUNT_CONFIG', config_h.has('HAVE_UDISKS_MOUNT'))
+
+configure_file(input: 'e_fm_shared_types.h.in',
+ output: 'e_fm_shared_types.h',
+ configuration: e_fm_shared_types,
+ install: true,
+ install_dir: dir_include_e)
+
+deps_e = [
+ dep_rt,
+ dep_m,
+ dep_dl,
+ dep_pam,
+ dep_eina,
+ dep_eet,
+ dep_eeze,
+ dep_ecore,
+ dep_ecore_ipc,
+ dep_ecore_file,
+ dep_ecore_con,
+ dep_ecore_input,
+ dep_ecore_input_evas,
+ dep_evas,
+ dep_efreet,
+ dep_efreet_mime,
+ dep_eio,
+ dep_eldbus,
+ dep_emotion,
+ dep_elementary
+]
+
+requires_e = ' '.join([
+ 'eina >= 1.19.99',
+ 'eet',
+ 'ecore',
+ 'ecore-ipc',
+ 'ecore-file',
+ 'ecore-con',
+ 'ecore-input',
+ 'ecore-input-evas',
+ 'evas',
+ 'efreet',
+ 'efreet-mime',
+ 'eio',
+ requires_eeze,
+ 'eldbus',
+ 'emotion',
+ 'elementary',
+])
+
+src_e = [
+ 'e_about.c',
+ 'e_acpi.c',
+ 'e_actions.c',
+ 'e_atoms.c',
+ 'e_auth.c',
+ 'e_backlight.c',
+ 'e_bg.c',
+ 'e_bindings.c',
+ 'e_bryce.c',
+ 'e_bryce_editor.c',
+ 'e_client.c',
+ 'e_client_volume.c',
+ 'e_color.c',
+ 'e_color_dialog.c',
+ 'e_comp.c',
+ 'e_comp_canvas.c',
+ 'e_comp_cfdata.c',
+ 'e_comp_object.c',
+ 'e_config.c',
+ 'e_config_data.c',
+ 'e_config_dialog.c',
+ 'e_configure.c',
+ 'e_confirm_dialog.c',
+ 'e_datastore.c',
+ 'e_dbusmenu.c',
+ 'e_desk.c',
+ 'e_deskenv.c',
+ 'e_desklock.c',
+ 'e_deskmirror.c',
+ 'e_dialog.c',
+ 'e_dpms.c',
+ 'e_desktop_editor.c',
+ 'e_dnd.c',
+ 'e_entry_dialog.c',
+ 'e_env.c',
+ 'e_error.c',
+ 'e_exec.c',
+ 'e_exehist.c',
+ 'e_filereg.c',
+ 'e_flowlayout.c',
+ 'e_fm.c',
+ 'e_fm_custom.c',
+ 'e_fm_device.c',
+ 'e_fm_mime.c',
+ 'e_fm_op_registry.c',
+ 'e_fm_prop.c',
+ 'e_fm_shared_codec.c',
+ 'e_fm_shared_device.c',
+ 'e_focus.c',
+ 'e_font.c',
+ 'e_gadcon.c',
+ 'e_gadcon_popup.c',
+ 'e_gadget.c',
+ 'e_grabinput.c',
+ 'e_grab_dialog.c',
+ 'e_hints.c',
+ 'e_icon.c',
+ 'e_ilist.c',
+ 'e_import_config_dialog.c',
+ 'e_import_dialog.c',
+ 'e_init.c',
+ 'e_int_client_locks.c',
+ 'e_int_client_menu.c',
+ 'e_int_client_prop.c',
+ 'e_int_client_remember.c',
+ 'e_int_config_modules.c',
+ 'e_int_config_comp.c',
+ 'e_int_config_comp_match.c',
+ 'e_int_gadcon_config.c',
+ 'e_intl.c',
+ 'e_intl_data.c',
+ 'e_int_menus.c',
+ 'e_int_shelf_config.c',
+ 'e_int_toolbar_config.c',
+ 'e_ipc.c',
+ 'e_ipc_codec.c',
+ 'e_layout.c',
+ 'e_livethumb.c',
+ 'e_log.c',
+ 'e_main.c',
+ 'e_maximize.c',
+ 'e_menu.c',
+ 'e_module.c',
+ 'e_mouse.c',
+ 'e_moveresize.c',
+ 'e_msgbus.c',
+ 'e_notification.c',
+ 'e_msg.c',
+ 'e_obj_dialog.c',
+ 'e_object.c',
+ 'e_order.c',
+ 'e_pan.c',
+ 'e_path.c',
+ 'e_pixmap.c',
+ 'e_place.c',
+ 'e_pointer.c',
+ 'e_powersave.c',
+ 'e_prefix.c',
+ 'e_randr2.c',
+ 'e_remember.c',
+ 'e_resist.c',
+ 'e_scale.c',
+ 'e_screensaver.c',
+ 'e_scrollframe.c',
+ 'e_sha1.c',
+ 'e_shelf.c',
+ 'e_signals.c',
+ 'e_slidecore.c',
+ 'e_slider.c',
+ 'e_slidesel.c',
+ 'e_spectrum.c',
+ 'e_startup.c',
+ 'e_sys.c',
+ 'e_test.c',
+ 'e_theme_about.c',
+ 'e_theme.c',
+ 'e_thumb.c',
+ 'e_toolbar.c',
+ 'e_update.c',
+ 'e_user.c',
+ 'e_utils.c',
+ 'e_video.c',
+ 'e_widget_aspect.c',
+ 'e_widget_button.c',
+ 'e_widget.c',
+ 'e_widget_check.c',
+ 'e_widget_color_well.c',
+ 'e_widget_config_list.c',
+ 'e_widget_bgpreview.c',
+ 'e_widget_entry.c',
+ 'e_widget_filepreview.c',
+ 'e_widget_flist.c',
+ 'e_widget_font_preview.c',
+ 'e_widget_framelist.c',
+ 'e_widget_frametable.c',
+ 'e_widget_fsel.c',
+ 'e_widget_ilist.c',
+ 'e_widget_image.c',
+ 'e_widget_label.c',
+ 'e_widget_list.c',
+ 'e_widget_preview.c',
+ 'e_widget_radio.c',
+ 'e_widget_scrollframe.c',
+ 'e_widget_slider.c',
+ 'e_widget_spectrum.c',
+ 'e_widget_table.c',
+ 'e_widget_textblock.c',
+ 'e_widget_toolbar.c',
+ 'e_widget_toolbook.c',
+ 'e_win.c',
+ 'e_xkb.c',
+ 'e_xinerama.c',
+ 'e_zoomap.c',
+ 'e_zone.c',
+ 'efx/efx_bumpmapping.c',
+ 'efx/efx.c',
+ 'efx/efx_fade.c',
+ 'efx/efx_helpers.c',
+ 'efx/efx_move.c',
+ 'efx/efx_pan.c',
+ 'efx/e_efx_private.h',
+ 'efx/efx_queue.c',
+ 'efx/efx_resize.c',
+ 'efx/efx_rotate.c',
+ 'efx/efx_spin.c',
+ 'efx/efx_util.c',
+ 'efx/efx_zoom.c'
+]
+
+headers_e = [
+ 'efx/e_Efx.h',
+ 'e_about.h',
+ 'e_acpi.h',
+ 'e_actions.h',
+ 'e_alert.h',
+ 'e_atoms.h',
+ 'e_auth.h',
+ 'e_backlight.h',
+ 'e_bg.h',
+ 'e_bindings.h',
+ 'e_bryce.h',
+ 'e_client.h',
+ 'e_client_volume.h',
+ 'e_client.x',
+ 'e_color_dialog.h',
+ 'e_color.h',
+ 'e_comp.h',
+ 'e_comp_canvas.h',
+ 'e_comp_cfdata.h',
+ 'e_comp_object.h',
+ 'e_comp_x.h',
+ 'e_comp_x_randr.h',
+ 'e_config_data.h',
+ 'e_config_dialog.h',
+ 'e_config.h',
+ 'e_configure.h',
+ 'e_confirm_dialog.h',
+ 'e_datastore.h',
+ 'e_dbusmenu.h',
+ 'e_desk.h',
+ 'e_deskenv.h',
+ 'e_desklock.h',
+ 'e_deskmirror.h',
+ 'e_dialog.h',
+ 'e_dnd.h',
+ 'e_dpms.h',
+ 'e_desktop_editor.h',
+ 'e_entry_dialog.h',
+ 'e_env.h',
+ 'e_error.h',
+ 'e_exec.h',
+ 'e_exehist.h',
+ 'e_filereg.h',
+ 'e_flowlayout.h',
+ 'e_fm_custom.h',
+ 'e_fm_device.h',
+ 'e_fm.h',
+ 'e_fm_mime.h',
+ 'e_fm_op.h',
+ 'e_fm_op_registry.h',
+ 'e_fm_prop.h',
+ 'e_fm_shared_codec.h',
+ 'e_fm_shared_device.h',
+ 'e_focus.h',
+ 'e_font.h',
+ 'e_gadcon.h',
+ 'e_gadcon_popup.h',
+ 'e_gadget.h',
+ 'e_grabinput.h',
+ 'e_grab_dialog.h',
+ 'e.h',
+ 'e_macros.h',
+ 'e_hints.h',
+ 'e_icon.h',
+ 'e_ilist.h',
+ 'e_import_config_dialog.h',
+ 'e_import_dialog.h',
+ 'e_includes.h',
+ 'e_init.h',
+ 'e_int_client_locks.h',
+ 'e_int_client_menu.h',
+ 'e_int_client_prop.h',
+ 'e_int_client_remember.h',
+ 'e_int_config_modules.h',
+ 'e_int_gadcon_config.h',
+ 'e_intl_data.h',
+ 'e_intl.h',
+ 'e_int_menus.h',
+ 'e_int_shelf_config.h',
+ 'e_int_toolbar_config.h',
+ 'e_ipc_codec.h',
+ 'e_ipc.h',
+ 'e_layout.h',
+ 'e_livethumb.h',
+ 'e_log.h',
+ 'e_maximize.h',
+ 'e_menu.h',
+ 'e_mmx.h',
+ 'e_module.h',
+ 'e_mouse.h',
+ 'e_moveresize.h',
+ 'e_msgbus.h',
+ 'e_notification.h',
+ 'e_msg.h',
+ 'e_obj_dialog.h',
+ 'e_object.h',
+ 'e_order.h',
+ 'e_pan.h',
+ 'e_path.h',
+ 'e_pixmap.h',
+ 'e_place.h',
+ 'e_pointer.h',
+ 'e_powersave.h',
+ 'e_prefix.h',
+ 'e_randr2.h',
+ 'e_remember.h',
+ 'e_resist.h',
+ 'e_scale.h',
+ 'e_screensaver.h',
+ 'e_scrollframe.h',
+ 'e_sha1.h',
+ 'e_shelf.h',
+ 'e_signals.h',
+ 'e_slidecore.h',
+ 'e_slider.h',
+ 'e_slidesel.h',
+ 'e_spectrum.h',
+ 'e_startup.h',
+ 'e_sys.h',
+ 'e_test.h',
+ 'e_theme_about.h',
+ 'e_theme.h',
+ 'e_thumb.h',
+ 'e_toolbar.h',
+ 'e_update.h',
+ 'e_user.h',
+ 'e_utils.h',
+ 'e_video.h',
+ 'e_widget_aspect.h',
+ 'e_widget_button.h',
+ 'e_widget_check.h',
+ 'e_widget_color_well.h',
+ 'e_widget_config_list.h',
+ 'e_widget_bgpreview.h',
+ 'e_widget_entry.h',
+ 'e_widget_filepreview.h',
+ 'e_widget_flist.h',
+ 'e_widget_font_preview.h',
+ 'e_widget_framelist.h',
+ 'e_widget_frametable.h',
+ 'e_widget_fsel.h',
+ 'e_widget.h',
+ 'e_widget_ilist.h',
+ 'e_widget_image.h',
+ 'e_widget_label.h',
+ 'e_widget_list.h',
+ 'e_widget_preview.h',
+ 'e_widget_radio.h',
+ 'e_widget_scrollframe.h',
+ 'e_widget_slider.h',
+ 'e_widget_spectrum.h',
+ 'e_widget_table.h',
+ 'e_widget_textblock.h',
+ 'e_widget_toolbar.h',
+ 'e_widget_toolbook.h',
+ 'e_win.h',
+ 'e_xinerama.h',
+ 'e_xkb.h',
+ 'e_xsettings.h',
+ 'e_zoomap.h',
+ 'e_zone.h'
+]
+
+if config_h.has('HAVE_WAYLAND') == true
+ src_e += [
+ 'e_comp_wl_data.c',
+ 'e_comp_wl_input.c',
+ 'e_comp_wl_dmabuf.c',
+ 'e_comp_wl.c',
+ 'e_comp_wl_extensions.c',
+ wayland_proto_c,
+ wayland_proto_h
+ ]
+ headers_e += [
+ 'e_comp_wl_data.h',
+ 'e_comp_wl_dmabuf.h',
+ 'e_comp_wl_input.h',
+ 'e_comp_wl.h'
+ ]
+ deps_e += dep_wayland
+ requires_e = ' '.join([requires_e, requires_wayland])
+endif
+
+if config_h.has('HAVE_WAYLAND_ONLY') == false
+ src_e += [
+ 'e_comp_x.c',
+ 'e_comp_x_randr.c',
+ 'e_alert.c',
+ 'e_xsettings.c'
+ ]
+ deps_e += dep_ecore_x
+ requires_e = ' '.join([requires_e, 'ecore-x'])
+endif
+
+install_headers(
+ headers_e,
+ subdir: 'enlightenment'
+)
+
+executable('enlightenment',
+ src_e,
+ include_directories: include_directories('.', 'efx', 'generated', '../..'),
+ dependencies: deps_e,
+ c_args: '-DE_LOGGING=1',
+ link_args: '-export-dynamic',
+ install_dir: dir_bin,
+ install: true
+)
+
+dir_e_utils = join_paths(dir_lib, 'enlightenment/utils')
+
+executable('enlightenment_imc',
+ ['e_config_data.c',
+ 'e_imc_main.c',
+ 'e_intl_data.c'],
+ include_directories: include_directories('.', '../..'),
+ dependencies: [dep_eina, dep_eet, dep_ecore_file],
+ install_dir: dir_bin,
+ install: true
+)
+
+executable('enlightenment_start',
+ ['e_start_main.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [dep_eina, dep_evas],
+ install_dir: dir_bin,
+ install: true
+)
+
+executable('enlightenment_filemanager',
+ ['e_fm_cmdline.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [dep_eina, dep_ecore, dep_ecore_file, dep_eldbus, dep_efreet],
+ install_dir: dir_bin,
+ install: true
+)
+
+executable('enlightenment_open',
+ ['e_open.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [dep_eina, dep_ecore, dep_efreet, dep_efreet_mime],
+ install_dir: dir_bin,
+ install: true
+)
+
+executable('enlightenment_askpass',
+ ['e_askpass_main.c'],
+ dependencies: [dep_elementary],
+ install_dir: dir_bin,
+ install: true
+)
+
+
+executable('enlightenment_backlight',
+ ['e_backlight_main.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [dep_eina, dep_eeze],
+ c_args: suid_cflags,
+ link_args: suid_ldflags,
+ install_dir: dir_e_utils,
+ install: true
+)
+suid_exes += join_paths(dir_e_utils, 'enlightenment_backlight')
+
+executable('enlightenment_fm_op',
+ ['e_fm_op.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [dep_m, dep_eina, dep_ecore, dep_ecore_file],
+ install_dir: dir_e_utils,
+ install: true
+)
+
+executable('enlightenment_thumb',
+ ['e_thumb_main.c', 'e_sha1.c', 'e_user.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [
+ dep_m, dep_eina, dep_eet, dep_evas, dep_ecore,
+ dep_ecore_ipc, dep_ecore_evas, dep_efreet,
+ dep_ecore_file, dep_edje, dep_emotion
+ ],
+ install_dir: dir_e_utils,
+ install: true
+)
+
+executable('enlightenment_elm_cfgtool',
+ ['e_elm_cfgtool_main.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [
+ dep_m, dep_elementary
+ ],
+ install_dir: dir_e_utils,
+ install: true
+)
+
+executable('enlightenment_static_grabber',
+ ['e_static_grab.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [
+ dep_eina, dep_eet
+ ],
+ install_dir: dir_e_utils,
+ install: true
+)
+
+deps_e_alert = []
+if config_h.has('HAVE_WAYLAND') == true
+ deps_e_alert += [dep_ecore_drm2, dep_ecore_input]
+endif
+if config_h.has('HAVE_WAYLAND_ONLY') == false
+ deps_e_alert += [
+ dependency('xcb'),
+ dependency('xcb-shape'),
+ dependency('xcb-keysyms')
+ ]
+endif
+executable('enlightenment_alert',
+ ['e_alert_main.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [
+ dep_eina, dep_ecore, dep_evas, dep_ecore_ipc,
+ deps_e_alert
+ ],
+ install_dir: dir_e_utils,
+ install: true
+)
+
+executable('enlightenment_sys',
+ ['e_sys_main.c', 'e_sys_l2ping.c'],
+ include_directories: include_directories('../..'),
+ dependencies: [dep_eina, dep_ecore, dep_bluez],
+ c_args: suid_cflags,
+ link_args: suid_ldflags,
+ install_dir: dir_e_utils,
+ install: true
+)
+suid_exes += join_paths(dir_e_utils, 'enlightenment_sys')
+
+if freebsd == true
+ executable('enlightenment_ckpasswd',
+ 'e_ckpasswd_main.c',
+ c_args: suid_cflags,
+ link_args: suid_ldflags,
+ install_dir: dir_e_utils,
+ install: true
+ )
+ suid_exes += join_paths(dir_e_utils, 'enlightenment_ckpasswd')
+endif
+
+subdir('e_fm')