devs/bu5hm4n/meson_wip
Mike Blumenkrantz 6 years ago
parent 4d3e157b30
commit e8dc71cd48
  1. 15
      config/default/meson.build
  2. 14
      config/meson.build
  3. 19
      config/mobile/meson.build
  4. 38
      config/standard/meson.build
  5. 40
      config/tiling/meson.build
  6. 42
      data/backgrounds/meson.build
  7. 8
      data/desktop/meson.build
  8. 15
      data/etc/meson.build
  9. 11
      data/favorites/meson.build
  10. 105
      data/flags/meson.build
  11. 18
      data/icons/meson.build
  12. 11
      data/images/meson.build
  13. 13
      data/input_methods/meson.build
  14. 7
      data/tools/meson.build
  15. 8
      data/units/meson.build
  16. 6
      data/xsession/meson.build
  17. 500
      meson.build
  18. 6
      meson/meson_inst.sh
  19. 6
      meson/meson_modules.sh
  20. 309
      meson_options.txt
  21. 5
      po/meson.build
  22. 50
      src/bin/e_fm/meson.build
  23. 19
      src/bin/generated/meson.build
  24. 576
      src/bin/meson.build
  25. 28
      src/modules/appmenu/meson.build
  26. 30
      src/modules/backlight/meson.build
  27. 45
      src/modules/battery/meson.build
  28. 30
      src/modules/bluez4/meson.build
  29. 29
      src/modules/clock/meson.build
  30. 30
      src/modules/conf/meson.build
  31. 33
      src/modules/conf_applications/meson.build
  32. 33
      src/modules/conf_bindings/meson.build
  33. 31
      src/modules/conf_dialogs/meson.build
  34. 34
      src/modules/conf_display/meson.build
  35. 31
      src/modules/conf_interaction/meson.build
  36. 31
      src/modules/conf_intl/meson.build
  37. 30
      src/modules/conf_menus/meson.build
  38. 31
      src/modules/conf_paths/meson.build
  39. 31
      src/modules/conf_performance/meson.build
  40. 31
      src/modules/conf_randr/meson.build
  41. 31
      src/modules/conf_shelves/meson.build
  42. 37
      src/modules/conf_theme/meson.build
  43. 34
      src/modules/conf_window_manipulation/meson.build
  44. 30
      src/modules/conf_window_remembers/meson.build
  45. 33
      src/modules/connman/meson.build
  46. 40
      src/modules/cpufreq/meson.build
  47. 70
      src/modules/everything/meson.build
  48. 36
      src/modules/fileman/meson.build
  49. 28
      src/modules/fileman_opinfo/meson.build
  50. 31
      src/modules/gadman/meson.build
  51. 42
      src/modules/geolocation/meson.build
  52. 30
      src/modules/ibar/meson.build
  53. 30
      src/modules/ibox/meson.build
  54. 21
      src/modules/lokker/meson.build
  55. 23
      src/modules/luncher/meson.build
  56. 73
      src/modules/mixer/meson.build
  57. 26
      src/modules/msgbus/meson.build
  58. 34
      src/modules/music-control/meson.build
  59. 22
      src/modules/notification/meson.build
  60. 24
      src/modules/packagekit/meson.build
  61. 25
      src/modules/pager/meson.build
  62. 21
      src/modules/pager_plain/meson.build
  63. 22
      src/modules/policy_mobile/meson.build
  64. 24
      src/modules/quickaccess/meson.build
  65. 19
      src/modules/shot/meson.build
  66. 20
      src/modules/start/meson.build
  67. 23
      src/modules/syscon/meson.build
  68. 72
      src/modules/sysinfo/meson.build
  69. 24
      src/modules/systray/meson.build
  70. 21
      src/modules/tasks/meson.build
  71. 35
      src/modules/teamwork/meson.build
  72. 23
      src/modules/temperature/meson.build
  73. 23
      src/modules/tiling/meson.build
  74. 23
      src/modules/time/meson.build
  75. 23
      src/modules/winlist/meson.build
  76. 22
      src/modules/wireless/meson.build
  77. 67
      src/modules/wizard/meson.build
  78. 19
      src/modules/wl_buffer/meson.build
  79. 35
      src/modules/wl_desktop_shell/meson.build
  80. 19
      src/modules/wl_drm/meson.build
  81. 19
      src/modules/wl_fb/meson.build
  82. 30
      src/modules/wl_text_input/meson.build
  83. 42
      src/modules/wl_weekeyboard/meson.build
  84. 19
      src/modules/wl_wl/meson.build
  85. 19
      src/modules/wl_x11/meson.build
  86. 26
      src/modules/xkbswitch/meson.build
  87. 22
      src/modules/xwayland/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

