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 + 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 +