aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-07-21 16:20:03 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-07-20 17:18:33 -0400
commite8dc71cd4828ce8ccf791b27326f75b5d5ec8ab8 (patch)
tree14ecd21fda244cfa38132157ec4210ee8d696d91
parenthide pointer cursor clients when unsetting them (diff)
downloadenlightenment-e8dc71cd4828ce8ccf791b27326f75b5d5ec8ab8.tar.gz
meson.
-rw-r--r--config/default/meson.build15
-rw-r--r--config/meson.build14
-rw-r--r--config/mobile/meson.build19
-rw-r--r--config/standard/meson.build38
-rw-r--r--config/tiling/meson.build40
-rw-r--r--data/backgrounds/meson.build42
-rw-r--r--data/desktop/meson.build8
-rw-r--r--data/etc/meson.build15
-rw-r--r--data/favorites/meson.build11
-rw-r--r--data/flags/meson.build105
-rw-r--r--data/icons/meson.build18
-rw-r--r--data/images/meson.build11
-rw-r--r--data/input_methods/meson.build13
-rw-r--r--data/tools/meson.build7
-rw-r--r--data/units/meson.build8
-rw-r--r--data/xsession/meson.build6
-rw-r--r--meson.build500
-rw-r--r--meson/meson_inst.sh6
-rw-r--r--meson/meson_modules.sh6
-rw-r--r--meson_options.txt309
-rw-r--r--po/meson.build5
-rw-r--r--src/bin/e_fm/meson.build50
-rw-r--r--src/bin/generated/meson.build19
-rw-r--r--src/bin/meson.build576
-rw-r--r--src/modules/appmenu/meson.build28
-rw-r--r--src/modules/backlight/meson.build30
-rw-r--r--src/modules/battery/meson.build45
-rw-r--r--src/modules/bluez4/meson.build30
-rw-r--r--src/modules/clock/meson.build29
-rw-r--r--src/modules/conf/meson.build30
-rw-r--r--src/modules/conf_applications/meson.build33
-rw-r--r--src/modules/conf_bindings/meson.build33
-rw-r--r--src/modules/conf_dialogs/meson.build31
-rw-r--r--src/modules/conf_display/meson.build34
-rw-r--r--src/modules/conf_interaction/meson.build31
-rw-r--r--src/modules/conf_intl/meson.build31
-rw-r--r--src/modules/conf_menus/meson.build30
-rw-r--r--src/modules/conf_paths/meson.build31
-rw-r--r--src/modules/conf_performance/meson.build31
-rw-r--r--src/modules/conf_randr/meson.build31
-rw-r--r--src/modules/conf_shelves/meson.build31
-rw-r--r--src/modules/conf_theme/meson.build37
-rw-r--r--src/modules/conf_window_manipulation/meson.build34
-rw-r--r--src/modules/conf_window_remembers/meson.build30
-rw-r--r--src/modules/connman/meson.build33
-rw-r--r--src/modules/cpufreq/meson.build40
-rw-r--r--src/modules/everything/meson.build70
-rw-r--r--src/modules/fileman/meson.build36
-rw-r--r--src/modules/fileman_opinfo/meson.build28
-rw-r--r--src/modules/gadman/meson.build31
-rw-r--r--src/modules/geolocation/meson.build42
-rw-r--r--src/modules/ibar/meson.build30
-rw-r--r--src/modules/ibox/meson.build30
-rw-r--r--src/modules/lokker/meson.build21
-rw-r--r--src/modules/luncher/meson.build23
-rw-r--r--src/modules/mixer/meson.build73
-rw-r--r--src/modules/msgbus/meson.build26
-rw-r--r--src/modules/music-control/meson.build34
-rw-r--r--src/modules/notification/meson.build22
-rw-r--r--src/modules/packagekit/meson.build24
-rw-r--r--src/modules/pager/meson.build25
-rw-r--r--src/modules/pager_plain/meson.build21
-rw-r--r--src/modules/policy_mobile/meson.build22
-rw-r--r--src/modules/quickaccess/meson.build24
-rw-r--r--src/modules/shot/meson.build19
-rw-r--r--src/modules/start/meson.build20
-rw-r--r--src/modules/syscon/meson.build23
-rw-r--r--src/modules/sysinfo/meson.build72
-rw-r--r--src/modules/systray/meson.build24
-rw-r--r--src/modules/tasks/meson.build21
-rw-r--r--src/modules/teamwork/meson.build35
-rw-r--r--src/modules/temperature/meson.build23
-rw-r--r--src/modules/tiling/meson.build23
-rw-r--r--src/modules/time/meson.build23
-rw-r--r--src/modules/winlist/meson.build23
-rw-r--r--src/modules/wireless/meson.build22
-rw-r--r--src/modules/wizard/meson.build67
-rw-r--r--src/modules/wl_buffer/meson.build19
-rw-r--r--src/modules/wl_desktop_shell/meson.build35
-rw-r--r--src/modules/wl_drm/meson.build19
-rw-r--r--src/modules/wl_fb/meson.build19
-rw-r--r--src/modules/wl_text_input/meson.build30
-rw-r--r--src/modules/wl_weekeyboard/meson.build42
-rw-r--r--src/modules/wl_wl/meson.build19
-rw-r--r--src/modules/wl_x11/meson.build19
-rw-r--r--src/modules/xkbswitch/meson.build26
-rw-r--r--src/modules/xwayland/meson.build22
87 files changed, 3781 insertions, 0 deletions
diff --git a/config/default/meson.build b/config/default/meson.build
new file mode 100644
index 000000000..9f05d508b
--- /dev/null
+++ b/config/default/meson.build
@@ -0,0 +1,15 @@
+config_default = ['e.src', 'e_bindings.src']
+config_default_output = ['e.cfg', 'e_bindings.cfg']
+
+config_dist_default = ['enlightenment-default.png', 'profile.desktop']
+i = 0
+foreach cd: config_default
+ custom_target(' '.join(['config_dist_default', cd]),
+ input: cd,
+ command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
+ output: config_default_output[i],
+ install: true,
+ install_dir: dir_config
+ )
+ i += 1
+endforeach
diff --git a/config/meson.build b/config/meson.build
new file mode 100644
index 000000000..2bad17a21
--- /dev/null
+++ b/config/meson.build
@@ -0,0 +1,14 @@
+dir_config = join_paths(dir_data, 'enlightenment/data/config')
+
+custom_target('profile.src',
+ input: 'profile.src',
+ command: [eet, '-i', '@OUTPUT@', 'config', '@INPUT@', '1'],
+ output: ['profile.cfg'],
+ install: true,
+ install_dir: dir_config
+)
+
+subdir('default')
+subdir('mobile')
+subdir('standard')
+subdir('tiling')
diff --git a/config/mobile/meson.build b/config/mobile/meson.build
new file mode 100644
index 000000000..f21b70f92
--- /dev/null
+++ b/config/mobile/meson.build
@@ -0,0 +1,19 @@
+config_mobile = ['e.src', 'e_bindings.src', 'module.battery.src', 'module.conf.src']
+config_mobile_output = ['e.cfg', 'e_bindings.cfg', 'module.battery.cfg', 'module.conf.cfg']
+
+i = 0
+foreach cd: config_mobile
+ custom_target(' '.join(['config_dist_mobile', cd]),
+ input: cd,
+ command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
+ output: config_mobile_output[i],
+ install: true,
+ install_dir: dir_config
+ )
+ i += 1
+endforeach
+
+config_dist_mobile = ['enlightenment-mobile.png', 'profile.desktop']
+install_data(config_dist_mobile,
+ install_dir: join_paths(dir_config, 'mobile')
+)
diff --git a/config/standard/meson.build b/config/standard/meson.build
new file mode 100644
index 000000000..aa85af99a
--- /dev/null
+++ b/config/standard/meson.build
@@ -0,0 +1,38 @@
+config_standard = ['e.src', 'e_bindings.src',
+ 'module.battery.src',
+ 'module.cpufreq.src',
+ 'module.fileman.src',
+ 'module.ibar.src',
+ 'module.ibox.src',
+ 'module.pager.src',
+ 'module.temperature.src',
+ 'module.conf.src'
+]
+
+config_standard_output = ['e.cfg', 'e_bindings.cfg',
+ 'module.battery.cfg',
+ 'module.cpufreq.cfg',
+ 'module.fileman.cfg',
+ 'module.ibar.cfg',
+ 'module.ibox.cfg',
+ 'module.pager.cfg',
+ 'module.temperature.cfg',
+ 'module.conf.cfg'
+]
+
+i = 0
+foreach cd: config_standard
+ custom_target(' '.join(['config_dist_standard', cd]),
+ input: cd,
+ command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
+ output: config_standard_output[i],
+ install: true,
+ install_dir: dir_config
+ )
+ i += 1
+endforeach
+
+config_dist_standard = ['enlightenment-standard.png', 'profile.desktop']
+install_data(config_dist_standard,
+ install_dir: join_paths(dir_config, 'standard')
+)
diff --git a/config/tiling/meson.build b/config/tiling/meson.build
new file mode 100644
index 000000000..9de6f849a
--- /dev/null
+++ b/config/tiling/meson.build
@@ -0,0 +1,40 @@
+config_tiling = ['e.src', 'e_bindings.src',
+ 'module.battery.src',
+ 'module.cpufreq.src',
+ 'module.fileman.src',
+ 'module.ibar.src',
+ 'module.ibox.src',
+ 'module.pager.src',
+ 'module.temperature.src',
+ 'module.tiling.src',
+ 'module.conf.src'
+]
+
+config_tiling_output = ['e.cfg', 'e_bindings.cfg',
+ 'module.battery.cfg',
+ 'module.cpufreq.cfg',
+ 'module.fileman.cfg',
+ 'module.ibar.cfg',
+ 'module.ibox.cfg',
+ 'module.pager.cfg',
+ 'module.temperature.cfg',
+ 'module.tiling.cfg',
+ 'module.conf.cfg'
+]
+
+i = 0
+foreach cd: config_tiling
+ custom_target(' '.join(['config_dist_tiling', cd]),
+ input: cd,
+ command: [eet, '-e', '@OUTPUT@', 'config', '@INPUT@', '1'],
+ output: config_tiling_output[i],
+ install: true,
+ install_dir: dir_config
+ )
+ i += 1
+endforeach
+
+config_dist_tiling = ['enlightenment-tiling.png', 'profile.desktop']
+install_data(config_dist_tiling,
+ install_dir: join_paths(dir_config, 'tiling')
+)
diff --git a/data/backgrounds/meson.build b/data/backgrounds/meson.build
new file mode 100644
index 000000000..ae6e11766
--- /dev/null
+++ b/data/backgrounds/meson.build
@@ -0,0 +1,42 @@
+backgrounds_dist = [
+ 'Brown_Rock_Hi.edj',
+ 'Colorful_Roses.edj',
+ 'Darkconcrete.edj',
+ 'Dark_Gradient.edj',
+ 'Grassy.edj',
+ 'Japanesemaple.edj',
+ 'Lakegrass.edj',
+ 'Light_Gradient.edj',
+ 'Mossstring.edj',
+ 'Motleyrock.edj',
+ 'Newgrowth.edj',
+ 'Orange_Roses.edj',
+ 'Pattern_Radial.edj',
+ 'Pattern_Vertical.edj',
+ 'Pattern_Vertical_Hi.edj',
+ 'Pine_Silhouettes.edj',
+ 'Purple_Flower_Bunch.edj',
+ 'Skywall.edj',
+ 'Stringflower.edj',
+ 'Wetgrass.edj',
+ 'Wetleaf.edj',
+ 'Whiterock.edj',
+ 'Hills.edj',
+ 'Light.edj',
+ 'Temple.edj',
+ 'Train.edj',
+ 'Curly_Leaves.edj',
+ 'Flower_Petals.edj',
+ 'Go_Away.edj',
+ 'Green_Stem.edj',
+ 'Leafy_Red.edj',
+ 'Ramen.edj',
+ 'Shady_Leaves.edj',
+ 'Windy_Palm.edj',
+ 'Lantern_Cluster.edj',
+ 'Wall_Lanterns.edj'
+]
+
+install_data(backgrounds_dist,
+ install_dir: join_paths(dir_data, 'enlightenment/data/backgrounds')
+)
diff --git a/data/desktop/meson.build b/data/desktop/meson.build
new file mode 100644
index 000000000..824f7bf2d
--- /dev/null
+++ b/data/desktop/meson.build
@@ -0,0 +1,8 @@
+desktop_dist = [
+ 'enlightenment_filemanager.desktop',
+ 'enlightenment_askpass.desktop'
+]
+
+install_data(desktop_dist,
+ install_dir: join_paths(dir_data, 'applications')
+)
diff --git a/data/etc/meson.build b/data/etc/meson.build
new file mode 100644
index 000000000..2fd358ff6
--- /dev/null
+++ b/data/etc/meson.build
@@ -0,0 +1,15 @@
+if get_option('install-sysactions')
+ configure_file(input: 'sysactions.conf.in',
+ output: 'sysactions.conf',
+ install: true,
+ install_dir: join_paths(dir_sysconf, 'enlightenment'),
+ configuration: sysactions
+ )
+endif
+
+if get_option('install-enlightenment-menu')
+ install_data('e-applications.menu',
+ install_dir: join_paths(dir_sysconf, 'xdg/menus')
+ )
+endif
+
diff --git a/data/favorites/meson.build b/data/favorites/meson.build
new file mode 100644
index 000000000..be8ffc581
--- /dev/null
+++ b/data/favorites/meson.build
@@ -0,0 +1,11 @@
+favorites_dist = [
+ '.order',
+ 'desktop.desktop',
+ 'home.desktop',
+ 'root.desktop',
+ 'tmp.desktop'
+]
+
+install_data(favorites_dist,
+ install_dir: join_paths(dir_data, 'enlightenment/data/favorites')
+)
diff --git a/data/flags/meson.build b/data/flags/meson.build
new file mode 100644
index 000000000..fd5017198
--- /dev/null
+++ b/data/flags/meson.build
@@ -0,0 +1,105 @@
+flags_dist = [
+ 'ad_flag.png',
+ 'af_flag.png',
+ 'al_flag.png',
+ 'am_flag.png',
+ 'ara_flag.png',
+ 'ar_flag.png',
+ 'at_flag.png',
+ 'az_flag.png',
+ 'ba_flag.png',
+ 'bd_flag.png',
+ 'be_flag.png',
+ 'bg_flag.png',
+ 'brai_flag.png',
+ 'br_flag.png',
+ 'bt_flag.png',
+ 'bw_flag.png',
+ 'by_flag.png',
+ 'ca_flag.png',
+ 'cat_flag.png',
+ 'cd_flag.png',
+ 'ch_flag.png',
+ 'cm_flag.png',
+ 'cn_flag.png',
+ 'cz_flag.png',
+ 'de_flag.png',
+ 'dk_flag.png',
+ 'ee_flag.png',
+ 'epo_flag.png',
+ 'es_flag.png',
+ 'et_flag.png',
+ 'fi_flag.png',
+ 'fo_flag.png',
+ 'fr_flag.png',
+ 'gb_flag.png',
+ 'ge_flag.png',
+ 'gh_flag.png',
+ 'gn_flag.png',
+ 'gr_flag.png',
+ 'hr_flag.png',
+ 'hu_flag.png',
+ 'ie_flag.png',
+ 'il_flag.png',
+ 'in_flag.png',
+ 'iq_flag.png',
+ 'ir_flag.png',
+ 'is_flag.png',
+ 'it_flag.png',
+ 'jp_flag.png',
+ 'ke_flag.png',
+ 'kg_flag.png',
+ 'kh_flag.png',
+ 'kr_flag.png',
+ 'ku_flag.png',
+ 'kz_flag.png',
+ 'la_flag.png',
+ 'lang-system.png',
+ 'latam_flag.png',
+ 'lk_flag.png',
+ 'lt_flag.png',
+ 'lv_flag.png',
+ 'ma_flag.png',
+ 'mao_flag.png',
+ 'md_flag.png',
+ 'me_flag.png',
+ 'mk_flag.png',
+ 'ml_flag.png',
+ 'mm_flag.png',
+ 'mn_flag.png',
+ 'mt_flag.png',
+ 'mv_flag.png',
+ 'my_flag.png',
+ 'ng_flag.png',
+ 'nl_flag.png',
+ 'no_flag.png',
+ 'np_flag.png',
+ 'ph_flag.png',
+ 'pk_flag.png',
+ 'pl_flag.png',
+ 'pt_flag.png',
+ 'ro_flag.png',
+ 'rs_flag.png',
+ 'ru_flag.png',
+ 'se_flag.png',
+ 'si_flag.png',
+ 'sk_flag.png',
+ 'sn_flag.png',
+ 'sy_flag.png',
+ 'th_flag.png',
+ 'tj_flag.png',
+ 'tm_flag.png',
+ 'tr_flag.png',
+ 'tw_flag.png',
+ 'tz_flag.png',
+ 'ua_flag.png',
+ 'unknown_flag.png',
+ 'us_flag.png',
+ 'uz_flag.png',
+ 'vn_flag.png',
+ 'za_flag.png'
+]
+
+install_data(flags_dist,
+ install_dir: join_paths(dir_data, 'enlightenment/data/flags')
+)
diff --git a/data/icons/meson.build b/data/icons/meson.build
new file mode 100644
index 000000000..05fd5925e
--- /dev/null
+++ b/data/icons/meson.build
@@ -0,0 +1,18 @@
+icons_dist = [
+ 'xterm.png',
+ 'web_browser.png',
+ 'audio_player.png',
+ 'mail_client.png',
+ 'video_player.png',
+ 'text_editor.png',
+ 'image_viewer.png',
+ 'audio_player2.png'
+]
+
+install_data(icons_dist,
+ install_dir: join_paths(dir_data, 'enlightenment/data/icons')
+)
+
+install_data('enlightenment-askpass.png',
+ install_dir: join_paths(dir_data, 'pixmaps')
+)
diff --git a/data/images/meson.build b/data/images/meson.build
new file mode 100644
index 000000000..944c03bf1
--- /dev/null
+++ b/data/images/meson.build
@@ -0,0 +1,11 @@
+images_dist = [
+ 'enlightenment.png',
+ 'test.png',
+ 'test.jpg',
+ 'test.edj',
+ 'test.svg'
+]
+
+install_data(images_dist,
+ install_dir: join_paths(dir_data, 'enlightenment/data/images')
+)
diff --git a/data/input_methods/meson.build b/data/input_methods/meson.build
new file mode 100644
index 000000000..147abdb71
--- /dev/null
+++ b/data/input_methods/meson.build
@@ -0,0 +1,13 @@
+input_methods_dist = [
+ 'scim.imc',
+ 'uim.imc',
+ 'iiimf.imc',
+ 'ibus.imc',
+ 'gcin.imc',
+ 'hime.imc',
+ 'fcitx.imc'
+]
+
+install_data(input_methods_dist,
+ install_dir: join_paths(dir_data, 'enlightenment/data/input_methods')
+)
diff --git a/data/tools/meson.build b/data/tools/meson.build
new file mode 100644
index 000000000..212851082
--- /dev/null
+++ b/data/tools/meson.build
@@ -0,0 +1,7 @@
+tools_dist = [
+ 'enlightenment_remote'
+]
+
+install_data(tools_dist,
+ install_dir: dir_bin
+)
diff --git a/data/units/meson.build b/data/units/meson.build
new file mode 100644
index 000000000..a30265b13
--- /dev/null
+++ b/data/units/meson.build
@@ -0,0 +1,8 @@
+if get_option('systemd') == true
+ configure_file(input: 'enlightenment.service.in',
+ output: 'enlightenment.service',
+ install: true,
+ install_dir: systemd_unitdir,
+ configuration: config_h
+ )
+endif
diff --git a/data/xsession/meson.build b/data/xsession/meson.build
new file mode 100644
index 000000000..ea895ab17
--- /dev/null
+++ b/data/xsession/meson.build
@@ -0,0 +1,6 @@
+configure_file(input: 'enlightenment.desktop.in',
+ output: 'enlightenment.desktop',
+ install: true,
+ install_dir: join_paths(dir_data, 'xsessions'),
+ configuration: config_h
+)
diff --git a/meson.build b/meson.build
new file mode 100644
index 000000000..030faa68b
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,500 @@
+project('enlightenment', 'c',
+ version: '0.21.99',
+ license: 'BSD 2 clause',
+ default_options: [ 'c_std=gnu99', 'warning_level=2' ],
+ meson_version: '>= 0.40.0')
+
+e_version = meson.project_version().split('.')
+git_version = '0'
+git = find_program('git')
+if git.found() == true
+ git_cmd = run_command(git.path(), 'rev-list', '--count', 'HEAD')
+ if git_cmd.returncode() == 0
+ git_version = git_cmd.stdout().strip()
+ endif
+endif
+e_version_rev = '.'.join([meson.project_version(), git_version])
+#e_version_rev = e_version
+
+efl_version = '>= 1.19.99'
+
+release = 'ver-0.22'
+#for releases
+#release = '@0@.@1@.@2@'.format(e_version[0], e_version[1], e_version[2])
+
+add_global_arguments('-DHAVE_CONFIG_H=1', language: 'c')
+dir_prefix = get_option('prefix')
+dir_bin = join_paths(dir_prefix, get_option('bindir'))
+dir_sysconf = get_option('sysconfdir')
+dir_data = join_paths(dir_prefix, get_option('datadir'))
+dir_include = join_paths(dir_prefix, get_option('includedir'))
+dir_include_e = join_paths(dir_include, 'enlightenment')
+dir_lib = join_paths(dir_prefix, get_option('libdir'))
+dir_module_e = join_paths(dir_lib, 'enlightenment/modules')
+dir_util_e = join_paths(dir_lib, 'enlightenment/utils')
+dir_pc = join_paths(dir_data, 'pkgconfig')
+
+suid_exes = []
+
+pkgconfig = import('pkgconfig')
+cc = meson.get_compiler('c')
+dev_cflags = []
+
+# disable for release builds
+dev_cflags_try = [
+ '-Wall',
+ '-W',
+ '-Wpointer-arith',
+ '-Wshadow',
+ '-Wno-missing-field-initializers',
+ '-Wfloat-equal',
+ '-Wuninitialized',
+ '-Wundef',
+ '-Wcast-align',
+ '-Wformat=2',
+ '-Wno-format-y2k',
+]
+
+foreach cf: dev_cflags_try
+ if cc.has_argument(cf) == true
+ dev_cflags += cf
+ endif
+endforeach
+add_global_arguments(dev_cflags, language: 'c')
+
+config_h = configuration_data()
+config_h.set('E_INTERNAL', '1')
+config_h.set('_GNU_SOURCE', '1')
+config_h.set('_ALL_SOURCE', '1')
+config_h.set('_POSIX_PTHREAD_SEMANTICS', '1')
+config_h.set('_TANDEM_SOURCE', '1')
+config_h.set('__EXTENSIONS__', '1')
+#config_h.set('E_RELEASE_BUILD', '1')
+
+if get_option('nls') == true
+ subdir('po')
+endif
+
+darwin = host_machine.system().startswith('darwin')
+if darwin == true
+ code='''
+ #define _GNU_SOURCE 1
+ #include <unistd.h>
+ extern char **environ;
+ '''
+ if cc.links(code, name: 'environ test')
+ config_h.set('HAVE_ENVIRON', '1')
+ endif
+endif
+openbsd = host_machine.system().startswith('openbsd')
+netbsd = host_machine.system().startswith('netbsd')
+freebsd = host_machine.system().startswith('freebsd')
+suid_cflags = []
+suid_ldflags = []
+dep_crypt = []
+if freebsd == true or host_machine.system().startswith('pcbsd')
+ dep_crypt = cc.find_library('crypt', required: true)
+ if cc.links('', args: '-fPIE', link_args: '-pie') == true
+ suid_cflags = '-fPIE'
+ suid_ldflags = '-pie'
+ endif
+endif
+dragonfly = host_machine.system().startswith('dragonfly')
+
+#FIXME: other variants...
+host_os = host_machine.system()
+if host_os == 'linux'
+ if cc.has_header_symbol('features.h', '__UCLIBC__')
+ host_os = 'linux-uclibc'
+ elif cc.has_header_symbol('features.h', '__dietlibc__')
+ host_os = 'linux-dietlibc'
+ else
+ host_os = 'linux-gnu'
+ endif
+endif
+
+module_arch = '@0@-@1@-@2@'.format(host_os, host_machine.cpu_family(), release)
+config_h.set_quoted('MODULE_ARCH', module_arch)
+
+config_h.set_quoted('PACKAGE', 'enlightenment')
+config_h.set_quoted('PACKAGE_VERSION', e_version_rev)
+config_h.set_quoted('VERSION', e_version_rev)
+
+add_global_arguments('-DPACKAGE_BIN_DIR="@0@"'.format(dir_bin), language: 'c')
+add_global_arguments('-DPACKAGE_LIB_DIR="@0@"'.format(dir_lib), language: 'c')
+add_global_arguments('-DPACKAGE_DATA_DIR="@0@"'.format(dir_data), language: 'c')
+add_global_arguments('-DPACKAGE_SYSCONF_DIR="@0@"'.format(dir_sysconf), language: 'c')
+
+config_h.set_quoted('LOCALE_DIR', join_paths([dir_prefix, 'share/locale']))
+config_h.set_quoted('PACKAGE_URL', 'https://www.enlightenment.org')
+config_h.set_quoted('PACKAGE_TARNAME', 'enlightenment')
+config_h.set_quoted('PACKAGE_BUGREPORT', 'enlightenment-devel@lists.sourceforge.net')
+config_h.set_quoted('PACKAGE_STRING', 'enlightenment '.join([e_version_rev]))
+config_h.set_quoted('PACKAGE_NAME', 'enlightenment')
+
+config_h.set_quoted('BINDIR', dir_bin)
+config_h.set_quoted('DATADIR', dir_data)
+
+if cc.has_function('setenv') == true
+ config_h.set('HAVE_SETENV', '1')
+endif
+if cc.has_function('unsetenv') == true
+ config_h.set('HAVE_UNSETENV', '1')
+endif
+if cc.has_function('clearenv') == true
+ config_h.set('HAVE_CLEARENV', '1')
+endif
+if cc.has_header('features.h') == true
+ config_h.set('HAVE_FEATURES_H', '1')
+endif
+if cc.has_header('sys/ptrace.h') == true
+ config_h.set('HAVE_SYS_PTRACE_H', '1')
+endif
+if cc.has_header('arpa/inet.h') == true
+ config_h.set('HAVE_ARPA_INET_H', '1')
+endif
+if cc.has_header('netinet/in.h') == true
+ config_h.set('HAVE_NETINET_IN_H', '1')
+endif
+if cc.has_header('execinfo.h') == true
+ config_h.set('HAVE_EXECINFO_H', '1')
+else
+ if cc.has_function('backtrace_symbols_fd', dependencies: 'execinfo') == false
+ execinfo_dep = dependency('execinfo', required: false)
+ endif
+endif
+
+if cc.has_header('fnmatch.h') == false
+ error('fnmatch.h not found')
+endif
+if cc.has_function('fnmatch') == false
+ dep_fnmatch = dependency('fnmatch', required: true)
+endif
+
+if cc.has_header('CFBase.h',
+ args: '-I/System/Library/Frameworks/CoreFoundation.framework/Headers') == true
+ add_global_arguments('-I/System/Library/Frameworks/CoreFoundation.framework/Headers', language: 'c')
+ add_global_arguments('-I /System/Library/Frameworks/IOKit.framework/Headers', language: 'c')
+ add_global_link_arguments('-framework CoreFoundation', '-framework IOKit')
+endif
+
+
+if get_option('pam') == true
+ if cc.has_header('security/pam_appl.h')
+ config_h.set('HAVE_PAM', '1')
+ dep_pam = cc.find_library('pam', required: true)
+ endif
+endif
+
+dep_m = cc.find_library('m', required: false)
+dep_dl = cc.find_library('dl', required: false)
+
+dep_bluez = dependency('bluez', required: false)
+if dep_bluez.found() == true
+ config_h.set('HAVE_BLUETOOTH', '1')
+endif
+
+systemd_unitdir = ''
+if get_option('systemd') == true
+ systemd_unitdir = get_option('systemdunitdir')
+ if systemd_unitdir == ''
+ dep_systemd = dependency('systemd', required: true)
+ systemd_unitdir = dep_systemd.get_pkgconfig_variable('systemduserunitdir')
+ endif
+endif
+
+
+HALT = '/sbin/shutdown -h now'
+REBOOT = '/sbin/shutdown -r now'
+SUSPEND = ''
+HIBERNATE = ''
+MOUNT = '/bin/mount'
+UMOUNT = '/bin/umount'
+EJECT = '/usr/bin/eject'
+
+if host_machine.system().contains('bsd') == true
+ #SUSPEND = 'acpiconf -s3'
+ SUSPEND = '/usr/sbin/zzz'
+ HIBERNATE = 'acpiconf -s4'
+ HALT = '/sbin/shutdown -p now'
+ MOUNT = '/sbin/mount'
+ UMOUNT = '/sbin/umount'
+ EJECT = '/usr/sbin/cdcontrol eject'
+else
+ if systemd_unitdir != ''
+ HALT = '/usr/bin/systemctl poweroff'
+ REBOOT = '/usr/bin/systemctl reboot'
+ SUSPEND = '/usr/bin/systemctl suspend'
+ HIBERNATE = '/usr/bin/systemctl hibernate'
+ else
+ sleep = find_program('sleep.sh', '/etc/acpi/sleep.sh', '/sbin/sleep.sh', '/usr/sbin/sleep.sh')
+ if sleep.found() == true
+ SUSPEND = sleep.path()
+ if sleep.path() == '/etc/acpi/sleep.sh'
+ SUSPEND = '/etc/acpi/sleep.sh force'
+ endif
+ else
+ suspend = find_program('pm-suspend', '/etc/acpi/pm-suspend', '/sbin/pm-suspend', '/usr/sbin/pm-suspend')
+ if suspend.found()
+ SUSPEND = suspend.path()
+ endif
+ endif
+
+ hibernate_sh = find_program('hibernate.sh', '/etc/acpi/hibernate.sh', '/sbin/hibernate.sh', '/usr/sbin/hibernate.sh')
+ if hibernate_sh.found() == true
+ HIBERNATE = hibernate_sh.path()
+ if hibernate_sh.path() == '/etc/acpi/hibernate.sh'
+ SUSPEND = '/etc/acpi/hibernate.sh force'
+ endif
+ else
+ hibernate = find_program('pm-hibernate', '/etc/acpi/pm-hibernate', '/sbin/pm-hibernate', '/usr/sbin/pm-hibernate')
+ if hibernate.found()
+ HIBERNATE = hibernate.path()
+ endif
+ endif
+ endif
+endif
+
+sysactions = configuration_data()
+sysactions.set('HALT', HALT)
+sysactions.set('REBOOT', REBOOT)
+sysactions.set('SUSPEND', SUSPEND)
+sysactions.set('HIBERNATE', HIBERNATE)
+sysactions.set('MOUNT', MOUNT)
+sysactions.set('UMOUNT', UMOUNT)
+sysactions.set('EJECT', EJECT)
+
+if cc.has_function('eeze_disk_function', dependencies: dependency('eeze')) == true
+ config_h.set('HAVE_EEZE_MOUNT', '1')
+ eeze_mount = true
+endif
+
+
+if get_option('files') == true
+ config_h.set('ENABLE_FILES', '1')
+endif
+
+dep_eeze = []
+requires_eeze = ''
+if get_option('device-udev') == true
+ dep_eeze = dependency('eeze', required: true)
+ config_h.set('HAVE_EEZE', '1')
+ requires_eeze = 'eeze'
+endif
+
+if get_option('mount-udisks') == true
+ config_h.set('HAVE_UDISKS_MOUNT', '1')
+endif
+
+if get_option('mount-eeze') == true
+ if config_h.has('HAVE_EEZE_MOUNT') == false
+ error('eeze not compiled with mount support')
+ endif
+ if get_option('device-udev') == false
+ dep_eeze = dependency('eeze', required: true)
+ requires_eeze = 'eeze'
+ endif
+endif
+
+dep_rt = cc.find_library('rt', required: false)
+dep_eina = dependency('eina', version: efl_version, required: true)
+dep_eet = dependency('eet', required: true)
+dep_ecore = dependency('ecore', required: true)
+dep_ecore_ipc = dependency('ecore-ipc', required: true)
+dep_ecore_file = dependency('ecore-file', required: true)
+dep_ecore_con = dependency('ecore-con', required: true)
+dep_ecore_input = dependency('ecore-input', required: true)
+dep_ecore_input_evas = dependency('ecore-input-evas', required: true)
+dep_ecore_evas = dependency('ecore-evas', required: true)
+dep_evas = dependency('evas', required: true)
+dep_edje = dependency('edje', required: true)
+dep_efreet = dependency('efreet', required: true)
+dep_efreet_mime = dependency('efreet-mime', required: true)
+dep_efreet_trash = dependency('efreet-trash', required: true)
+dep_eio = dependency('eio', required: true)
+dep_eo = dependency('eo', required: true)
+dep_eldbus = dependency('eldbus', required: true)
+dep_emotion = dependency('emotion', required: true)
+dep_elementary = dependency('elementary', required: true)
+
+dep_wayland = []
+if get_option('wayland') == true
+ wayland_protocols = dependency('wayland-protocols', version: '>= 1.7')
+ dir_wayland_protocols = wayland_protocols.get_pkgconfig_variable('pkgdatadir')
+ wayland_version = '>= 1.11.0'
+ dep_wayland = [
+ dependency('ecore-wl2'),
+ dependency('wayland-server', version: wayland_version),
+ dependency('wayland-client', version: wayland_version),
+ wayland_protocols,
+ dependency('wayland-scanner', version: wayland_version),
+ dependency('xkbcommon'),
+ dependency('uuid')
+ ]
+ dep_ecore_drm2 = dependency('ecore-drm2', required: get_option('wl-drm'))
+ requires_drm = ''
+ if get_option('wl-drm') == true
+ requires_drm = 'ecore-drm2'
+ dep_wayland += dep_ecore_drm2
+ endif
+ requires_wayland = ' '.join([
+ 'wayland-protocols >= 1.7',
+ 'ecore-wl2',
+ requires_drm,
+ ' '.join(['wayland-server', wayland_version]),
+ ' '.join(['wayland-client', wayland_version]),
+ ' '.join(['wayland-scanner', wayland_version]),
+ 'xkbcommon',
+ 'uuid'
+ ])
+ wayland_scanner = find_program('wayland-scanner')
+ gen_scanner_client = generator(wayland_scanner,
+ output: '@BASENAME@-client-protocol.h',
+ arguments: ['client-header', '@INPUT@', '@OUTPUT@'])
+ gen_scanner_server = generator(wayland_scanner,
+ output: '@BASENAME@-server-protocol.h',
+ arguments: ['server-header', '@INPUT@', '@OUTPUT@'])
+ gen_scanner_impl = generator(wayland_scanner,
+ output: '@BASENAME@-protocol.c',
+ arguments: ['code', '@INPUT@', '@OUTPUT@'])
+ config_h.set('HAVE_WAYLAND', '1')
+endif
+
+dep_ecore_x = []
+if get_option('wayland') == true and get_option('wl-x11') == false and get_option('xwayland')
+ config_h.set('HAVE_WAYLAND_ONLY', '1')
+else
+ dep_ecore_x = dependency('ecore-x')
+endif
+
+dep_xkeyboard_config = dependency('xkeyboard-config', required: false)
+if dep_xkeyboard_config.found() == true
+ config_h.set_quoted('XKB_BASE', dep_xkeyboard_config.get_pkgconfig_variable('xkb_base'))
+endif
+
+eet = find_program('eet')
+gen_eet = generator(eet,
+ output: '@BASENAME@.cfg',
+ arguments: ['-e', '@OUTPUT@', 'config', '@INPUT@', '1'])
+
+eldbus_codegen = find_program('eldbus-codegen')
+
+requires_e = []
+
+dir_pkgconfig = join_paths(dir_lib, 'pkgconfig')
+if freebsd == true
+ dir_pkgconfig = join_paths(dir_lib, 'data/pkgconfig')
+endif
+
+subdir('src/bin')
+
+module_files = []
+module_ldflags = '-module -avoid-version'
+module_includes = ['../../..', '../../bin', '../../bin/efx']
+module_deps = [deps_e, dep_dl]
+
+subdir('src/modules/ibar')
+subdir('src/modules/clock')
+subdir('src/modules/pager')
+subdir('src/modules/pager_plain')
+subdir('src/modules/battery')
+subdir('src/modules/temperature')
+subdir('src/modules/notification')
+subdir('src/modules/cpufreq')
+subdir('src/modules/ibox')
+subdir('src/modules/start')
+subdir('src/modules/winlist')
+subdir('src/modules/fileman')
+subdir('src/modules/fileman_opinfo')
+subdir('src/modules/wizard')
+subdir('src/modules/conf')
+subdir('src/modules/conf_theme')
+subdir('src/modules/conf_intl')
+subdir('src/modules/msgbus')
+subdir('src/modules/conf_applications')
+subdir('src/modules/conf_display')
+subdir('src/modules/conf_shelves')
+subdir('src/modules/conf_bindings')
+subdir('src/modules/conf_window_remembers')
+subdir('src/modules/conf_window_manipulation')
+subdir('src/modules/conf_menus')
+subdir('src/modules/conf_dialogs')
+subdir('src/modules/conf_performance')
+subdir('src/modules/conf_paths')
+subdir('src/modules/conf_interaction')
+subdir('src/modules/gadman')
+subdir('src/modules/mixer')
+subdir('src/modules/connman')
+subdir('src/modules/bluez4')
+subdir('src/modules/syscon')
+subdir('src/modules/everything')
+subdir('src/modules/systray')
+subdir('src/modules/appmenu')
+subdir('src/modules/quickaccess')
+subdir('src/modules/teamwork')
+subdir('src/modules/lokker')
+subdir('src/modules/shot')
+subdir('src/modules/backlight')
+subdir('src/modules/tasks')
+subdir('src/modules/conf_randr')
+subdir('src/modules/xkbswitch')
+subdir('src/modules/tiling')
+subdir('src/modules/music-control')
+subdir('src/modules/packagekit')
+subdir('src/modules/wl_desktop_shell')
+subdir('src/modules/wl_x11')
+subdir('src/modules/wl_wl')
+subdir('src/modules/wl_buffer')
+#subdir('src/modules/wl_fb')
+subdir('src/modules/wl_drm')
+subdir('src/modules/wl_text_input')
+subdir('src/modules/wl_weekeyboard')
+subdir('src/modules/policy_mobile')
+subdir('src/modules/geolocation')
+subdir('src/modules/xwayland')
+subdir('src/modules/wireless')
+subdir('src/modules/time')
+subdir('src/modules/sysinfo')
+subdir('src/modules/luncher')
+
+subdir('config')
+
+subdir('data/backgrounds')
+subdir('data/desktop')
+subdir('data/etc')
+subdir('data/favorites')
+subdir('data/flags')
+subdir('data/icons')
+subdir('data/images')
+subdir('data/input_methods')
+subdir('data/tools')
+subdir('data/units')
+subdir('data/xsession')
+
+
+meson.add_install_script('meson/meson_inst.sh', suid_exes)
+meson.add_install_script('meson/meson_modules.sh', module_files)
+configure_file(output: 'config.h', install: false, configuration: config_h)
+pkgconfig.generate(
+ name: 'enlightenment',
+ description: 'Enlightenment Window Manager',
+ filebase: 'enlightenment',
+ subdirs: 'enlightenment',
+ #requires: deps_e,
+ requires: requires_e,
+ version: e_version_rev,
+ libraries_private: '-lm',
+ install_dir: dir_pkgconfig,
+ variables: [
+ 'exec_prefix=${prefix}',
+ 'datarootdir=@0@'.format(dir_data),
+ 'datadir=${datarootdir}',
+ 'modules=@0@/enlightenment/modules'.format(dir_lib),
+ 'pkgdatadir=${datarootdir}/enlightenment/data',
+ 'themes=${pkgdatadir}/themes',
+ 'backgrounds=${pkgdatadir}/backgrounds',
+ 'release=@0@'.format(release)
+ ]
+)
+
+install_data(['AUTHORS', 'COPYING'], install_dir: join_paths(dir_data, 'enlightenment'))
diff --git a/meson/meson_inst.sh b/meson/meson_inst.sh
new file mode 100644
index 000000000..321143e40
--- /dev/null
+++ b/meson/meson_inst.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+for x in "$@" ; do
+ chown root "$DESTDIR/$x"
+ chmod a=rx,u+xs "$DESTDIR/$x"
+done
diff --git a/meson/meson_modules.sh b/meson/meson_modules.sh
new file mode 100644
index 000000000..c6f23181a
--- /dev/null
+++ b/meson/meson_modules.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+for x in "$@" ; do
+ dir="$(dirname $x)"
+ mv "$DESTDIR"/"$x" "$DESTDIR"/"$dir"/module.so
+done
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 000000000..78d7dd66b
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,309 @@
+option('install-sysactions',
+ type: 'boolean',
+ default: true,
+ description: 'install /etc/enlightenment/sysactions.conf: (default=true)')
+option('install-enlightenment-menu',
+ type: 'boolean',
+ default: true,
+ description: 'install /etc/xdg/menus/e-applications.menu: (default=true)')
+option('files',
+ type: 'boolean',
+ default: true,
+ description: 'enable Files menu item: (default=true)')
+option('nls',
+ type: 'boolean',
+ default: true,
+ description: 'enable localization: (default=true)')
+
+option('pam',
+ type: 'boolean',
+ default: true,
+ description: 'enable PAM support: (default=true)')
+
+option('nls',
+ type: 'boolean',
+ default: true,
+ description: 'enable NLS support: (default=true)')
+
+option('device-udev',
+ type: 'boolean',
+ default: true,
+ description: 'enable udev device backend: (default=true)')
+option('mount-udisks',
+ type: 'boolean',
+ default: true,
+ description: 'enable udisks mounting support: (default=true)')
+option('mount-eeze',
+ type: 'boolean',
+ default: false,
+ description: 'enable eeze mounting support: (default=false)')
+
+option('wayland',
+ type: 'boolean',
+ default: false,
+ value: false,
+ description: 'enable wayland support: (default=false)')
+option('xwayland',
+ type: 'boolean',
+ default: true,
+ description: 'enable xwayland support: (default=true)')
+option('xwayland-bin',
+ type: 'string',
+ default: '',
+ description: 'set the path to Xwayland: (default=)')
+option('wl-buffer',
+ type: 'boolean',
+ default: true,
+ description: 'enable buffer wayland output: (default=true)')
+option('wl-drm',
+ type: 'boolean',
+ default: true,
+ description: 'enable drm wayland output: (default=true)')
+option('wl-wl',
+ type: 'boolean',
+ default: true,
+ description: 'enable nested wayland output: (default=true)')
+option('wl-x11',
+ type: 'boolean',
+ default: true,
+ description: 'enable x11 wayland output: (default=true)')
+option('wl-desktop-shell',
+ type: 'boolean',
+ default: true,
+ description: 'enable wayland desktop shell support: (default=true)')
+option('wl-text-input',
+ type: 'boolean',
+ default: true,
+ description: 'enable wayland vkbd support: (default=true)')
+option('wl-weekeyboard',
+ type: 'boolean',
+ default: true,
+ description: 'enable internal wayland vkbd: (default=true)')
+
+option('systemd',
+ type: 'boolean',
+ default: true,
+ description: 'enable systemd support: (default=true)')
+option('systemdunitdir',
+ type: 'string',
+ default: '',
+ description: 'path to systemd user services directory')
+
+option('appmenu',
+ type: 'boolean',
+ default: true,
+ description: 'enable appmenu module: (default=true)')
+option('backlight',
+ type: 'boolean',
+ default: true,
+ description: 'enable backlight module: (default=true)')
+option('battery',
+ type: 'boolean',
+ default: true,
+ description: 'enable battery module: (default=true)')
+option('bluez4',
+ type: 'boolean',
+ default: true,
+ description: 'enable bluez4 module: (default=true)')
+option('clock',
+ type: 'boolean',
+ default: true,
+ description: 'enable clock module: (default=true)')
+option('connman',
+ type: 'boolean',
+ default: true,
+ description: 'enable connman module: (default=true)')
+option('cpufreq',
+ type: 'boolean',
+ default: true,
+ description: 'enable cpufreq module: (default=true)')
+option('everything',
+ type: 'boolean',
+ default: true,
+ description: 'enable everything module: (default=true)')
+option('fileman',
+ type: 'boolean',
+ default: true,
+ description: 'enable fileman module: (default=true)')
+option('fileman-opinfo',
+ type: 'boolean',
+ default: true,
+ description: 'enable fileman-opinfo module: (default=true)')
+option('gadman',
+ type: 'boolean',
+ default: true,
+ description: 'enable gadman module: (default=true)')
+option('geolocation',
+ type: 'boolean',
+ default: true,
+ description: 'enable geolocation module: (default=true)')
+option('ibar',
+ type: 'boolean',
+ default: true,
+ description: 'enable ibar module: (default=true)')
+option('ibox',
+ type: 'boolean',
+ default: true,
+ description: 'enable ibox module: (default=true)')
+option('lokker',
+ type: 'boolean',
+ default: true,
+ description: 'enable lokker module: (default=true)')
+option('luncher',
+ type: 'boolean',
+ default: true,
+ description: 'enable luncher module: (default=true)')
+option('mixer',
+ type: 'boolean',
+ default: true,
+ description: 'enable mixer module: (default=true)')
+option('msgbus',
+ type: 'boolean',
+ default: true,
+ description: 'enable msgbus module: (default=true)')
+option('music-control',
+ type: 'boolean',
+ default: true,
+ description: 'enable music-control module: (default=true)')
+option('notification',
+ type: 'boolean',
+ default: true,
+ description: 'enable notification module: (default=true)')
+option('packagekit',
+ type: 'boolean',
+ default: true,
+ description: 'enable packagekit module: (default=true)')
+option('pager',
+ type: 'boolean',
+ default: true,
+ description: 'enable pager module: (default=true)')
+option('pager-plain',
+ type: 'boolean',
+ default: true,
+ description: 'enable pager_plain module: (default=true)')
+option('quickaccess',
+ type: 'boolean',
+ default: true,
+ description: 'enable quickaccess module: (default=true)')
+option('policy-mobile',
+ type: 'boolean',
+ default: true,
+ description: 'enable policy-mobile module: (default=true)')
+option('start',
+ type: 'boolean',
+ default: true,
+ description: 'enable start module: (default=true)')
+option('shot',
+ type: 'boolean',
+ default: true,
+ description: 'enable shot module: (default=true)')
+option('syscon',
+ type: 'boolean',
+ default: true,
+ description: 'enable syscon module: (default=true)')
+option('sysinfo',
+ type: 'boolean',
+ default: true,
+ description: 'enable sysinfo module: (default=true)')
+option('systray',
+ type: 'boolean',
+ default: true,
+ description: 'enable systray module: (default=true)')
+option('tasks',
+ type: 'boolean',
+ default: true,
+ description: 'enable tasks module: (default=true)')
+option('teamwork',
+ type: 'boolean',
+ default: true,
+ description: 'enable teamwork module: (default=true)')
+option('temperature',
+ type: 'boolean',
+ default: true,
+ description: 'enable temperature module: (default=true)')
+option('tiling',
+ type: 'boolean',
+ default: true,
+ description: 'enable tiling module: (default=true)')
+option('time',
+ type: 'boolean',
+ default: true,
+ description: 'enable time module: (default=true)')
+option('winlist',
+ type: 'boolean',
+ default: true,
+ description: 'enable winlist module: (default=true)')
+option('wireless',
+ type: 'boolean',
+ default: true,
+ description: 'enable wireless module: (default=true)')
+option('wizard',
+ type: 'boolean',
+ default: true,
+ description: 'enable wizard module: (default=true)')
+option('xkbswitch',
+ type: 'boolean',
+ default: true,
+ description: 'enable xkbswitch module: (default=true)')
+
+
+option('conf',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf module: (default=true)')
+option('conf-applications',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-applications module: (default=true)')
+option('conf-bindings',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-bindings module: (default=true)')
+option('conf-dialogs',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-dialogs module: (default=true)')
+option('conf-display',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-display module: (default=true)')
+option('conf-interaction',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-interaction module: (default=true)')
+option('conf-intl',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-intl module: (default=true)')
+option('conf-menus',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-menus module: (default=true)')
+option('conf-paths',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-paths module: (default=true)')
+option('conf-performance',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-performance module: (default=true)')
+option('conf-randr',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-randr module: (default=true)')
+option('conf-shelves',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-shelves module: (default=true)')
+option('conf-theme',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-theme module: (default=true)')
+option('conf-window-manipulation',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-window-manipulation module: (default=true)')
+option('conf-window-remembers',
+ type: 'boolean',
+ default: true,
+ description: 'enable conf-window-remembers module: (default=true)')
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 000000000..c8aafc73e
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1,5 @@
+if get_option('nls')
+ i18n = import('i18n')
+ i18n.gettext('enlightenment')
+ config_h.set('HAVE_GETTEXT', '1')
+endif
diff --git a/src/bin/e_fm/meson.build b/src/bin/e_fm/meson.build
new file mode 100644
index 000000000..6b6f9030e
--- /dev/null
+++ b/src/bin/e_fm/meson.build
@@ -0,0 +1,50 @@
+deps_efm = [
+ dep_eina,
+ dep_ecore,
+ dep_ecore_con,
+ dep_ecore_file,
+ dep_ecore_ipc,
+ dep_efreet
+]
+
+udisks_src = []
+if config_h.has('HAVE_UDISKS_MOUNT') == true
+ udisks_src = [
+ 'e_fm_main_udisks.c',
+ 'e_fm_main_udisks.h',
+ 'e_fm_main_udisks2.c',
+ 'e_fm_main_udisks2.h'
+ ]
+ deps_efm += [dep_eldbus]
+endif
+
+eeze_src = []
+if config_h.has('HAVE_EEZE_MOUNT') == true
+ eeze_src = [
+ '../e_prefix.c',
+ 'e_fm_main_eeze.c',
+ 'e_fm_main_eeze.h'
+ ]
+ deps_efm += [dep_eeze, dep_eet]
+endif
+
+efm_src = [
+ 'e_fm_main.c',
+ 'e_fm_main.h',
+ 'e_fm_ipc.c',
+ 'e_fm_ipc.h',
+ '../e_fm_shared_codec.c',
+ '../e_fm_shared_device.c',
+ '../e_user.c',
+ '../e_sha1.c',
+ udisks_src,
+ eeze_src
+]
+
+executable('enlightenment_fm',
+ [efm_src],
+ include_directories: include_directories('../../../', '../..', '.', '..'),
+ dependencies: [deps_efm],
+ install_dir: dir_e_utils,
+ install: true
+)
diff --git a/src/bin/generated/meson.build b/src/bin/generated/meson.build
new file mode 100644
index 000000000..e3ee230a0
--- /dev/null
+++ b/src/bin/generated/meson.build
@@ -0,0 +1,19 @@
+protos = [
+ '@0@/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml'.format(dir_wayland_protocols),
+ '../../protocol/session-recovery.xml',
+ '../../protocol/www.xml',
+ '@0@/unstable/xdg-foreign/xdg-foreign-unstable-v1.xml'.format(dir_wayland_protocols),
+ '@0@/unstable/relative-pointer/relative-pointer-unstable-v1.xml'.format(dir_wayland_protocols),
+ '@0@/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml'.format(dir_wayland_protocols),
+]
+
+proto_c = []
+proto_h = []
+
+foreach proto: protos
+ proto_h += gen_scanner_server.process(proto)
+ proto_c += gen_scanner_impl.process(proto)
+endforeach
+
+wayland_proto_c = proto_c
+wayland_proto_h = proto_h
diff --git a/src/bin/meson.build b/src/bin/meson.build
new file mode 100644
index 000000000..fac63d96d
--- /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')
diff --git a/src/modules/appmenu/meson.build b/src/modules/appmenu/meson.build
new file mode 100644
index 000000000..40b7e093b
--- /dev/null
+++ b/src/modules/appmenu/meson.build
@@ -0,0 +1,28 @@
+appmenu_dist = [
+ 'e-module-appmenu.edj',
+ 'module.desktop',
+]
+
+appmenu_src = [
+ 'e_mod_main.c',
+]
+
+appmenu_dir = join_paths(dir_module_e, 'appmenu', module_arch)
+if get_option('appmenu') == true
+ config_h.set('USE_MODULE_APPMENU', '1')
+
+ install_data(appmenu_dist,
+ install_dir: join_paths(dir_module_e, 'appmenu')
+ )
+
+ module_files += join_paths(appmenu_dir, 'appmenu.so')
+ shared_module('appmenu',
+ appmenu_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: appmenu_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/backlight/meson.build b/src/modules/backlight/meson.build
new file mode 100644
index 000000000..939090420
--- /dev/null
+++ b/src/modules/backlight/meson.build
@@ -0,0 +1,30 @@
+backlight_dist = [
+ 'e-module-backlight.edj',
+ 'module.desktop',
+]
+
+backlight_src = [
+ 'e_mod_main.c',
+ 'gadget/backlight.c',
+ 'gadget/mod.c'
+]
+
+backlight_dir = join_paths(dir_module_e, 'backlight', module_arch)
+if get_option('backlight') == true
+ config_h.set('USE_MODULE_BACKLIGHT', '1')
+
+ install_data(backlight_dist,
+ install_dir: join_paths(dir_module_e, 'backlight')
+ )
+
+ module_files += join_paths(backlight_dir, 'backlight.so')
+ shared_module('backlight',
+ backlight_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: backlight_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/battery/meson.build b/src/modules/battery/meson.build
new file mode 100644
index 000000000..4d138a099
--- /dev/null
+++ b/src/modules/battery/meson.build
@@ -0,0 +1,45 @@
+battery_dist = [
+ 'e-module-battery.edj',
+ 'module.desktop',
+]
+
+battery_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+if config_h.has('HAVE_EEZE') == true
+ battery_src += 'e_mod_udev.c'
+elif host_machine.system().contains('bsd') == true
+ battery_src += 'e_mod_sysctl.c'
+else
+ battery_src += 'e_mod_upower.c'
+endif
+
+battery_dir = join_paths(dir_module_e, 'battery', module_arch)
+if get_option('battery') == true
+ config_h.set('USE_MODULE_BATTERY', '1')
+
+ install_data(battery_dist,
+ install_dir: join_paths(dir_module_e, 'battery')
+ )
+
+ module_files += join_paths(battery_dir, 'battery.so')
+ shared_module('battery',
+ battery_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: battery_dir,
+ install: true
+ )
+
+ executable('batget',
+ 'batget.c',
+ include_directories: include_directories(module_includes),
+ dependencies: [dep_eina, dep_ecore, dep_ecore_con, dep_ecore_file],
+ install_dir: battery_dir,
+ install: true
+ )
+endif
diff --git a/src/modules/bluez4/meson.build b/src/modules/bluez4/meson.build
new file mode 100644
index 000000000..7c6e107ea
--- /dev/null
+++ b/src/modules/bluez4/meson.build
@@ -0,0 +1,30 @@
+bluez4_dist = [
+ 'e-module-bluez4.edj',
+ 'module.desktop',
+]
+
+bluez4_src = [
+ 'agent.c',
+ 'ebluez4.c',
+ 'e_mod_main.c'
+]
+
+bluez4_dir = join_paths(dir_module_e, 'bluez4', module_arch)
+if get_option('bluez4') == true
+ config_h.set('USE_MODULE_BLUEZ4', '1')
+
+ install_data(bluez4_dist,
+ install_dir: join_paths(dir_module_e, 'bluez4')
+ )
+
+ module_files += join_paths(bluez4_dir, 'bluez4.so')
+ shared_module('bluez4',
+ bluez4_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: bluez4_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/clock/meson.build b/src/modules/clock/meson.build
new file mode 100644
index 000000000..8fc730244
--- /dev/null
+++ b/src/modules/clock/meson.build
@@ -0,0 +1,29 @@
+clock_dist = [
+ 'e-module-clock.edj',
+ 'module.desktop',
+]
+
+clock_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c'
+]
+
+clock_dir = join_paths(dir_module_e, 'clock', module_arch)
+if get_option('clock') == true
+ config_h.set('USE_MODULE_CLOCK', '1')
+
+ install_data(clock_dist,
+ install_dir: join_paths(dir_module_e, 'clock')
+ )
+
+ module_files += join_paths(clock_dir, 'clock.so')
+ shared_module('clock',
+ clock_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: clock_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf/meson.build b/src/modules/conf/meson.build
new file mode 100644
index 000000000..75e02d4d9
--- /dev/null
+++ b/src/modules/conf/meson.build
@@ -0,0 +1,30 @@
+conf_dist = [
+ 'e-module-conf.edj',
+ 'module.desktop',
+]
+
+conf_src = [
+ 'e_conf.c',
+ 'e_mod_config.c',
+ 'e_mod_main.c'
+]
+
+conf_dir = join_paths(dir_module_e, 'conf', module_arch)
+if get_option('conf') == true
+ config_h.set('USE_MODULE_CONF', '1')
+
+ install_data(conf_dist,
+ install_dir: join_paths(dir_module_e, 'conf')
+ )
+
+ module_files += join_paths(conf_dir, 'conf.so')
+ shared_module('conf',
+ conf_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_applications/meson.build b/src/modules/conf_applications/meson.build
new file mode 100644
index 000000000..3975a9397
--- /dev/null
+++ b/src/modules/conf_applications/meson.build
@@ -0,0 +1,33 @@
+conf_applications_dist = [
+ 'e-module-conf_applications.edj',
+ 'module.desktop',
+]
+
+conf_applications_src = [
+ 'e_int_config_apps.c',
+ 'e_int_config_apps_personal.c',
+ 'e_int_config_defapps.c',
+ 'e_int_config_deskenv.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_applications_dir = join_paths(dir_module_e, 'conf_applications', module_arch)
+if get_option('conf-applications') == true
+ config_h.set('USE_MODULE_CONF_APPLICATIONS', '1')
+
+ install_data(conf_applications_dist,
+ install_dir: join_paths(dir_module_e, 'conf_applications')
+ )
+
+ module_files += join_paths(conf_applications_dir, 'conf_applications.so')
+ shared_module('conf_applications',
+ conf_applications_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_applications_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_bindings/meson.build b/src/modules/conf_bindings/meson.build
new file mode 100644
index 000000000..c6507f68d
--- /dev/null
+++ b/src/modules/conf_bindings/meson.build
@@ -0,0 +1,33 @@
+conf_bindings_dist = [
+ 'module.desktop',
+]
+
+conf_bindings_src = [
+ 'e_int_config_acpibindings.c',
+ 'e_int_config_edgebindings.c',
+ 'e_int_config_keybindings.c',
+ 'e_int_config_mousebindings.c',
+ 'e_int_config_signalbindings.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_bindings_dir = join_paths(dir_module_e, 'conf_bindings', module_arch)
+if get_option('conf-bindings') == true
+ config_h.set('USE_MODULE_CONF_BINDINGS', '1')
+
+ install_data(conf_bindings_dist,
+ install_dir: join_paths(dir_module_e, 'conf_bindings')
+ )
+
+ module_files += join_paths(conf_bindings_dir, 'conf_bindings.so')
+ shared_module('conf_bindings',
+ conf_bindings_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_bindings_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_dialogs/meson.build b/src/modules/conf_dialogs/meson.build
new file mode 100644
index 000000000..6ef8e8c3b
--- /dev/null
+++ b/src/modules/conf_dialogs/meson.build
@@ -0,0 +1,31 @@
+conf_dialogs_dist = [
+ 'e-module-conf_dialogs.edj',
+ 'module.desktop',
+]
+
+conf_dialogs_src = [
+ 'e_int_config_dialogs.c',
+ 'e_int_config_profiles.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_dialogs_dir = join_paths(dir_module_e, 'conf_dialogs', module_arch)
+if get_option('conf-dialogs') == true
+ config_h.set('USE_MODULE_CONF_DIALOGS', '1')
+
+ install_data(conf_dialogs_dist,
+ install_dir: join_paths(dir_module_e, 'conf_dialogs')
+ )
+
+ module_files += join_paths(conf_dialogs_dir, 'conf_dialogs.so')
+ shared_module('conf_dialogs',
+ conf_dialogs_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_dialogs_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_display/meson.build b/src/modules/conf_display/meson.build
new file mode 100644
index 000000000..d6d3dd47e
--- /dev/null
+++ b/src/modules/conf_display/meson.build
@@ -0,0 +1,34 @@
+conf_display_dist = [
+ 'module.desktop',
+]
+
+conf_display_src = [
+ 'e_int_config_desk.c',
+ 'e_int_config_desklock.c',
+ 'e_int_config_desklock_fsel.c',
+ 'e_int_config_desks.c',
+ 'e_int_config_dpms.c',
+ 'e_int_config_screensaver.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_display_dir = join_paths(dir_module_e, 'conf_display', module_arch)
+if get_option('conf-display') == true
+ config_h.set('USE_MODULE_CONF_DISPLAY', '1')
+
+ install_data(conf_display_dist,
+ install_dir: join_paths(dir_module_e, 'conf_display')
+ )
+
+ module_files += join_paths(conf_display_dir, 'conf_display.so')
+ shared_module('conf_display',
+ conf_display_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_display_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_interaction/meson.build b/src/modules/conf_interaction/meson.build
new file mode 100644
index 000000000..f33026f35
--- /dev/null
+++ b/src/modules/conf_interaction/meson.build
@@ -0,0 +1,31 @@
+conf_interaction_dist = [
+ 'e-module-conf_interaction.edj',
+ 'module.desktop',
+]
+
+conf_interaction_src = [
+ 'e_int_config_interaction.c',
+ 'e_int_config_mouse.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_interaction_dir = join_paths(dir_module_e, 'conf_interaction', module_arch)
+if get_option('conf-interaction') == true
+ config_h.set('USE_MODULE_CONF_INTERACTION', '1')
+
+ install_data(conf_interaction_dist,
+ install_dir: join_paths(dir_module_e, 'conf_interaction')
+ )
+
+ module_files += join_paths(conf_interaction_dir, 'conf_interaction.so')
+ shared_module('conf_interaction',
+ conf_interaction_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_interaction_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_intl/meson.build b/src/modules/conf_intl/meson.build
new file mode 100644
index 000000000..bffa6cbc9
--- /dev/null
+++ b/src/modules/conf_intl/meson.build
@@ -0,0 +1,31 @@
+conf_intl_dist = [
+ 'module.desktop',
+]
+
+conf_intl_src = [
+ 'e_int_config_imc.c',
+ 'e_int_config_imc_import.c',
+ 'e_int_config_intl.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_intl_dir = join_paths(dir_module_e, 'conf_intl', module_arch)
+if get_option('conf-intl') == true
+ config_h.set('USE_MODULE_CONF_INTL', '1')
+
+ install_data(conf_intl_dist,
+ install_dir: join_paths(dir_module_e, 'conf_intl')
+ )
+
+ module_files += join_paths(conf_intl_dir, 'conf_intl.so')
+ shared_module('conf_intl',
+ conf_intl_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_intl_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_menus/meson.build b/src/modules/conf_menus/meson.build
new file mode 100644
index 000000000..d699b8a30
--- /dev/null
+++ b/src/modules/conf_menus/meson.build
@@ -0,0 +1,30 @@
+conf_menus_dist = [
+ 'e-module-conf_menus.edj',
+ 'module.desktop',
+]
+
+conf_menus_src = [
+ 'e_int_config_menus.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_menus_dir = join_paths(dir_module_e, 'conf_menus', module_arch)
+if get_option('conf-menus') == true
+ config_h.set('USE_MODULE_CONF_MENUS', '1')
+
+ install_data(conf_menus_dist,
+ install_dir: join_paths(dir_module_e, 'conf_menus')
+ )
+
+ module_files += join_paths(conf_menus_dir, 'conf_menus.so')
+ shared_module('conf_menus',
+ conf_menus_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_menus_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_paths/meson.build b/src/modules/conf_paths/meson.build
new file mode 100644
index 000000000..0e62e776b
--- /dev/null
+++ b/src/modules/conf_paths/meson.build
@@ -0,0 +1,31 @@
+conf_paths_dist = [
+ 'e-module-conf_paths.edj',
+ 'module.desktop',
+]
+
+conf_paths_src = [
+ 'e_int_config_env.c',
+ 'e_int_config_paths.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_paths_dir = join_paths(dir_module_e, 'conf_paths', module_arch)
+if get_option('conf-paths') == true
+ config_h.set('USE_MODULE_CONF_PATHS', '1')
+
+ install_data(conf_paths_dist,
+ install_dir: join_paths(dir_module_e, 'conf_paths')
+ )
+
+ module_files += join_paths(conf_paths_dir, 'conf_paths.so')
+ shared_module('conf_paths',
+ conf_paths_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_paths_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_performance/meson.build b/src/modules/conf_performance/meson.build
new file mode 100644
index 000000000..85c122c3f
--- /dev/null
+++ b/src/modules/conf_performance/meson.build
@@ -0,0 +1,31 @@
+conf_performance_dist = [
+ 'e-module-conf_performance.edj',
+ 'module.desktop',
+]
+
+conf_performance_src = [
+ 'e_int_config_performance.c',
+ 'e_int_config_powermanagement.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_performance_dir = join_paths(dir_module_e, 'conf_performance', module_arch)
+if get_option('conf-performance') == true
+ config_h.set('USE_MODULE_CONF_PERFORMANCE', '1')
+
+ install_data(conf_performance_dist,
+ install_dir: join_paths(dir_module_e, 'conf_performance')
+ )
+
+ module_files += join_paths(conf_performance_dir, 'conf_performance.so')
+ shared_module('conf_performance',
+ conf_performance_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_performance_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_randr/meson.build b/src/modules/conf_randr/meson.build
new file mode 100644
index 000000000..2ce882dba
--- /dev/null
+++ b/src/modules/conf_randr/meson.build
@@ -0,0 +1,31 @@
+conf_randr_dist = [
+ 'e-module-conf_randr.edj',
+ 'module.desktop',
+]
+
+conf_randr_src = [
+ 'e_int_config_randr2.c',
+ 'e_mod_main.c',
+ 'e_int_config_randr2.h',
+ 'e_mod_main.h',
+]
+
+conf_randr_dir = join_paths(dir_module_e, 'conf_randr', module_arch)
+if get_option('conf-randr') == true
+ config_h.set('USE_MODULE_CONF_RANDR', '1')
+
+ install_data(conf_randr_dist,
+ install_dir: join_paths(dir_module_e, 'conf_randr')
+ )
+
+ module_files += join_paths(conf_randr_dir, 'conf_randr.so')
+ shared_module('conf_randr',
+ conf_randr_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_randr_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_shelves/meson.build b/src/modules/conf_shelves/meson.build
new file mode 100644
index 000000000..387aeec86
--- /dev/null
+++ b/src/modules/conf_shelves/meson.build
@@ -0,0 +1,31 @@
+conf_shelves_dist = [
+ 'e-module-conf_shelves.edj',
+ 'module.desktop',
+]
+
+conf_shelves_src = [
+ 'e_int_config_shelf.c',
+ 'e_mod_main.c',
+ 'e_int_config_shelf.h',
+ 'e_mod_main.h',
+]
+
+conf_shelves_dir = join_paths(dir_module_e, 'conf_shelves', module_arch)
+if get_option('conf-shelves') == true
+ config_h.set('USE_MODULE_CONF_SHELVES', '1')
+
+ install_data(conf_shelves_dist,
+ install_dir: join_paths(dir_module_e, 'conf_shelves')
+ )
+
+ module_files += join_paths(conf_shelves_dir, 'conf_shelves.so')
+ shared_module('conf_shelves',
+ conf_shelves_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_shelves_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_theme/meson.build b/src/modules/conf_theme/meson.build
new file mode 100644
index 000000000..28ff663c4
--- /dev/null
+++ b/src/modules/conf_theme/meson.build
@@ -0,0 +1,37 @@
+conf_theme_dist = [
+ 'module.desktop',
+]
+
+conf_theme_src = [
+ 'e_int_config_borders.c',
+ 'e_int_config_color_classes.c',
+ 'e_int_config_fonts.c',
+ 'e_int_config_scale.c',
+ 'e_int_config_theme.c',
+ 'e_int_config_theme_import.c',
+ 'e_int_config_transitions.c',
+ 'e_int_config_wallpaper.c',
+ 'e_int_config_xsettings.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_theme_dir = join_paths(dir_module_e, 'conf_theme', module_arch)
+if get_option('conf-theme') == true
+ config_h.set('USE_MODULE_CONF_THEME', '1')
+
+ install_data(conf_theme_dist,
+ install_dir: join_paths(dir_module_e, 'conf_theme')
+ )
+
+ module_files += join_paths(conf_theme_dir, 'conf_theme.so')
+ shared_module('conf_theme',
+ conf_theme_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_theme_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_window_manipulation/meson.build b/src/modules/conf_window_manipulation/meson.build
new file mode 100644
index 000000000..e404b3c83
--- /dev/null
+++ b/src/modules/conf_window_manipulation/meson.build
@@ -0,0 +1,34 @@
+conf_window_manipulation_dist = [
+ 'e-module-conf_winmanip.edj',
+ 'module.desktop',
+]
+
+conf_window_manipulation_src = [
+ 'e_int_config_clientlist.c',
+ 'e_int_config_focus.c',
+ 'e_int_config_window_display.c',
+ 'e_int_config_window_geometry.c',
+ 'e_int_config_window_process.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_window_manipulation_dir = join_paths(dir_module_e, 'conf_window_manipulation', module_arch)
+if get_option('conf-window-manipulation') == true
+ config_h.set('USE_MODULE_CONF_WINDOW_MANIPULATION', '1')
+
+ install_data(conf_window_manipulation_dist,
+ install_dir: join_paths(dir_module_e, 'conf_window_manipulation')
+ )
+
+ module_files += join_paths(conf_window_manipulation_dir, 'conf_window_manipulation.so')
+ shared_module('conf_window_manipulation',
+ conf_window_manipulation_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_window_manipulation_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/conf_window_remembers/meson.build b/src/modules/conf_window_remembers/meson.build
new file mode 100644
index 000000000..ed4f1bc8d
--- /dev/null
+++ b/src/modules/conf_window_remembers/meson.build
@@ -0,0 +1,30 @@
+conf_window_remembers_dist = [
+ 'e-module-conf_window_remembers.edj',
+ 'module.desktop',
+]
+
+conf_window_remembers_src = [
+ 'e_int_config_remembers.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+conf_window_remembers_dir = join_paths(dir_module_e, 'conf_window_remembers', module_arch)
+if get_option('conf-window-remembers') == true
+ config_h.set('USE_MODULE_CONF_WINDOW_REMEMBERS', '1')
+
+ install_data(conf_window_remembers_dist,
+ install_dir: join_paths(dir_module_e, 'conf_window_remembers')
+ )
+
+ module_files += join_paths(conf_window_remembers_dir, 'conf_window_remembers.so')
+ shared_module('conf_window_remembers',
+ conf_window_remembers_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: conf_window_remembers_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/connman/meson.build b/src/modules/connman/meson.build
new file mode 100644
index 000000000..7d1327a88
--- /dev/null
+++ b/src/modules/connman/meson.build
@@ -0,0 +1,33 @@
+connman_dist = [
+ 'e-module-connman.edj',
+ 'module.desktop',
+]
+
+connman_src = [
+ 'agent.c',
+ 'e_connman.c',
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'E_Connman.h',
+ 'e_mod_main.h',
+]
+
+connman_dir = join_paths(dir_module_e, 'connman', module_arch)
+if get_option('connman') == true
+ config_h.set('USE_MODULE_CONNMAN', '1')
+
+ install_data(connman_dist,
+ install_dir: join_paths(dir_module_e, 'connman')
+ )
+
+ module_files += join_paths(connman_dir, 'connman.so')
+ shared_module('connman',
+ connman_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: connman_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/cpufreq/meson.build b/src/modules/cpufreq/meson.build
new file mode 100644
index 000000000..e69f255b0
--- /dev/null
+++ b/src/modules/cpufreq/meson.build
@@ -0,0 +1,40 @@
+cpufreq_dist = [
+ 'e-module-cpufreq.edj',
+ 'module.desktop',
+]
+
+cpufreq_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'freqset.c',
+ 'e_mod_main.h',
+]
+
+cpufreq_dir = join_paths(dir_module_e, 'cpufreq', module_arch)
+if get_option('cpufreq') == true
+ config_h.set('USE_MODULE_CPUFREQ', '1')
+
+ install_data(cpufreq_dist,
+ install_dir: join_paths(dir_module_e, 'cpufreq')
+ )
+
+ module_files += join_paths(cpufreq_dir, 'cpufreq.so')
+ shared_module('cpufreq',
+ cpufreq_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: cpufreq_dir,
+ install: true
+ )
+
+ executable('freqset',
+ 'freqset.c',
+ c_args: suid_cflags,
+ link_args: suid_ldflags,
+ install_dir: cpufreq_dir,
+ install: true
+ )
+ suid_exes += join_paths(cpufreq_dir, 'freqset')
+endif
+
diff --git a/src/modules/everything/meson.build b/src/modules/everything/meson.build
new file mode 100644
index 000000000..15f8619c2
--- /dev/null
+++ b/src/modules/everything/meson.build
@@ -0,0 +1,70 @@
+everything_dist = [
+ 'e-module-everything.edj',
+ 'e-module-everything-start.edj',
+ 'module.desktop',
+]
+
+everything_src = [
+ 'e_mod_main.c',
+ 'evry.c',
+ 'evry_config.c',
+ 'evry_gadget.c',
+ 'evry_history.c',
+ 'evry_plug_actions.c',
+ 'evry_plug_aggregator.c',
+ 'evry_plug_apps.c',
+ 'evry_plug_calc.c',
+ 'evry_plug_clipboard.c',
+ 'evry_plug_collection.c',
+ 'evry_plug_files.c',
+ 'evry_plugin.c',
+ 'evry_plug_settings.c',
+ 'evry_plug_text.c',
+ 'evry_plug_windows.c',
+ 'evry_util.c',
+ 'evry_view.c',
+ 'evry_view_help.c',
+ 'evry_view_tabs.c',
+ 'md5.c',
+ 'e_mod_main.h',
+ 'evry_api.h',
+ 'evry_types.h',
+ 'md5.h',
+]
+
+everything_dir = join_paths(dir_module_e, 'everything', module_arch)
+if get_option('everything') == true
+ config_h.set('USE_MODULE_EVERYTHING', '1')
+
+ install_data(everything_dist,
+ install_dir: join_paths(dir_module_e, 'everything')
+ )
+
+ module_files += join_paths(everything_dir, 'everything.so')
+ shared_module('everything',
+ everything_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: everything_dir,
+ install: true
+ )
+
+ install_headers(['evry_api.h', 'evry_types.h'],
+ subdir: 'enlightenment'
+ )
+ pkgconfig.generate(
+ name: 'e17-everything',
+ description: 'Everything module for Enlightenment',
+ filebase: 'everything',
+ subdirs: 'enlightenment',
+ requires: 'enlightenment',
+ version: e_version_rev,
+ install_dir: dir_pkgconfig,
+ variables: [
+ 'exec_prefix=${prefix}',
+ 'plugindir=${libdir}/enlightenment/modules/everything/plugins'
+ ]
+ )
+endif
+
diff --git a/src/modules/fileman/meson.build b/src/modules/fileman/meson.build
new file mode 100644
index 000000000..629d9527f
--- /dev/null
+++ b/src/modules/fileman/meson.build
@@ -0,0 +1,36 @@
+fileman_dist = [
+ 'e-module-fileman.edj',
+ 'module.desktop',
+]
+
+fileman_src = [
+ 'e_fwin.c',
+ 'e_fwin_nav.c',
+ 'e_int_config_mime.c',
+ 'e_int_config_mime_edit.c',
+ 'e_mod_config.c',
+ 'e_mod_dbus.c',
+ 'e_mod_main.c',
+ 'e_mod_menu.c',
+ 'e_mod_main.h',
+]
+
+fileman_dir = join_paths(dir_module_e, 'fileman', module_arch)
+if get_option('fileman') == true
+ config_h.set('USE_MODULE_FILEMAN', '1')
+
+ install_data(fileman_dist,
+ install_dir: join_paths(dir_module_e, 'fileman')
+ )
+
+ module_files += join_paths(fileman_dir, 'fileman.so')
+ shared_module('fileman',
+ fileman_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: fileman_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/fileman_opinfo/meson.build b/src/modules/fileman_opinfo/meson.build
new file mode 100644
index 000000000..b726b4f14
--- /dev/null
+++ b/src/modules/fileman_opinfo/meson.build
@@ -0,0 +1,28 @@
+fileman_opinfo_dist = [
+ 'e-module-fileman_opinfo.edj',
+ 'module.desktop',
+]
+
+fileman_opinfo_src = [
+ 'e_mod_main.c',
+]
+
+fileman_opinfo_dir = join_paths(dir_module_e, 'fileman_opinfo', module_arch)
+if get_option('fileman-opinfo') == true
+ config_h.set('USE_MODULE_FILEMAN_OPINFO', '1')
+
+ install_data(fileman_opinfo_dist,
+ install_dir: join_paths(dir_module_e, 'fileman_opinfo')
+ )
+
+ module_files += join_paths(fileman_opinfo_dir, 'fileman_opinfo.so')
+ shared_module('fileman_opinfo',
+ fileman_opinfo_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: fileman_opinfo_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/gadman/meson.build b/src/modules/gadman/meson.build
new file mode 100644
index 000000000..d6e4d61da
--- /dev/null
+++ b/src/modules/gadman/meson.build
@@ -0,0 +1,31 @@
+gadman_dist = [
+ 'e-module-gadman.edj',
+ 'module.desktop',
+]
+
+gadman_src = [
+ 'e_mod_config.c',
+ 'e_mod_gadman.c',
+ 'e_mod_main.c',
+ 'e_mod_gadman.h',
+]
+
+gadman_dir = join_paths(dir_module_e, 'gadman', module_arch)
+if get_option('gadman') == true
+ config_h.set('USE_MODULE_GADMAN', '1')
+
+ install_data(gadman_dist,
+ install_dir: join_paths(dir_module_e, 'gadman')
+ )
+
+ module_files += join_paths(gadman_dir, 'gadman.so')
+ shared_module('gadman',
+ gadman_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: gadman_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/geolocation/meson.build b/src/modules/geolocation/meson.build
new file mode 100644
index 000000000..21c413200
--- /dev/null
+++ b/src/modules/geolocation/meson.build
@@ -0,0 +1,42 @@
+geolocation_dist = [
+ 'e-module-geolocation.edj',
+ 'module.desktop',
+]
+
+geolocation_src = [
+ 'e_mod_main.c'
+]
+
+geolocation_dir = join_paths(dir_module_e, 'geolocation', module_arch)
+if get_option('geolocation') == true
+ config_h.set('USE_MODULE_GEOLOCATION', '1')
+
+ install_data(geolocation_dist,
+ install_dir: join_paths(dir_module_e, 'geolocation')
+ )
+
+ gen_geo = custom_target('geolocation_gen',
+ input: 'org.freedesktop.GeoClue2.xml',
+ command: [eldbus_codegen, '@INPUT@', '-O', '@OUTDIR@'],
+ output: [
+ 'eldbus_geo_clue2_client.c',
+ 'eldbus_geo_clue2_client.h',
+ 'eldbus_geo_clue2_location.c',
+ 'eldbus_geo_clue2_location.h',
+ 'eldbus_geo_clue2_manager.c',
+ 'eldbus_geo_clue2_manager.h',
+ 'eldbus_utils.h'
+ ]
+ )
+
+ module_files += join_paths(geolocation_dir, 'geolocation.so')
+ shared_module('geolocation',
+ [geolocation_src, gen_geo],
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: geolocation_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/ibar/meson.build b/src/modules/ibar/meson.build
new file mode 100644
index 000000000..f5bffbffe
--- /dev/null
+++ b/src/modules/ibar/meson.build
@@ -0,0 +1,30 @@
+ibar_dist = [
+ 'e-module-ibar.edj',
+ 'module.desktop',
+]
+
+ibar_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+ibar_dir = join_paths(dir_module_e, 'ibar', module_arch)
+if get_option('ibar') == true
+ config_h.set('USE_MODULE_IBAR', '1')
+
+ install_data(ibar_dist,
+ install_dir: join_paths(dir_module_e, 'ibar')
+ )
+
+ module_files += join_paths(ibar_dir, 'ibar.so')
+ shared_module('ibar',
+ ibar_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: ibar_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/ibox/meson.build b/src/modules/ibox/meson.build
new file mode 100644
index 000000000..0a9c40468
--- /dev/null
+++ b/src/modules/ibox/meson.build
@@ -0,0 +1,30 @@
+ibox_dist = [
+ 'e-module-ibox.edj',
+ 'module.desktop',
+]
+
+ibox_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+ibox_dir = join_paths(dir_module_e, 'ibox', module_arch)
+if get_option('ibox') == true
+ config_h.set('USE_MODULE_IBOX', '1')
+
+ install_data(ibox_dist,
+ install_dir: join_paths(dir_module_e, 'ibox')
+ )
+
+ module_files += join_paths(ibox_dir, 'ibox.so')
+ shared_module('ibox',
+ ibox_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: ibox_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/lokker/meson.build b/src/modules/lokker/meson.build
new file mode 100644
index 000000000..c9acbfcc5
--- /dev/null
+++ b/src/modules/lokker/meson.build
@@ -0,0 +1,21 @@
+lokker_src = [
+ 'e_mod_main.c',
+ 'lokker.c',
+ 'e_mod_main.h',
+]
+
+lokker_dir = join_paths(dir_module_e, 'lokker', module_arch)
+if get_option('lokker') == true
+ config_h.set('USE_MODULE_LOKKER', '1')
+
+ module_files += join_paths(lokker_dir, 'lokker.so')
+ shared_module('lokker',
+ lokker_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: lokker_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/luncher/meson.build b/src/modules/luncher/meson.build
new file mode 100644
index 000000000..62c89bc72
--- /dev/null
+++ b/src/modules/luncher/meson.build
@@ -0,0 +1,23 @@
+luncher_src = [
+ 'bar.c',
+ 'config.c',
+ 'grid.c',
+ 'mod.c',
+ 'luncher.h',
+]
+
+luncher_dir = join_paths(dir_module_e, 'luncher', module_arch)
+if get_option('luncher') == true
+ config_h.set('USE_MODULE_LUNCHER', '1')
+
+ module_files += join_paths(luncher_dir, 'luncher.so')
+ shared_module('luncher',
+ luncher_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: luncher_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/mixer/meson.build b/src/modules/mixer/meson.build
new file mode 100644
index 000000000..e427701f0
--- /dev/null
+++ b/src/modules/mixer/meson.build
@@ -0,0 +1,73 @@
+mixer_dist = [
+ 'e-module-mixer.edj',
+ 'module.desktop',
+]
+
+mixer_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_config.h',
+ 'e_mod_main.h',
+ 'gadget/mixer.h',
+ 'gadget/mixer.c',
+ 'gadget/mod.c',
+]
+
+mixer_lib = [
+ 'lib/emix.c',
+ 'lib/emix.h'
+]
+
+mixer_dir = join_paths(dir_module_e, 'mixer', module_arch)
+if get_option('mixer') == true
+ config_h.set('USE_MODULE_MIXER', '1')
+
+ dep_alsa = dependency('alsa', version: '>= 1.0.8', required: false)
+ config_h.set10('HAVE_ALSA', dep_alsa.found())
+ dep_pulse = dependency('libpulse', required: false)
+ dep_pulse_simple = dependency('libpulse-simple', required: false)
+ config_h.set10('HAVE_PULSE', dep_pulse.found() and dep_pulse_simple.found())
+ if config_h.has('HAVE_ALSA') == true
+ mixer_lib += ['lib/backends/alsa/alsa.c']
+ endif
+ if config_h.has('HAVE_PULSE') == true
+ mixer_lib += [
+ 'lib/backends/pulseaudio/pulse_ml.c',
+ 'lib/backends/pulseaudio/pulse.c'
+ ]
+ endif
+ if config_h.has('HAVE_PULSE') == false and config_h.has('HAVE_ALSA') == false
+ error('mixer support requested, but no backends found!')
+ endif
+
+ install_data(mixer_dist,
+ install_dir: join_paths(dir_module_e, 'mixer')
+ )
+ install_data('emixer.desktop',
+ install_dir: join_paths(dir_data, 'applications')
+ )
+ install_data('emixer.png',
+ install_dir: join_paths(dir_data, 'pixmaps')
+ )
+
+ module_files += join_paths(mixer_dir, 'mixer.so')
+ shared_module('mixer',
+ mixer_src, mixer_lib,
+ include_directories: include_directories(module_includes, '.', 'lib'),
+ name_prefix: '',
+ dependencies: [module_deps, dep_alsa, dep_pulse, dep_pulse_simple],
+ install_dir: mixer_dir,
+ install: true
+ )
+
+ executable('emixer',
+ ['emixer.c', mixer_lib],
+ include_directories: include_directories(module_includes, '.', 'lib'),
+ dependencies: [
+ dep_elementary, dep_alsa, dep_pulse, dep_pulse_simple
+ ],
+ c_args: '-DEMIXER_BUILD',
+ install_dir: dir_bin,
+ install: true
+ )
+endif
diff --git a/src/modules/msgbus/meson.build b/src/modules/msgbus/meson.build
new file mode 100644
index 000000000..a2c52ed81
--- /dev/null
+++ b/src/modules/msgbus/meson.build
@@ -0,0 +1,26 @@
+msgbus_src = [
+ 'e_mod_main.c',
+ 'msgbus_audit.c',
+ 'msgbus_desktop.c',
+ 'msgbus_lang.c',
+ 'msgbus_module.c',
+ 'msgbus_profile.c',
+ 'msgbus_window.c',
+ 'e_mod_main.h',
+]
+
+msgbus_dir = join_paths(dir_module_e, 'msgbus', module_arch)
+if get_option('msgbus') == true
+ config_h.set('USE_MODULE_MSGBUS', '1')
+
+ module_files += join_paths(msgbus_dir, 'msgbus.so')
+ shared_module('msgbus',
+ msgbus_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: msgbus_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/music-control/meson.build b/src/modules/music-control/meson.build
new file mode 100644
index 000000000..b62bac142
--- /dev/null
+++ b/src/modules/music-control/meson.build
@@ -0,0 +1,34 @@
+music_control_src = [
+ 'e_mod_main.c',
+ 'ui.c',
+ 'e_mod_main.h',
+ 'private.h',
+]
+
+music_control_dir = join_paths(dir_module_e, 'music-control', module_arch)
+if get_option('music-control') == true
+ config_h.set('USE_MODULE_MUSIC_CONTROL', '1')
+
+ gen_music_control = custom_target('music_control_gen',
+ input: 'introspect.xml',
+ command: [eldbus_codegen, '@INPUT@', '-O', '@OUTDIR@'],
+ output: [
+ 'eldbus_media_player2_player.c',
+ 'eldbus_mpris_media_player2.c',
+ 'eldbus_media_player2_player.h',
+ 'eldbus_mpris_media_player2.h',
+ 'eldbus_utils.h',
+ ],
+ )
+
+ module_files += join_paths(music_control_dir, 'music-control.so')
+ shared_module('music-control',
+ [music_control_src, gen_music_control],
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: music_control_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/notification/meson.build b/src/modules/notification/meson.build
new file mode 100644
index 000000000..75f3ee37a
--- /dev/null
+++ b/src/modules/notification/meson.build
@@ -0,0 +1,22 @@
+notification_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_popup.c',
+ 'e_mod_main.h',
+]
+
+notification_dir = join_paths(dir_module_e, 'notification', module_arch)
+if get_option('notification') == true
+ config_h.set('USE_MODULE_NOTIFICATION', '1')
+
+ module_files += join_paths(notification_dir, 'notification.so')
+ shared_module('notification',
+ notification_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: notification_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/packagekit/meson.build b/src/modules/packagekit/meson.build
new file mode 100644
index 000000000..2fdb95988
--- /dev/null
+++ b/src/modules/packagekit/meson.build
@@ -0,0 +1,24 @@
+packagekit_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_packagekit.c',
+ 'e_mod_config.h',
+ 'e_mod_main.h',
+ 'e_mod_packagekit.h',
+]
+
+packagekit_dir = join_paths(dir_module_e, 'packagekit', module_arch)
+if get_option('packagekit') == true
+ config_h.set('USE_MODULE_PACKAGEKIT', '1')
+
+ module_files += join_paths(packagekit_dir, 'packagekit.so')
+ shared_module('packagekit',
+ packagekit_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: packagekit_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/pager/meson.build b/src/modules/pager/meson.build
new file mode 100644
index 000000000..93a5921de
--- /dev/null
+++ b/src/modules/pager/meson.build
@@ -0,0 +1,25 @@
+pager_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+ 'gadget/pager.h',
+ 'gadget/pager.c',
+ 'gadget/mod.c',
+ 'gadget/config.c'
+]
+
+pager_dir = join_paths(dir_module_e, 'pager', module_arch)
+if get_option('pager') == true
+ config_h.set('USE_MODULE_PAGER', '1')
+
+ module_files += join_paths(pager_dir, 'pager.so')
+ shared_module('pager',
+ pager_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: pager_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/pager_plain/meson.build b/src/modules/pager_plain/meson.build
new file mode 100644
index 000000000..0475791b1
--- /dev/null
+++ b/src/modules/pager_plain/meson.build
@@ -0,0 +1,21 @@
+pager_plain_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+pager_plain_dir = join_paths(dir_module_e, 'pager_plain', module_arch)
+if get_option('pager-plain') == true
+ config_h.set('USE_MODULE_PAGER_PLAIN', '1')
+
+ module_files += join_paths(pager_plain_dir, 'pager_plain.so')
+ shared_module('pager_plain',
+ pager_plain_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: pager_plain_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/policy_mobile/meson.build b/src/modules/policy_mobile/meson.build
new file mode 100644
index 000000000..34b15ea5a
--- /dev/null
+++ b/src/modules/policy_mobile/meson.build
@@ -0,0 +1,22 @@
+policy_mobile_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_softkey.c',
+ 'e_mod_main.h',
+]
+
+policy_mobile_dir = join_paths(dir_module_e, 'policy_mobile', module_arch)
+if get_option('policy-mobile') == true
+ config_h.set('USE_MODULE_POLICY_MOBILE', '1')
+
+ module_files += join_paths(policy_mobile_dir, 'policy_mobile.so')
+ shared_module('policy_mobile',
+ policy_mobile_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: policy_mobile_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/quickaccess/meson.build b/src/modules/quickaccess/meson.build
new file mode 100644
index 000000000..fcda28f4b
--- /dev/null
+++ b/src/modules/quickaccess/meson.build
@@ -0,0 +1,24 @@
+quickaccess_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_quickaccess.c',
+ 'e_quickaccess_bindings.c',
+ 'e_quickaccess_db.c',
+ 'e_mod_main.h',
+]
+
+quickaccess_dir = join_paths(dir_module_e, 'quickaccess', module_arch)
+if get_option('quickaccess') == true
+ config_h.set('USE_MODULE_QUICKACCESS', '1')
+
+ module_files += join_paths(quickaccess_dir, 'quickaccess.so')
+ shared_module('quickaccess',
+ quickaccess_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: quickaccess_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/shot/meson.build b/src/modules/shot/meson.build
new file mode 100644
index 000000000..ba2b0d165
--- /dev/null
+++ b/src/modules/shot/meson.build
@@ -0,0 +1,19 @@
+shot_src = [
+ 'e_mod_main.c',
+]
+
+shot_dir = join_paths(dir_module_e, 'shot', module_arch)
+if get_option('shot') == true
+ config_h.set('USE_MODULE_SHOT', '1')
+
+ module_files += join_paths(shot_dir, 'shot.so')
+ shared_module('shot',
+ shot_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: shot_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/start/meson.build b/src/modules/start/meson.build
new file mode 100644
index 000000000..57eab69f8
--- /dev/null
+++ b/src/modules/start/meson.build
@@ -0,0 +1,20 @@
+start_src = [
+ 'e_mod_main.c',
+ 'start.c',
+]
+
+start_dir = join_paths(dir_module_e, 'start', module_arch)
+if get_option('start') == true
+ config_h.set('USE_MODULE_START', '1')
+
+ module_files += join_paths(start_dir, 'start.so')
+ shared_module('start',
+ start_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: start_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/syscon/meson.build b/src/modules/syscon/meson.build
new file mode 100644
index 000000000..b21ed37ec
--- /dev/null
+++ b/src/modules/syscon/meson.build
@@ -0,0 +1,23 @@
+syscon_src = [
+ 'e_int_config_syscon.c',
+ 'e_mod_main.c',
+ 'e_syscon.c',
+ 'e_syscon_gadget.c',
+ 'e_mod_main.h',
+]
+
+syscon_dir = join_paths(dir_module_e, 'syscon', module_arch)
+if get_option('syscon') == true
+ config_h.set('USE_MODULE_SYSCON', '1')
+
+ module_files += join_paths(syscon_dir, 'syscon.so')
+ shared_module('syscon',
+ syscon_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: syscon_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/sysinfo/meson.build b/src/modules/sysinfo/meson.build
new file mode 100644
index 000000000..0a349f807
--- /dev/null
+++ b/src/modules/sysinfo/meson.build
@@ -0,0 +1,72 @@
+sysinfo_src = [
+ 'mod.c',
+ 'sysinfo.c',
+ 'sysinfo.h',
+ 'batman/batman.h',
+ 'batman/batman.c',
+ 'batman/batman_fallback.c',
+ 'batman/batman_config.c',
+ 'thermal/thermal.h',
+ 'thermal/thermal.c',
+ 'thermal/thermal_config.c',
+ 'thermal/thermal_fallback.c',
+ 'cpuclock/cpuclock.h',
+ 'cpuclock/cpuclock.c',
+ 'cpuclock/cpuclock_config.c',
+ 'cpumonitor/cpumonitor.h',
+ 'cpumonitor/cpumonitor.c',
+ 'cpumonitor/cpumonitor_config.c',
+ 'cpumonitor/cpumonitor_proc.c',
+ 'memusage/memusage.h',
+ 'memusage/memusage.c',
+ 'memusage/memusage_config.c',
+ 'memusage/memusage_proc.c',
+ 'netstatus/netstatus.h',
+ 'netstatus/netstatus.c',
+ 'netstatus/netstatus_config.c',
+ 'netstatus/netstatus_proc.c',
+]
+
+if config_h.has('HAVE_EEZE') == true
+ sysinfo_src += ['batman/batman_udev.c', 'thermal/thermal_udev.c']
+elif host_machine.system().contains('bsd') == true
+ sysinfo_src += ['batman/batman_sysctl.c',
+ 'thermal/thermal_sysctl.c',
+ 'cpuclock/cpuclock_sysctl.c',
+ 'netstatus/netstatus_sysctl.c',
+ 'cpumonitor/cpumonitor_sysctl.c',
+ 'memusage/memusage_sysctl.c'
+ ]
+else
+ sysinfo_src += ['batman/batman_upower.c',
+ 'thermal/thermal_sysctl.c',
+ 'cpuclock/cpuclock_sysctl.c'
+ ]
+endif
+
+sysinfo_dir = join_paths(dir_module_e, 'sysinfo', module_arch)
+if get_option('sysinfo') == true
+ config_h.set('USE_MODULE_SYSINFO', '1')
+
+ module_files += join_paths(sysinfo_dir, 'sysinfo.so')
+ shared_module('sysinfo',
+ sysinfo_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: sysinfo_dir,
+ install: true
+ )
+
+ executable('cpuclock_sysfs',
+ 'cpuclock/cpuclock_sysfs.c',
+ include_directories: include_directories(module_includes),
+ dependencies: dep_crypt,
+ c_args: suid_cflags,
+ link_args: suid_ldflags,
+ install_dir: join_paths(dir_module_e, 'sysinfo'),
+ install: true
+ )
+ suid_exes == join_paths(sysinfo_dir, 'cpuclock_sysfs')
+endif
+
diff --git a/src/modules/systray/meson.build b/src/modules/systray/meson.build
new file mode 100644
index 000000000..224598108
--- /dev/null
+++ b/src/modules/systray/meson.build
@@ -0,0 +1,24 @@
+systray_src = [
+ 'e_mod_main.c',
+ 'e_mod_notifier_host.c',
+ 'e_mod_notifier_host_dbus.c',
+ 'e_mod_notifier_watcher.c',
+ 'e_mod_main.h',
+ 'e_mod_notifier_host_private.h',
+]
+
+systray_dir = join_paths(dir_module_e, 'systray', module_arch)
+if get_option('systray') == true
+ config_h.set('USE_MODULE_SYSTRAY', '1')
+
+ module_files += join_paths(systray_dir, 'systray.so')
+ shared_module('systray',
+ systray_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: systray_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/tasks/meson.build b/src/modules/tasks/meson.build
new file mode 100644
index 000000000..81fd90074
--- /dev/null
+++ b/src/modules/tasks/meson.build
@@ -0,0 +1,21 @@
+tasks_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_main.h',
+]
+
+tasks_dir = join_paths(dir_module_e, 'tasks', module_arch)
+if get_option('tasks') == true
+ config_h.set('USE_MODULE_TASKS', '1')
+
+ module_files += join_paths(tasks_dir, 'tasks.so')
+ shared_module('tasks',
+ tasks_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: tasks_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/teamwork/meson.build b/src/modules/teamwork/meson.build
new file mode 100644
index 000000000..d031447fc
--- /dev/null
+++ b/src/modules/teamwork/meson.build
@@ -0,0 +1,35 @@
+teamwork_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_tw.c',
+ 'e_mod_main.h',
+]
+
+if config_h.has('HAVE_WAYLAND') == true
+ teamwork_src += [
+ 'wl.c',
+ 'wl_teamwork.c',
+ 'wl_teamwork.h'
+ ]
+endif
+if config_h.has('HAVE_WAYLAND_ONLY') == false
+ teamwork_src += [
+ 'x11.c'
+ ]
+endif
+
+teamwork_dir = join_paths(dir_module_e, 'teamwork', module_arch)
+if get_option('teamwork') == true
+ config_h.set('USE_MODULE_TEAMWORK', '1')
+
+ module_files += join_paths(teamwork_dir, 'teamwork.so')
+ shared_module('teamwork',
+ teamwork_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: teamwork_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/temperature/meson.build b/src/modules/temperature/meson.build
new file mode 100644
index 000000000..d90d881d5
--- /dev/null
+++ b/src/modules/temperature/meson.build
@@ -0,0 +1,23 @@
+temperature_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_tempget.c',
+ 'e_mod_udev.c',
+ 'e_mod_main.h',
+]
+
+temperature_dir = join_paths(dir_module_e, 'temperature', module_arch)
+if get_option('temperature') == true
+ config_h.set('USE_MODULE_TEMPERATURE', '1')
+
+ module_files += join_paths(temperature_dir, 'temperature.so')
+ shared_module('temperature',
+ temperature_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: temperature_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/tiling/meson.build b/src/modules/tiling/meson.build
new file mode 100644
index 000000000..dd0a66f14
--- /dev/null
+++ b/src/modules/tiling/meson.build
@@ -0,0 +1,23 @@
+tiling_src = [
+ 'e_mod_config.c',
+ 'e_mod_tiling.c',
+ 'window_tree.c',
+ 'e_mod_tiling.h',
+ 'window_tree.h',
+]
+
+tiling_dir = join_paths(dir_module_e, 'tiling', module_arch)
+if get_option('tiling') == true
+ config_h.set('USE_MODULE_TILING', '1')
+
+ module_files += join_paths(tiling_dir, 'tiling.so')
+ shared_module('tiling',
+ tiling_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: tiling_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/time/meson.build b/src/modules/time/meson.build
new file mode 100644
index 000000000..97ee6f34e
--- /dev/null
+++ b/src/modules/time/meson.build
@@ -0,0 +1,23 @@
+time_src = [
+ 'clock.c',
+ 'config.c',
+ 'mod.c',
+ 'time.c',
+ 'clock.h',
+]
+
+time_dir = join_paths(dir_module_e, 'time', module_arch)
+if get_option('time') == true
+ config_h.set('USE_MODULE_TIME', '1')
+
+ module_files += join_paths(time_dir, 'time.so')
+ shared_module('time',
+ time_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: time_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/winlist/meson.build b/src/modules/winlist/meson.build
new file mode 100644
index 000000000..82d68274d
--- /dev/null
+++ b/src/modules/winlist/meson.build
@@ -0,0 +1,23 @@
+winlist_src = [
+ 'e_int_config_winlist.c',
+ 'e_mod_main.c',
+ 'e_winlist.c',
+ 'e_mod_main.h',
+ 'e_winlist.h',
+]
+
+winlist_dir = join_paths(dir_module_e, 'winlist', module_arch)
+if get_option('winlist') == true
+ config_h.set('USE_MODULE_WINLIST', '1')
+
+ module_files += join_paths(winlist_dir, 'winlist.so')
+ shared_module('winlist',
+ winlist_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: winlist_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/wireless/meson.build b/src/modules/wireless/meson.build
new file mode 100644
index 000000000..7b3df0ed5
--- /dev/null
+++ b/src/modules/wireless/meson.build
@@ -0,0 +1,22 @@
+wireless_src = [
+ 'connman.c',
+ 'mod.c',
+ 'wireless.c',
+ 'wireless.h',
+]
+
+wireless_dir = join_paths(dir_module_e, 'wireless', module_arch)
+if get_option('wireless') == true
+ config_h.set('USE_MODULE_WIRELESS', '1')
+
+ module_files += join_paths(wireless_dir, 'wireless.so')
+ shared_module('wireless',
+ wireless_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wireless_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/wizard/meson.build b/src/modules/wizard/meson.build
new file mode 100644
index 000000000..2ca9d038a
--- /dev/null
+++ b/src/modules/wizard/meson.build
@@ -0,0 +1,67 @@
+wizard_dist = [
+ 'data/def-ibar.txt',
+ 'data/desktop/home.desktop',
+ 'data/desktop/root.desktop',
+ 'data/desktop/tmp.desktop'
+]
+
+wizard_src = [
+ 'e_mod_main.c',
+ 'e_wizard.c',
+ 'e_wizard.h',
+]
+
+wizard_mods = [
+ 'page_000',
+ 'page_010',
+ 'page_011',
+ 'page_020',
+ 'page_030',
+ 'page_040',
+ 'page_050',
+ 'page_060',
+ 'page_065',
+ 'page_070',
+ 'page_080',
+ 'page_090',
+ 'page_100',
+ 'page_110',
+ 'page_120',
+ 'page_130',
+ 'page_150',
+ 'page_160',
+ 'page_170',
+ 'page_180',
+ 'page_200',
+]
+
+wizard_dir = join_paths(dir_module_e, 'wizard', module_arch)
+if get_option('wizard') == true
+ config_h.set('USE_MODULE_WIZARD', '1')
+
+ install_data(wizard_dist,
+ install_dir: join_paths(dir_module_e, 'wizard')
+ )
+
+ module_files += join_paths(wizard_dir, 'wizard.so')
+ shared_module('wizard',
+ wizard_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wizard_dir,
+ install: true
+ )
+
+ foreach wizard_mod: wizard_mods
+ shared_module(wizard_mod,
+ '@0@.c'.format(wizard_mod),
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wizard_dir,
+ install: true
+ )
+ endforeach
+endif
+
diff --git a/src/modules/wl_buffer/meson.build b/src/modules/wl_buffer/meson.build
new file mode 100644
index 000000000..b301b57eb
--- /dev/null
+++ b/src/modules/wl_buffer/meson.build
@@ -0,0 +1,19 @@
+wl_buffer_src = [
+ 'e_mod_main.c',
+]
+
+wl_buffer_dir = join_paths(dir_module_e, 'wl_buffer', module_arch)
+if get_option('wl-buffer') == true and get_option('wayland') == true
+ config_h.set('USE_MODULE_WL_BUFFER', '1')
+
+ module_files += join_paths(wl_buffer_dir, 'wl_buffer.so')
+ shared_module('wl_buffer',
+ wl_buffer_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wl_buffer_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/wl_desktop_shell/meson.build b/src/modules/wl_desktop_shell/meson.build
new file mode 100644
index 000000000..255c92ada
--- /dev/null
+++ b/src/modules/wl_desktop_shell/meson.build
@@ -0,0 +1,35 @@
+wl_desktop_shell_src = [
+ 'e_mod_input_panel.c',
+ 'e_mod_main.c',
+ 'wl_shell.c',
+ 'xdg5.c',
+ 'xdg6.c',
+ 'e_mod_main.h',
+]
+
+wl_desktop_shell_dir = join_paths(dir_module_e, 'wl_desktop_shell', module_arch)
+if get_option('wl-desktop-shell') == true and get_option('wayland') == true
+ config_h.set('USE_MODULE_WL_DESKTOP_SHELL', '1')
+
+ protos = [
+ '@0@/unstable/xdg-shell/xdg-shell-unstable-v5.xml'.format(dir_wayland_protocols),
+ '@0@/unstable/xdg-shell/xdg-shell-unstable-v6.xml'.format(dir_wayland_protocols),
+ '@0@/unstable/input-method/input-method-unstable-v1.xml'.format(dir_wayland_protocols),
+ ]
+
+ foreach proto: protos
+ wl_desktop_shell_src += gen_scanner_server.process(proto)
+ wl_desktop_shell_src += gen_scanner_impl.process(proto)
+ endforeach
+
+ module_files += join_paths(wl_desktop_shell_dir, 'wl_desktop_shell.so')
+ shared_module('wl_desktop_shell',
+ wl_desktop_shell_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wl_desktop_shell_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/wl_drm/meson.build b/src/modules/wl_drm/meson.build
new file mode 100644
index 000000000..f1db1fec6
--- /dev/null
+++ b/src/modules/wl_drm/meson.build
@@ -0,0 +1,19 @@
+wl_drm_src = [
+ 'e_mod_main.c',
+]
+
+wl_drm_dir = join_paths(dir_module_e, 'wl_drm', module_arch)
+if get_option('wl-drm') == true and get_option('wayland') == true
+ config_h.set('USE_MODULE_WL_DRM', '1')
+
+ module_files += join_paths(wl_drm_dir, 'wl_drm.so')
+ shared_module('wl_drm',
+ wl_drm_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wl_drm_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/wl_fb/meson.build b/src/modules/wl_fb/meson.build
new file mode 100644
index 000000000..4406e85f4
--- /dev/null
+++ b/src/modules/wl_fb/meson.build
@@ -0,0 +1,19 @@
+wl_fb_src = [
+ 'e_mod_main.c',
+]
+
+wl_fb_dir = join_paths(dir_module_e, 'wl_fb', module_arch)
+if get_option('wl-fb') == true and get_option('wayland') == true
+ config_h.set('USE_MODULE_WL_FB', '1')
+
+ module_files += join_paths(wl_fb_dir, 'wl_fb.so')
+ shared_module('wl_fb',
+ wl_fb_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wl_fb_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/wl_text_input/meson.build b/src/modules/wl_text_input/meson.build
new file mode 100644
index 000000000..7178bf577
--- /dev/null
+++ b/src/modules/wl_text_input/meson.build
@@ -0,0 +1,30 @@
+wl_text_input_src = [
+ 'e_mod_main.c',
+]
+
+
+wl_text_input_dir = join_paths(dir_module_e, 'wl_text_input', module_arch)
+if get_option('wl-text-input') == true and get_option('wayland') == true
+ config_h.set('USE_MODULE_WL_TEXT_INPUT', '1')
+
+ protos = [
+ '@0@/unstable/input-method/input-method-unstable-v1.xml'.format(dir_wayland_protocols),
+ '@0@/unstable/text-input/text-input-unstable-v1.xml'.format(dir_wayland_protocols),
+ ]
+
+ foreach proto: protos
+ wl_text_input_src += gen_scanner_server.process(proto)
+ wl_text_input_src += gen_scanner_impl.process(proto)
+ endforeach
+
+ module_files += join_paths(wl_text_input_dir, 'wl_text_input.so')
+ shared_module('wl_text_input',
+ wl_text_input_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wl_text_input_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/wl_weekeyboard/meson.build b/src/modules/wl_weekeyboard/meson.build
new file mode 100644
index 000000000..032f8d0cf
--- /dev/null
+++ b/src/modules/wl_weekeyboard/meson.build
@@ -0,0 +1,42 @@
+wl_weekeyboard_dist = [
+ 'themes/default/default_600.edj',
+ 'themes/default/default_720.edj',
+ 'themes/default/default_1080.edj'
+]
+
+wl_weekeyboard_src = [
+ 'e_mod_main.c',
+ 'wkb-log.c',
+ 'wkb-log.h',
+]
+
+wl_weekeyboard_dir = join_paths(dir_module_e, 'wl_weekeyboard', module_arch)
+if get_option('wl-weekeyboard') == true and get_option('wayland') == true
+ config_h.set('USE_MODULE_WL_WEEKEYBOARD', '1')
+
+ protos = [
+ '@0@/unstable/input-method/input-method-unstable-v1.xml'.format(dir_wayland_protocols),
+ '@0@/unstable/text-input/text-input-unstable-v1.xml'.format(dir_wayland_protocols),
+ ]
+
+ foreach proto: protos
+ wl_weekeyboard_src += gen_scanner_server.process(proto)
+ wl_weekeyboard_src += gen_scanner_client.process(proto)
+ wl_weekeyboard_src += gen_scanner_impl.process(proto)
+ endforeach
+
+ install_data(wl_weekeyboard_dist,
+ install_dir: join_paths(dir_module_e, 'wl_weekeyboard')
+ )
+
+ module_files += join_paths(wl_weekeyboard_dir, 'wl_weekeyboard.so')
+ shared_module('wl_weekeyboard',
+ wl_weekeyboard_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wl_weekeyboard_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/wl_wl/meson.build b/src/modules/wl_wl/meson.build
new file mode 100644
index 000000000..e5b2a3a21
--- /dev/null
+++ b/src/modules/wl_wl/meson.build
@@ -0,0 +1,19 @@
+wl_wl_src = [
+ 'e_mod_main.c',
+]
+
+wl_wl_dir = join_paths(dir_module_e, 'wl_wl', module_arch)
+if get_option('wl-wl') == true and get_option('wayland') == true
+ config_h.set('USE_MODULE_WL_WL', '1')
+
+ module_files += join_paths(wl_wl_dir, 'wl_wl.so')
+ shared_module('wl_wl',
+ wl_wl_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wl_wl_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/wl_x11/meson.build b/src/modules/wl_x11/meson.build
new file mode 100644
index 000000000..812f8880b
--- /dev/null
+++ b/src/modules/wl_x11/meson.build
@@ -0,0 +1,19 @@
+wl_x11_src = [
+ 'e_mod_main.c',
+]
+
+wl_x11_dir = join_paths(dir_module_e, 'wl_x11', module_arch)
+if get_option('wl-x11') == true and get_option('wayland') == true
+ config_h.set('USE_MODULE_WL_X11', '1')
+
+ module_files += join_paths(wl_x11_dir, 'wl_x11.so')
+ shared_module('wl_x11',
+ wl_x11_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: wl_x11_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/xkbswitch/meson.build b/src/modules/xkbswitch/meson.build
new file mode 100644
index 000000000..ac682c50b
--- /dev/null
+++ b/src/modules/xkbswitch/meson.build
@@ -0,0 +1,26 @@
+xkbswitch_src = [
+ 'e_mod_config.c',
+ 'e_mod_main.c',
+ 'e_mod_parse.c',
+ 'e_mod_main.h',
+ 'e_mod_parse.h',
+ 'gadget/xkbswitch.h',
+ 'gadget/xkbswitch.c',
+ 'gadget/mod.c'
+]
+
+xkbswitch_dir = join_paths(dir_module_e, 'xkbswitch', module_arch)
+if get_option('xkbswitch') == true
+ config_h.set('USE_MODULE_XKBSWITCH', '1')
+
+ module_files += join_paths(xkbswitch_dir, 'xkbswitch.so')
+ shared_module('xkbswitch',
+ xkbswitch_src,
+ include_directories: include_directories(module_includes),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: xkbswitch_dir,
+ install: true
+ )
+endif
+
diff --git a/src/modules/xwayland/meson.build b/src/modules/xwayland/meson.build
new file mode 100644
index 000000000..3a2512b48
--- /dev/null
+++ b/src/modules/xwayland/meson.build
@@ -0,0 +1,22 @@
+xwayland_src = [
+ 'dnd.c',
+ 'e_mod_main.c',
+]
+
+xwayland_dir = join_paths(dir_module_e, 'xwayland', module_arch)
+if get_option('xwayland') == true and get_option('wayland') == true
+ config_h.set('USE_MODULE_XWAYLAND', '1')
+
+ xwayland = find_program('Xwayland')
+ module_files += join_paths(xwayland_dir, 'xwayland.so')
+ shared_module('xwayland',
+ xwayland_src,
+ include_directories: include_directories(module_includes),
+ c_args: '-DXWAYLAND_BIN="@0@"'.format(xwayland.path()),
+ name_prefix: '',
+ dependencies: module_deps,
+ install_dir: xwayland_dir,
+ install: true
+ )
+endif
+