Compare commits

...

8 Commits

13 changed files with 116 additions and 146 deletions

View File

@ -72,55 +72,54 @@ header_checks = [
function_checks = [
# function name | headers that are needed | libraries to include | Defines that are needed
['alloca', ['alloca.h']],
['backtrace', ['execinfo.h']],
['backtrace_symbols', ['execinfo.h']],
['chown', ['unistd.h']],
['clock_gettime', ['time.h']],
['dirfd', ['dirent.h sys/types.h']],
['fchmod', ['sys/stat.h']],
['fcntl', ['fcntl.h']],
['fork', ['unistd.h']],
['fpathconf', ['unistd.h']],
['geteuid', ['unistd.h']],
['getpagesize', ['unistd.h']],
['getpwent', ['sys/types.h', 'pwd.h']],
['getuid', ['unistd.h']],
['getxattr', ['sys/types.h', 'sys/xattr.h']],
['iconv', ['iconv.h']],
['listxattr', ['sys/types.h', 'sys/xattr.h']],
['malloc_info', ['malloc.h']],
['malloc_usable_size', ['malloc.h']],
['mkdirat', ['sys/stat.h']],
['mmap', ['sys/mman.h']],
['mtrace', ['mcheck.h']],
['prctl', ['sys/prctl.h']],
['procctl', ['sys/procctl.h']],
['realpath', ['stdlib.h']],
['setxattr', ['sys/types.h', 'sys/xattr.h']],
['siglongjmp', ['setjmp.h']],
['strerror_r', ['string.h']],
['gettimeofday', ['sys/time.h']],
['execvp', ['unistd.h']],
['pause', ['unistd.h']],
['isfinite', ['math.h']],
#FIXME strlcpy is detected by meson but drops at compilation time
# ['strlcpy', ['string.h']],
['siginfo_t', ['signal.h']],
['alloca', ['alloca.h' ]],
['backtrace', ['execinfo.h' ]],
['backtrace_symbols', ['execinfo.h' ]],
['chown', ['unistd.h' ]],
['clock_gettime', ['time.h' ]],
['dirfd', ['dirent.h sys/types.h' ]],
['fchmod', ['sys/stat.h' ]],
['fcntl', ['fcntl.h' ]],
['fork', ['unistd.h' ]],
['fpathconf', ['unistd.h' ]],
['geteuid', ['unistd.h' ]],
['getpagesize', ['unistd.h' ]],
['getpwent', ['sys/types.h', 'pwd.h' ]],
['getuid', ['unistd.h' ]],
['getxattr', ['sys/types.h', 'sys/xattr.h']],
['iconv', ['iconv.h' ]],
['listxattr', ['sys/types.h', 'sys/xattr.h']],
['malloc_info', ['malloc.h' ]],
['malloc_usable_size', ['malloc.h' ]],
['mkdirat', ['sys/stat.h' ]],
['mmap', ['sys/mman.h' ]],
['mtrace', ['mcheck.h' ]],
['prctl', ['sys/prctl.h' ]],
['procctl', ['sys/procctl.h' ]],
['realpath', ['stdlib.h' ]],
['setxattr', ['sys/types.h', 'sys/xattr.h']],
['siglongjmp', ['setjmp.h' ]],
['strerror_r', ['string.h' ]],
['gettimeofday', ['sys/time.h' ]],
['execvp', ['unistd.h' ]],
['pause', ['unistd.h' ]],
['isfinite', ['math.h' ]],
['strlcpy', ['string.h' ]],
['siginfo_t', ['signal.h' ]],
['pthread_getcpuclockid', ['pthread.h', 'time.h']],
['timerfd_create', ['sys/timerfd.h']],
['kevent', ['sys/types.h', 'sys/event.h', 'sys/time.h']],
['timerfd_create', ['sys/timerfd.h' ]],
['kevent', ['sys/types.h', 'sys/event.h', 'sys/time.h']],
#from here on we specify the dependencies
['dlopen', ['dlfcn.h'], ['dl']],
['dlsym', ['dlfcn.h'], ['dl']],
['lround', ['math.h'], ['m']],
['mallinfo2', ['malloc.h'], ['malloc']],
['mallinfo', ['malloc.h'], ['malloc']],
['shm_open', ['sys/mman.h', 'sys/stat.h', 'fcntl.h'], ['rt']],
['dlopen', ['dlfcn.h' ], ['dl' ] ],
['dlsym', ['dlfcn.h' ], ['dl' ] ],
['lround', ['math.h' ], ['m' ] ],
['mallinfo2', ['malloc.h' ], ['malloc'] ],
['mallinfo', ['malloc.h' ], ['malloc'] ],
['shm_open', ['sys/mman.h', 'sys/stat.h', 'fcntl.h'], ['rt'] ],
#from here on we specify arguments
['splice', ['fcntl.h'], [], '-D_GNU_SOURCE=1'],
['sched_getcpu', ['sched.h'], [], '-D_GNU_SOURCE=1'],
['dladdr', ['dlfcn.h'], ['dl'], '-D_GNU_SOURCE=1']
['splice', ['fcntl.h' ], [ ], '-D_GNU_SOURCE=1'],
['sched_getcpu', ['sched.h' ], [ ], '-D_GNU_SOURCE=1'],
['dladdr', ['dlfcn.h' ], ['dl' ], '-D_GNU_SOURCE=1']
]
open_cloexec = cc.compiles('''#include <sys/types.h>
@ -205,7 +204,7 @@ foreach function : function_checks
endforeach
# The next checks are manually for now due to the fact that some names are not within the default pattern
if (cc.has_header_symbol('sys/stat.h', 'fstatat'))
if cc.has_header_symbol('sys/stat.h', 'fstatat')
config_h.set10('HAVE_ATFILE_SOURCE', true)
endif

View File

@ -12,22 +12,26 @@ else
build_root = meson.build_root()
endif
if host_machine.system() == 'darwin'
add_languages('objc')
endif
pkgconfig = import('pkgconfig')
version_arr = meson.project_version().split('.')
name = meson.project_name()
version = meson.project_version()
version_arr = version.split('.')
version_major = version_arr[0]
version_minor = version_arr[1]
version_micro = version_arr[2]
version_name = 'v-' + version_major + '.' + version_minor
version_name = 'v-' + version_major + '.' + version_minor
cc = meson.get_compiler('c')
host_os = host_machine.system()
sys_linux = ['linux'].contains(host_os)
sys_bsd = ['bsd', 'freebsd', 'dragonfly', 'netbsd', 'openbsd'].contains(host_os)
sys_windows = ['windows', 'cygwin'].contains(host_os)
sys_osx = ['darwin'].contains(host_os)
sys_sun = ['sunos'].contains(host_os)
if host_os == 'linux'
if cc.has_header_symbol('features.h', '__UCLIBC__')
host_os = 'linux-uclibc'
@ -40,23 +44,11 @@ endif
#prepare a special linker args flag for binaries on macos
bin_linker_args = []
if host_machine.system() == 'darwin'
if sys_osx
add_languages('objc')
bin_linker_args = ['-pagezero_size', '10000', '-image_base', '100000000']
endif
windows = ['windows', 'cygwin']
#bsd for meson 0.46 and 0.47
bsd = ['bsd', 'freebsd', 'dragonfly', 'netbsd', 'openbsd']
linux = ['linux']
osx = ['darwin']
sun = ['sunos']
sys_linux = linux.contains(host_machine.system())
sys_bsd = bsd.contains(host_machine.system())
sys_windows = windows.contains(host_machine.system())
sys_osx = osx.contains(host_machine.system())
sys_sun = sun.contains(host_machine.system())
module_files = []
evas_loader_map = []
@ -69,14 +61,14 @@ dir_include = join_paths(dir_prefix, get_option('includedir'))
dir_lib = join_paths(dir_prefix, get_option('libdir'))
#local paths
local_lib = join_paths('src', 'lib')
local_bindings = join_paths('src', 'bindings')
local_bin = join_paths('src', 'bin')
local_module = join_paths('src', 'modules')
local_tests = join_paths('src', 'tests')
local_benchmark = join_paths('src', 'benchmarks')
local_examples = join_paths('src', 'examples')
local_scripts = join_paths('src', 'scripts')
local_lib = 'src/lib'
local_bindings = 'src/bindings'
local_bin = 'src/bin'
local_module = 'src/modules'
local_tests = 'src/tests'
local_benchmark = 'src/benchmarks'
local_examples = 'src/examples'
local_scripts = 'src/scripts'
dev_cflags = []
dev_cflags_try = [
@ -88,16 +80,10 @@ dev_cflags_try = [
'-Wno-missing-field-initializers',
]
foreach cf: dev_cflags_try
if cc.has_argument(cf)
dev_cflags += cf
endif
endforeach
dev_cflags = cc.get_supported_arguments(dev_cflags_try)
add_project_arguments(dev_cflags, language: 'c')
add_project_arguments(dev_cflags, language: 'cpp')
langs = ['c', 'objc', 'cpp']
add_project_arguments('-DHAVE_CONFIG_H=1', language: langs)
add_project_arguments('-D_GNU_SOURCE=1', language: langs)
@ -137,24 +123,24 @@ endif
env = find_program('env', native: true)
config_h = configuration_data()
config_h.set_quoted('MODULE_ARCH', version_name)
config_h.set_quoted('PACKAGE', meson.project_name())
config_h.set_quoted('PACKAGE_VERSION', meson.project_version())
config_h.set_quoted('VERSION', meson.project_version())
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', meson.project_name())
config_h.set_quoted('PACKAGE_BUGREPORT', 'enlightenment-devel@lists.sourceforge.net')
config_h.set_quoted('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_version())
config_h.set_quoted('PACKAGE_NAME', meson.project_name())
config_h.set_quoted('PACKAGE_BIN_DIR', dir_bin)
config_h.set_quoted('PACKAGE_LIB_DIR', dir_lib)
config_h.set_quoted('PACKAGE_SRC_DIR', source_root)
config_h.set_quoted('PACKAGE_BUILD_DIR', meson.current_build_dir())
config_h.set_quoted('MODULE_ARCH' , version_name)
config_h.set_quoted('PACKAGE' , name)
config_h.set_quoted('PACKAGE_VERSION' , version)
config_h.set_quoted('VERSION' , version)
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' , name)
config_h.set_quoted('PACKAGE_BUGREPORT' , 'enlightenment-devel@lists.sourceforge.net')
config_h.set_quoted('PACKAGE_STRING' , name + ' ' + version)
config_h.set_quoted('PACKAGE_NAME' , name)
config_h.set_quoted('PACKAGE_BIN_DIR' , dir_bin)
config_h.set_quoted('PACKAGE_LIB_DIR' , dir_lib)
config_h.set_quoted('PACKAGE_SRC_DIR' , source_root)
config_h.set_quoted('PACKAGE_BUILD_DIR' , meson.current_build_dir())
config_h.set_quoted('PACKAGE_SYSCONF_DIR', dir_sysconf)
config_h.set_quoted('BINDIR', dir_bin)
config_h.set_quoted('BINDIR' , dir_bin)
config_h.set10('EFL_HAVE_THREADS', true)
config_h.set10('SLOPPY_SPEC', true)
config_h.set10('SLOPPY_SPEC' , true)
## have to get compiler again for this to work
code = '''#define _GNU_SOURCE 1
@ -224,7 +210,7 @@ elif sys_osx
sys_mod_extension = 'so'
config_h.set('environ', '(*_NSGetEnviron())')
else
error('System ' + host_machine.system() + ' not known')
error('System ' + host_os + ' not known')
endif
if sys_linux or sys_bsd or sys_sun
@ -262,7 +248,7 @@ subdir('header_checks')
subdir('po')
if get_option('wl')
subdir(join_paths('src', 'wayland_protocol'))
subdir('src/wayland_protocol')
endif
ecore_evas_wayland_engine_include_dir = []
@ -372,9 +358,6 @@ subprojects = [
['exactness' ,[] , false, false, true, false, false, false, false, ['eina, evas, eet'], []],
]
# We generate Efl_Config.h and config.h later, they will be available here
config_dir += include_directories('.')
#we have to do that first, eina modules are required by eina
#the other modules require theire package
subdir(join_paths(local_module, 'eina'))
@ -425,7 +408,7 @@ foreach package : subprojects
foreach static_lib : package[10]
if get_variable(static_lib, tmp_empty) == tmp_empty
subdir(join_paths('src', 'static_libs', static_lib))
subdir(join_paths('src/static_libs', static_lib))
endif
endforeach
@ -524,14 +507,14 @@ if (get_option('efl-one'))
efl_one_lib = shared_library('efl-one',
link_whole : efl_one_parts,
install : true,
version : meson.project_version(),
version : version,
)
efl_one = declare_dependency(
link_with: efl_one_lib,
include_directories : efl_one_include_dirs,
dependencies : [thread_dep, intl] + efl_one_eo_deps,
version: meson.project_version()
version: version
)
pkgconfig.generate(
@ -582,13 +565,13 @@ foreach package : subprojects
endforeach
#build this later, as the debug services are depending on ecore
subdir(join_paths('src', 'bin', 'efl'))
subdir('src/bin/efl')
subdir(join_paths('src', 'generic', 'evas'))
subdir('src/generic/evas')
subdir('cmakeconfig')
subdir(join_paths('src', 'bindings'))
subdir(join_paths('src', 'edje_external'))
subdir(join_paths('data'))
subdir('src/bindings')
subdir('src/edje_external')
subdir('data')
if get_option('build-tests')
check = dependency('check')
@ -604,7 +587,7 @@ if get_option('build-tests')
test_env.set('ASAN_OPTIONS', 'detect_leaks=0:detect_odr_violation=0')
endif
subdir(join_paths('src', 'tests'))
subdir('src/tests')
foreach test : test_dirs
package_c_args = [
'-DPACKAGE_DATA_DIR="'+ join_paths(dir_data, test)+'"',
@ -624,10 +607,6 @@ if get_option('build-examples')
endforeach
endif
subdir(join_paths(local_scripts))
meson.add_install_script('meson/meson_modules.sh', module_files)
foreach evas_loader_map_inst : evas_loader_map
evas_loader_original = evas_loader_map_inst[0]
evas_loader_link_types = evas_loader_map_inst[1]
@ -664,7 +643,7 @@ configure_file(
)
configure_file(
input: join_paths('src','lib', 'efl', 'Efl_Config.h.in'),
input: 'src/lib/efl/Efl_Config.h.in',
output: 'Efl_Config.h',
install_dir : join_paths(dir_include,'eina-'+version_major),
configuration: efl_config_h
@ -677,8 +656,8 @@ configure_file(
install_dir : join_paths(dir_include,'elementary-'+version_major)
)
subdir(join_paths('systemd-services'))
subdir(join_paths('dbus-services'))
subdir('systemd-services')
subdir('dbus-services')
#output the three new efl-* .pc files
efl_20_pc_files = {

View File

@ -1,8 +0,0 @@
#!/bin/sh
for x in "$@" ; do
dir="$(dirname $x)"
filename="$(basename $x)"
ext="${filename##*.}"
mv "$DESTDIR""$x" "$DESTDIR""$dir"/module."$ext"
done

View File

@ -2,12 +2,12 @@
bindings = get_option('bindings')
bindings_order = ['lua', 'cxx', 'mono']
if (get_option('dotnet') and not bindings.contains('mono'))
if get_option('dotnet') and not bindings.contains('mono')
message('dotnet support requires the C# bindings')
bindings += ['mono']
endif
if (bindings.contains('cxx') == false and bindings.contains('mono'))
if bindings.contains('cxx') == false and bindings.contains('mono')
subdirs = ['eina_cxx', 'eolian_cxx']
subdir(join_paths('cxx', 'eina_cxx'))
inc_dir = []

View File

@ -71,7 +71,7 @@ manual_inheritance_files = [
]
beta_option = []
if (get_option('mono-beta'))
if get_option('mono-beta')
beta_option = '-b'
endif
@ -87,7 +87,7 @@ foreach lib : mono_sublibs
dllimport = 'lib' + dllimport + '-' + version_major
endif
if (package_name != 'eldbus')
if package_name != 'eldbus'
foreach eo_file_subdir : eo_file_subdirs
if eo_file_subdir != ''
mono_pub_eo_files = get_variable(package_name + '_' + eo_file_subdir +'_eo_files') + get_variable(package_name + '_' + eo_file_subdir + '_eot_files')
@ -143,7 +143,7 @@ endif
efl_mono_install_dir = join_paths(dir_lib, 'efl-mono-'+version_major)
efl_mono_xml_doc = join_paths(meson.current_build_dir(), 'efl_mono.xml')
if (get_option('dotnet'))
if get_option('dotnet')
styles = ['CA1000', 'CA1030', 'CA1031', 'CA1032', 'CA1034', 'CA1036', 'CA1040',
'CA1043', 'CA1044', 'CA1051', 'CA1052', 'CA1062', 'CA1063', 'CA1064',
'CA1065', 'CA1303', 'CA1305', 'CA1307', 'CA1401', 'CA1507', 'CA1707',

View File

@ -2,7 +2,7 @@ edje_externals = ['emotion', 'elementary']
foreach edje_external : edje_externals
#!?%$§#! custom nane for edje externals
if (edje_external == 'elementary')
if edje_external == 'elementary'
mod_install_dir = join_paths(dir_lib, 'edje', 'modules', 'elm', version_name)
else
mod_install_dir = join_paths(dir_lib, 'edje', 'modules', edje_external, version_name)

View File

@ -47,7 +47,7 @@ edc_files = [
'center_zoom.edc',
]
if (get_option('physics'))
if get_option('physics')
edc_files += [
'physics_3d.edc',
'physics_actions.edc',

View File

@ -10,7 +10,7 @@ edje_deps = [
edje_pub_deps = [evas, eo, efl]
edje_ext_deps = [m, lua, buildsystem_simple]
if (get_option('physics'))
if get_option('physics')
edje_deps += ephysics
edje_pub_deps += ephysics
endif

View File

@ -36,7 +36,7 @@ if get_option('v4l2')
endif
endif
if (get_option('libmount'))
if get_option('libmount')
libmount = dependency('mount')
eeze_ext_deps += [libmount]
if libmount.version() == '2.19'

View File

@ -2,7 +2,7 @@ efl_canvas_wl_deps = [ecore_wl2, ecore_input, ecore, ecore_evas, evas, emile, ei
efl_canvas_wl_pub_deps = [eo, efl, evas]
efl_canvas_wl_ext_deps = [dependency('wayland-server', version : '>= 1.11.0'), dependency('xkbcommon', version : '>= 0.6.0'), wayland_protocol]
if (get_option('x11'))
if get_option('x11')
efl_canvas_wl_deps += [ecore_x]
efl_canvas_wl_ext_deps += [dependency('xkbcommon-x11')]
endif

View File

@ -18,7 +18,7 @@ emile_src = files([
'emile_base64.c',
])
if (get_option('crypto') == 'openssl')
if get_option('crypto') == 'openssl'
emile_src += files('emile_cipher_openssl.c')
endif

View File

@ -157,17 +157,17 @@ evas_src_opt = [ ]
evas_ext_none_static_deps += dependency('freetype2')
if (get_option('fontconfig'))
if get_option('fontconfig')
config_h.set('HAVE_FONTCONFIG', '1')
evas_ext_none_static_deps += dependency('fontconfig')
endif
if (get_option('fribidi'))
if get_option('fribidi')
config_h.set('HAVE_FRIBIDI', '1')
evas_ext_none_static_deps += dependency('fribidi')
endif
if (get_option('pixman'))
if get_option('pixman')
pixman_support = ['HAVE_PIXMAN', 'PIXMAN_FONT', 'PIXMAN_RECT', 'PIXMAN_LINE', 'PIXMAN_POLY', 'PIXMAN_IMAGE', 'PIXMAN_IMAGE_SCALE_SAMPLE']
foreach support : pixman_support
config_h.set(support, '1')
@ -175,7 +175,7 @@ if (get_option('pixman'))
evas_ext_none_static_deps += dependency('pixman-1')
endif
if (get_option('hyphen'))
if get_option('hyphen')
config_h.set('HAVE_HYPHEN', '1')
hyphen = dependency('hyphen', required : false)
if hyphen.found() == false
@ -274,7 +274,7 @@ foreach loader_inst : evas_vg_loaders_file
loader = loader_inst[0]
loader_deps = loader_inst[1]
if (get_option('evas-loaders-disabler').contains(loader) == false)
if get_option('evas-loaders-disabler').contains(loader) == false
file = join_paths(source_root, 'src', 'modules', 'evas', 'vg_loaders', loader, 'evas_vg_load_'+loader+'.c')
evas_static_list += [declare_dependency(
sources: file,
@ -285,7 +285,7 @@ foreach loader_inst : evas_vg_loaders_file
endforeach
foreach loader : evas_vg_savers_file
if (get_option('evas-loaders-disabler').contains(loader) == false)
if get_option('evas-loaders-disabler').contains(loader) == false
file = join_paths(source_root, 'src', 'modules', 'evas', 'vg_savers', loader, 'evas_vg_save_'+loader+'.c')
evas_static_list += [declare_dependency(
sources: file,

View File

@ -1,4 +1,4 @@
if (get_option('embedded-lz4'))
if get_option('embedded-lz4')
lz4_src = [
'lz4.c',
'lz4hc.c',
@ -15,5 +15,5 @@ if (get_option('embedded-lz4'))
link_with: lz4_lib
)
else
lz4 = dependency('liblz4')
lz4 = dependency('liblz4', required: true)
endif