forked from enlightenment/enlightenment
meson build - do a little tidying of the main meson.build in root
this will need further work. i want to try and trim this down as much as i can and make it easy to read/follow and see mistakes (thus the aligning or afgs in many places)
This commit is contained in:
parent
6ab9c576df
commit
c87d70eb9a
585
meson.build
585
meson.build
|
@ -1,28 +1,32 @@
|
|||
##### project
|
||||
project('enlightenment', 'c',
|
||||
version: '0.21.99',
|
||||
license: 'BSD 2 clause',
|
||||
default_options: [ 'c_std=gnu99', 'warning_level=2' ],
|
||||
meson_version: '>= 0.40.0')
|
||||
version : '0.21.99',
|
||||
license : 'BSD 2 clause',
|
||||
default_options: [ 'c_std=gnu99', 'warning_level=2' ],
|
||||
meson_version : '>= 0.40.0')
|
||||
|
||||
##### convenience variables for later
|
||||
proj = meson.project_name()
|
||||
ver = meson.project_version()
|
||||
chmod = join_paths(meson.source_root(), 'meson-chmod.sh')
|
||||
|
||||
#### check for mixed autofoo and meson build tree mess
|
||||
clean_check = run_command('meson/clean_check.sh')
|
||||
if clean_check.returncode() == 0
|
||||
error('Meson build requires a clean source tree')
|
||||
error('Meson build requires a clean source tree')
|
||||
endif
|
||||
|
||||
e_version = meson.project_version().split('.')
|
||||
e_version = ver.split('.')
|
||||
git_version = '0'
|
||||
git = find_program('git')
|
||||
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])
|
||||
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([ver, git_version])
|
||||
#e_version_rev = e_version
|
||||
|
||||
efl_version = '>= 1.19.99'
|
||||
|
@ -32,16 +36,16 @@ release = 'ver-0.22'
|
|||
#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_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, proj)
|
||||
dir_lib = join_paths(dir_prefix, get_option('libdir'))
|
||||
dir_module_e = join_paths(dir_lib, proj, 'modules')
|
||||
dir_util_e = join_paths(dir_lib, proj, 'utils')
|
||||
dir_pc = join_paths(dir_data, 'pkgconfig')
|
||||
dir_lib = join_paths(dir_prefix, get_option('libdir'))
|
||||
dir_module_e = join_paths(dir_lib, proj, 'modules')
|
||||
dir_util_e = join_paths(dir_lib, proj, 'utils')
|
||||
dir_pc = join_paths(dir_data, 'pkgconfig')
|
||||
|
||||
suid_exes = []
|
||||
|
||||
|
@ -51,340 +55,334 @@ 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',
|
||||
'-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
|
||||
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('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('_TANDEM_SOURCE' , '1')
|
||||
config_h.set('__EXTENSIONS__' , '1')
|
||||
#config_h.set('E_RELEASE_BUILD', '1')
|
||||
|
||||
if get_option('nls') == true
|
||||
subdir('po')
|
||||
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
|
||||
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 = []
|
||||
|
||||
openbsd = host_machine.system().startswith('openbsd')
|
||||
netbsd = host_machine.system().startswith('netbsd')
|
||||
freebsd = host_machine.system().startswith('freebsd')
|
||||
suid_cflags = []
|
||||
suid_ldflags = []
|
||||
dep_crypt = []
|
||||
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
|
||||
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
|
||||
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', proj)
|
||||
config_h.set_quoted('PACKAGE_VERSION', e_version_rev)
|
||||
config_h.set_quoted('VERSION', e_version_rev)
|
||||
config_h.set_quoted('MODULE_ARCH' , module_arch)
|
||||
config_h.set_quoted('PACKAGE' , proj)
|
||||
config_h.set_quoted('PACKAGE_VERSION' , e_version_rev)
|
||||
config_h.set_quoted('VERSION' , e_version_rev)
|
||||
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' , proj)
|
||||
config_h.set_quoted('PACKAGE_BUGREPORT', 'enlightenment-devel@lists.sourceforge.net')
|
||||
config_h.set_quoted('PACKAGE_STRING' , proj + ' ' + e_version_rev)
|
||||
config_h.set_quoted('PACKAGE_NAME' , proj)
|
||||
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')
|
||||
elif cc.has_function('backtrace_symbols_fd', dependencies: 'execinfo') == false
|
||||
execinfo_dep = dependency('execinfo', required: false)
|
||||
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
|
||||
|
||||
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(join_paths(dir_data, proj)), 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', proj)
|
||||
config_h.set_quoted('PACKAGE_BUGREPORT', 'enlightenment-devel@lists.sourceforge.net')
|
||||
config_h.set_quoted('PACKAGE_STRING', proj + ' ' + e_version_rev)
|
||||
config_h.set_quoted('PACKAGE_NAME', proj)
|
||||
|
||||
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')
|
||||
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
|
||||
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_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')
|
||||
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
|
||||
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 = ''
|
||||
HALT = '/sbin/shutdown -h now'
|
||||
REBOOT = '/sbin/shutdown -r now'
|
||||
SUSPEND = ''
|
||||
HIBERNATE = ''
|
||||
MOUNT = '/bin/mount'
|
||||
UMOUNT = '/bin/umount'
|
||||
EJECT = '/usr/bin/eject'
|
||||
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'
|
||||
#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
|
||||
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
|
||||
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('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)
|
||||
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
|
||||
config_h.set('HAVE_EEZE_MOUNT', '1')
|
||||
eeze_mount = true
|
||||
endif
|
||||
|
||||
|
||||
if get_option('files') == true
|
||||
config_h.set('ENABLE_FILES', '1')
|
||||
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'
|
||||
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')
|
||||
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
|
||||
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_rt = cc.find_library('rt', required: false)
|
||||
dep_eina = dependency('eina' , required: true, version: efl_version)
|
||||
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_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')
|
||||
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')
|
||||
config_h.set('HAVE_WAYLAND_ONLY', '1')
|
||||
else
|
||||
dep_ecore_x = dependency('ecore-x')
|
||||
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'))
|
||||
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'])
|
||||
output: '@BASENAME@.cfg',
|
||||
arguments: ['-e', '@OUTPUT@', 'config', '@INPUT@', '1'])
|
||||
|
||||
eldbus_codegen = find_program('eldbus-codegen')
|
||||
|
||||
|
@ -392,16 +390,16 @@ requires_e = []
|
|||
|
||||
dir_pkgconfig = join_paths(dir_lib, 'pkgconfig')
|
||||
if freebsd == true
|
||||
dir_pkgconfig = join_paths(dir_lib, 'data/pkgconfig')
|
||||
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_includes2 = [ '../..', '../bin', '../bin/efx' ]
|
||||
module_deps = [deps_e, dep_dl]
|
||||
module_files = []
|
||||
module_ldflags = '-module -avoid-version'
|
||||
module_includes = [ '../../..', '../../bin', '../../bin/efx' ]
|
||||
module_includes2 = [ '../..' , '../bin' , '../bin/efx' ]
|
||||
module_deps = [ deps_e, dep_dl ]
|
||||
|
||||
subdir('src/modules')
|
||||
|
||||
|
@ -421,29 +419,34 @@ subdir('data/xsession')
|
|||
|
||||
subdir('doc')
|
||||
|
||||
meson.add_install_script('meson/meson_inst.sh', suid_exes)
|
||||
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: proj,
|
||||
description: 'Enlightenment Window Manager',
|
||||
filebase: proj,
|
||||
subdirs: proj,
|
||||
#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}/'+ proj + '/data',
|
||||
'themes=${pkgdatadir}/themes',
|
||||
'backgrounds=${pkgdatadir}/backgrounds',
|
||||
'release=@0@'.format(release)
|
||||
]
|
||||
)
|
||||
|
||||
install_data(['AUTHORS', 'COPYING'], install_dir: join_paths(dir_data, 'enlightenment'))
|
||||
configure_file(output : 'config.h',
|
||||
install : false,
|
||||
configuration: config_h)
|
||||
|
||||
pkgconfig.generate(name : proj,
|
||||
description : 'Enlightenment Window Manager',
|
||||
filebase : proj,
|
||||
subdirs : proj,
|
||||
#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}/' + proj + '/data',
|
||||
'themes=${pkgdatadir}/themes',
|
||||
'backgrounds=${pkgdatadir}/backgrounds',
|
||||
'release=@0@'.format(release)
|
||||
]
|
||||
)
|
||||
|
||||
install_data([ 'AUTHORS',
|
||||
'COPYING'
|
||||
],
|
||||
install_dir: join_paths(dir_data, 'enlightenment'))
|
||||
|
|
Loading…
Reference in New Issue