@ -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')

@ -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')
)

@ -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')
)

@ -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')
)

@ -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')
)

@ -0,0 +1,8 @@
desktop_dist = [
'enlightenment_filemanager.desktop',
'enlightenment_askpass.desktop'
]
install_data(desktop_dist,
install_dir: join_paths(dir_data, 'applications')
)

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

@ -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')
)

@ -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')
)

@ -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')
)

@ -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')
)

@ -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')
)

@ -0,0 +1,7 @@
tools_dist = [
'enlightenment_remote'
]
install_data(tools_dist,
install_dir: dir_bin
)

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

@ -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
)

@ -0,0 +1,500 @@
project('enlightenment', 'c',
version: '0.21.99',
license: 'BSD 2 clause',
default_options: [ 'c_std=gnu99', 'warning_level=2' ],
meson_version: '>= 0.40.0')
e_version = meson.project_version().split('.')
git_version = '0'
git = find_program('git')
if git.found() == true
git_cmd = run_command(git.path(), 'rev-list', '--count', 'HEAD')
if git_cmd.returncode() == 0
git_version = git_cmd.stdout().strip()
endif
endif
e_version_rev = '.'.join([meson.project_version(), git_version])
#e_version_rev = e_version
efl_version = '>= 1.19.99'
release = 'ver-0.22'
#for releases
#release = '@0@.@1@.@2@'.format(e_version[0], e_version[1], e_version[2])
add_global_arguments('-DHAVE_CONFIG_H=1', language: 'c')
dir_prefix = get_option('prefix')
dir_bin = join_paths(dir_prefix, get_option('bindir'))
dir_sysconf = get_option('sysconfdir')
dir_data = join_paths(dir_prefix, get_option('datadir'))
dir_include = join_paths(dir_prefix, get_option('includedir'))
dir_include_e = join_paths(dir_include, 'enlightenment')
dir_lib = join_paths(dir_prefix, get_option('libdir'))
dir_module_e = join_paths(dir_lib, 'enlightenment/modules')
dir_util_e = join_paths(dir_lib, 'enlightenment/utils')
dir_pc = join_paths(dir_data, 'pkgconfig')
suid_exes = []
pkgconfig = import('pkgconfig')
cc = meson.get_compiler('c')
dev_cflags = []
# disable for release builds
dev_cflags_try = [
'-Wall',
'-W',
'-Wpointer-arith',
'-Wshadow',
'-Wno-missing-field-initializers',
'-Wfloat-equal',
'-Wuninitialized',
'-Wundef',
'-Wcast-align',
'-Wformat=2',
'-Wno-format-y2k',
]
foreach cf: dev_cflags_try
if cc.has_argument(cf) == true
dev_cflags += cf
endif
endforeach
add_global_arguments(dev_cflags, language: 'c')
config_h = configuration_data()
config_h.set('E_INTERNAL', '1')
config_h.set('_GNU_SOURCE', '1')
config_h.set('_ALL_SOURCE', '1')
config_h.set('_POSIX_PTHREAD_SEMANTICS', '1')
config_h.set('_TANDEM_SOURCE', '1')
config_h.set('__EXTENSIONS__', '1')
#config_h.set('E_RELEASE_BUILD', '1')
if get_option('nls') == true
subdir('po')
endif
darwin = host_machine.system().startswith('darwin')
if darwin == true
code='''
#define _GNU_SOURCE 1
#include <unistd.h>
extern char **environ;
'''
if cc.links(code, name: 'environ test')
config_h.set('HAVE_ENVIRON', '1')
endif
endif
openbsd = host_machine.system().startswith('openbsd')
netbsd = host_machine.system().startswith('netbsd')
freebsd = host_machine.system().startswith('freebsd')
suid_cflags = []
suid_ldflags = []
dep_crypt = []
if freebsd == true or host_machine.system().startswith('pcbsd')
dep_crypt = cc.find_library('crypt', required: true)
if cc.links('', args: '-fPIE', link_args: '-pie') == true
suid_cflags = '-fPIE'
suid_ldflags = '-pie'
endif
endif
dragonfly = host_machine.system().startswith('dragonfly')
#FIXME: other variants...
host_os = host_machine.system()
if host_os == 'linux'
if cc.has_header_symbol('features.h', '__UCLIBC__')
host_os = 'linux-uclibc'
elif cc.has_header_symbol('features.h', '__dietlibc__')
host_os = 'linux-dietlibc'
else
host_os = 'linux-gnu'
endif
endif
module_arch = '@0@-@1@-@2@'.format(host_os, host_machine.cpu_family(), release)
config_h.set_quoted('MODULE_ARCH', module_arch)
config_h.set_quoted('PACKAGE', 'enlightenment')
config_h.set_quoted('PACKAGE_VERSION', e_version_rev)
config_h.set_quoted('VERSION', e_version_rev)
add_global_arguments('-DPACKAGE_BIN_DIR="@0@"'.format(dir_bin), language: 'c')
add_global_arguments('-DPACKAGE_LIB_DIR="@0@"'.format(dir_lib), language: 'c')
add_global_arguments('-DPACKAGE_DATA_DIR="@0@"'.format(dir_data), language: 'c')
add_global_arguments('-DPACKAGE_SYSCONF_DIR="@0@"'.format(dir_sysconf), language: 'c')
config_h.set_quoted('LOCALE_DIR', join_paths([dir_prefix, 'share/locale']))
config_h.set_quoted('PACKAGE_URL', 'https://www.enlightenment.org')
config_h.set_quoted('PACKAGE_TARNAME', 'enlightenment')
config_h.set_quoted('PACKAGE_BUGREPORT', 'enlightenment-devel@lists.sourceforge.net')
config_h.set_quoted('PACKAGE_STRING', 'enlightenment '.join([e_version_rev]))
config_h.set_quoted('PACKAGE_NAME', 'enlightenment')
config_h.set_quoted('BINDIR', dir_bin)
config_h.set_quoted('DATADIR', dir_data)
if cc.has_function('setenv') == true
config_h.set('HAVE_SETENV', '1')
endif
if cc.has_function('unsetenv') == true
config_h.set('HAVE_UNSETENV', '1')
endif
if cc.has_function('clearenv') == true
config_h.set('HAVE_CLEARENV', '1')
endif
if cc.has_header('features.h') == true
config_h.set('HAVE_FEATURES_H', '1')
endif
if cc.has_header('sys/ptrace.h') == true
config_h.set('HAVE_SYS_PTRACE_H', '1')
endif
if cc.has_header('arpa/inet.h') == true
config_h.set('HAVE_ARPA_INET_H', '1')
endif
if cc.has_header('netinet/in.h') == true
config_h.set('HAVE_NETINET_IN_H', '1')
endif
if cc.has_header('execinfo.h') == true
config_h.set('HAVE_EXECINFO_H', '1')
else
if cc.has_function('backtrace_symbols_fd', dependencies: 'execinfo') == false
execinfo_dep = dependency('execinfo', required: false)
endif
endif
if cc.has_header('fnmatch.h') == false
error('fnmatch.h not found')
endif
if cc.has_function('fnmatch') == false
dep_fnmatch = dependency('fnmatch', required: true)
endif
if cc.has_header('CFBase.h',
args: '-I/System/Library/Frameworks/CoreFoundation.framework/Headers') == true
add_global_arguments('-I/System/Library/Frameworks/CoreFoundation.framework/Headers', language: 'c')
add_global_arguments('-I /System/Library/Frameworks/IOKit.framework/Headers', language: 'c')
add_global_link_arguments('-framework CoreFoundation', '-framework IOKit')
endif
if get_option('pam') == true
if cc.has_header('security/pam_appl.h')
config_h.set('HAVE_PAM', '1')
dep_pam = cc.find_library('pam', required: true)
endif
endif
dep_m = cc.find_library('m', required: false)
dep_dl = cc.find_library('dl', required: false)
dep_bluez = dependency('bluez', required: false)
if dep_bluez.found() == true
config_h.set('HAVE_BLUETOOTH', '1')
endif
systemd_unitdir = ''
if get_option('systemd') == true
systemd_unitdir = get_option('systemdunitdir')
if systemd_unitdir == ''
dep_systemd = dependency('systemd', required: true)
systemd_unitdir = dep_systemd.get_pkgconfig_variable('systemduserunitdir')
endif
endif
HALT = '/sbin/shutdown -h now'
REBOOT = '/sbin/shutdown -r now'
SUSPEND = ''
HIBERNATE = ''
MOUNT = '/bin/mount'
UMOUNT = '/bin/umount'
EJECT = '/usr/bin/eject'
if host_machine.system().contains('bsd') == true
#SUSPEND = 'acpiconf -s3'
SUSPEND = '/usr/sbin/zzz'
HIBERNATE = 'acpiconf -s4'
HALT = '/sbin/shutdown -p now'
MOUNT = '/sbin/mount'
UMOUNT = '/sbin/umount'
EJECT = '/usr/sbin/cdcontrol eject'
else
if systemd_unitdir != ''
HALT = '/usr/bin/systemctl poweroff'
REBOOT = '/usr/bin/systemctl reboot'
SUSPEND = '/usr/bin/systemctl suspend'
HIBERNATE = '/usr/bin/systemctl hibernate'
else
sleep = find_program('sleep.sh', '/etc/acpi/sleep.sh', '/sbin/sleep.sh', '/usr/sbin/sleep.sh')
if sleep.found() == true
SUSPEND = sleep.path()
if sleep.path() == '/etc/acpi/sleep.sh'
SUSPEND = '/etc/acpi/sleep.sh force'
endif
else
suspend = find_program('pm-suspend', '/etc/acpi/pm-suspend', '/sbin/pm-suspend', '/usr/sbin/pm-suspend')
if suspend.found()
SUSPEND = suspend.path()
endif
endif
hibernate_sh = find_program('hibernate.sh', '/etc/acpi/hibernate.sh', '/sbin/hibernate.sh', '/usr/sbin/hibernate.sh')
if hibernate_sh.found() == true
HIBERNATE = hibernate_sh.path()
if hibernate_sh.path() == '/etc/acpi/hibernate.sh'
SUSPEND = '/etc/acpi/hibernate.sh force'
endif
else
hibernate = find_program('pm-hibernate', '/etc/acpi/pm-hibernate', '/sbin/pm-hibernate', '/usr/sbin/pm-hibernate')
if hibernate.found()
HIBERNATE = hibernate.path()
endif
endif
endif
endif
sysactions = configuration_data()
sysactions.set('HALT', HALT)
sysactions.set('REBOOT', REBOOT)
sysactions.set('SUSPEND', SUSPEND)
sysactions.set('HIBERNATE', HIBERNATE)
sysactions.set('MOUNT', MOUNT)
sysactions.set('UMOUNT', UMOUNT)
sysactions.set('EJECT', EJECT)
if cc.has_function('eeze_disk_function', dependencies: dependency('eeze')) == true
config_h.set('HAVE_EEZE_MOUNT', '1')
eeze_mount = true
endif
if get_option('files') == true
config_h.set('ENABLE_FILES', '1')
endif
dep_eeze = []
requires_eeze = ''
if get_option('device-udev') == true
dep_eeze = dependency('eeze', required: true)
config_h.set('HAVE_EEZE', '1')
requires_eeze = 'eeze'
endif
if get_option('mount-udisks') == true
config_h.set('HAVE_UDISKS_MOUNT', '1')
endif
if get_option('mount-eeze') == true
if config_h.has('HAVE_EEZE_MOUNT') == false
error('eeze not compiled with mount support')
endif
if get_option('device-udev') == false
dep_eeze = dependency('eeze', required: true)
requires_eeze = 'eeze'
endif
endif
dep_rt = cc.find_library('rt', required: false)
dep_eina = dependency('eina', version: efl_version, required: true)
dep_eet = dependency('eet', required: true)
dep_ecore = dependency('ecore', required: true)
dep_ecore_ipc = dependency('ecore-ipc', required: true)
dep_ecore_file = dependency('ecore-file', required: true)
dep_ecore_con = dependency('ecore-con', required: true)
dep_ecore_input = dependency('ecore-input', required: true)
dep_ecore_input_evas = dependency('ecore-input-evas', required: true)
dep_ecore_evas = dependency('ecore-evas', required: true)
dep_evas = dependency('evas', required: true)
dep_edje = dependency('edje', required: true)
dep_efreet = dependency('efreet', required: true)
dep_efreet_mime = dependency('efreet-mime', required: true)
dep_efreet_trash = dependency('efreet-trash', required: true)
dep_eio = dependency('eio', required: true)
dep_eo = dependency('eo', required: true)
dep_eldbus = dependency('eldbus', required: true)
dep_emotion = dependency('emotion', required: true)
dep_elementary = dependency('elementary', required: true)
dep_wayland = []
if get_option('wayland') == true
wayland_protocols = dependency('wayland-protocols', version: '>= 1.7')
dir_wayland_protocols = wayland_protocols.get_pkgconfig_variable('pkgdatadir')
wayland_version = '>= 1.11.0'
dep_wayland = [
dependency('ecore-wl2'),
dependency('wayland-server', version: wayland_version),
dependency('wayland-client', version: wayland_version),
wayland_protocols,
dependency('wayland-scanner', version: wayland_version),
dependency('xkbcommon'),
dependency('uuid')
]
dep_ecore_drm2 = dependency('ecore-drm2', required: get_option('wl-drm'))
requires_drm = ''
if get_option('wl-drm') == true
requires_drm = 'ecore-drm2'
dep_wayland += dep_ecore_drm2
endif
requires_wayland = ' '.join([
'wayland-protocols >= 1.7',
'ecore-wl2',
requires_drm,
' '.join(['wayland-server', wayland_version]),
' '.join(['wayland-client', wayland_version]),
' '.join(['wayland-scanner', wayland_version]),
'xkbcommon',
'uuid'
])
wayland_scanner = find_program('wayland-scanner')
gen_scanner_client = generator(wayland_scanner,
output: '@BASENAME@-client-protocol.h',
arguments: ['client-header', '@INPUT@', '@OUTPUT@'])
gen_scanner_server = generator(wayland_scanner,
output: '@BASENAME@-server-protocol.h',
arguments: ['server-header', '@INPUT@', '@OUTPUT@'])
gen_scanner_impl = generator(wayland_scanner,
output: '@BASENAME@-protocol.c',
arguments: ['code', '@INPUT@', '@OUTPUT@'])
config_h.set('HAVE_WAYLAND', '1')
endif
dep_ecore_x = []
if get_option('wayland') == true and get_option('wl-x11') == false and get_option('xwayland')
config_h.set('HAVE_WAYLAND_ONLY', '1')
else
dep_ecore_x = dependency('ecore-x')
endif
dep_xkeyboard_config = dependency('xkeyboard-config', required: false)
if dep_xkeyboard_config.found() == true
config_h.set_quoted('XKB_BASE', dep_xkeyboard_config.get_pkgconfig_variable('xkb_base'))
endif
eet = find_program('eet')
gen_eet = generator(eet,
output: '@BASENAME@.cfg',
arguments: ['-e', '@OUTPUT@', 'config', '@INPUT@', '1'])
eldbus_codegen = find_program('eldbus-codegen')
requires_e = []
dir_pkgconfig = join_paths(dir_lib, 'pkgconfig')
if freebsd == true
dir_pkgconfig = join_paths(dir_lib, 'data/pkgconfig')
endif
subdir('src/bin')
module_files = []
module_ldflags = '-module -avoid-version'
module_includes = ['../../..', '../../bin', '../../bin/efx']
module_deps = [deps_e, dep_dl]
subdir('src/modules/ibar')
subdir('src/modules/clock')
subdir('src/modules/pager')
subdir('src/modules/pager_plain')
subdir('src/modules/battery')
subdir('src/modules/temperature')
subdir('src/modules/notification')
subdir('src/modules/cpufreq')
subdir('src/modules/ibox')
subdir('src/modules/start')
subdir('src/modules/winlist')
subdir('src/modules/fileman')
subdir('src/modules/fileman_opinfo')
subdir('src/modules/wizard')
subdir('src/modules/conf')
subdir('src/modules/conf_theme')
subdir('src/modules/conf_intl')
subdir('src/modules/msgbus')
subdir('src/modules/conf_applications')
subdir('src/modules/conf_display')
subdir('src/modules/conf_shelves')
subdir('src/modules/conf_bindings')
subdir('src/modules/conf_window_remembers')
subdir('src/modules/conf_window_manipulation')
subdir('src/modules/conf_menus')
subdir('src/modules/conf_dialogs')
subdir('src/modules/conf_performance')
subdir('src/modules/conf_paths')
subdir('src/modules/conf_interaction')
subdir('src/modules/gadman')
subdir('src/modules/mixer')
subdir('src/modules/connman')
subdir('src/modules/bluez4')
subdir('src/modules/syscon')
subdir('src/modules/everything')
subdir('src/modules/systray')
subdir('src/modules/appmenu')
subdir('src/modules/quickaccess')
subdir('src/modules/teamwork')
subdir('src/modules/lokker')
subdir('src/modules/shot')
subdir('src/modules/backlight')
subdir('src/modules/tasks')
subdir('src/modules/conf_randr')
subdir('src/modules/xkbswitch')
subdir('src/modules/tiling')
subdir('src/modules/music-control')
subdir('src/modules/packagekit')
subdir('src/modules/wl_desktop_shell')
subdir('src/modules/wl_x11')
subdir('src/modules/wl_wl')
subdir('src/modules/wl_buffer')
#subdir('src/modules/wl_fb')
subdir('src/modules/wl_drm')
subdir('src/modules/wl_text_input')
subdir('src/modules/wl_weekeyboard')
subdir('src/modules/policy_mobile')
subdir('src/modules/geolocation')
subdir('src/modules/xwayland')
subdir('src/modules/wireless')
subdir('src/modules/time')
subdir('src/modules/sysinfo')
subdir('src/modules/luncher')
subdir('config')
subdir('data/backgrounds')
subdir('data/desktop')
subdir('data/etc')
subdir('data/favorites')
subdir('data/flags')
subdir('data/icons')
subdir('data/images')
subdir('data/input_methods')
subdir('data/tools')
subdir('data/units')
subdir('data/xsession')
meson.add_install_script('meson/meson_inst.sh', suid_exes)
meson.add_install_script('meson/meson_modules.sh', module_files)
configure_file(output: 'config.h', install: false, configuration: config_h)
pkgconfig.generate(
name: 'enlightenment',
description: 'Enlightenment Window Manager',
filebase: 'enlightenment',
subdirs: 'enlightenment',
#requires: deps_e,
requires: requires_e,
version: e_version_rev,
libraries_private: '-lm',
install_dir: dir_pkgconfig,
variables: [
'exec_prefix=${prefix}',
'datarootdir=@0@'.format(dir_data),
'datadir=${datarootdir}',
'modules=@0@/enlightenment/modules'.format(dir_lib),
'pkgdatadir=${datarootdir}/enlightenment/data',
'themes=${pkgdatadir}/themes',
'backgrounds=${pkgdatadir}/backgrounds',
'release=@0@'.format(release)
]
)
install_data(['AUTHORS', 'COPYING'], install_dir: join_paths(dir_data, 'enlightenment'))

@ -0,0 +1,6 @@
#!/bin/sh
for x in "$@" ; do
chown root "$DESTDIR/$x"
chmod a=rx,u+xs "$DESTDIR/$x"
done

@ -0,0 +1,6 @@
#!/bin/sh
for x in "$@" ; do
dir="$(dirname $x)"
mv "$DESTDIR"/"$x" "$DESTDIR"/"$dir"/module.so
done

@ -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)')

@ -0,0 +1,5 @@
if get_option('nls')
i18n = import('i18n')
i18n.gettext('enlightenment')
config_h.set('HAVE_GETTEXT', '1')
endif

@ -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
)

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

@ -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,<