diff options
Diffstat (limited to 'src/modules')
71 files changed, 1302 insertions, 0 deletions
diff --git a/src/modules/ecore/meson.build b/src/modules/ecore/meson.build new file mode 100644 index 0000000000..08c868a665 --- /dev/null +++ b/src/modules/ecore/meson.build @@ -0,0 +1,10 @@ +system_modules = [ + 'systemd', + 'upower', + #'tizen', +] + +foreach system_module : system_modules + mod_install_dir = join_paths(dir_lib, 'ecore', 'system', system_module, version_name) + subdir(join_paths('system', system_module)) +endforeach diff --git a/src/modules/ecore/system/systemd/meson.build b/src/modules/ecore/system/systemd/meson.build new file mode 100644 index 0000000000..7649611255 --- /dev/null +++ b/src/modules/ecore/system/systemd/meson.build @@ -0,0 +1,9 @@ +if get_option('systemd') + ecore_systemd_mod = shared_module('systemd', + 'ecore_system_systemd.c', + dependencies: [ecore, eldbus], + install: true, + install_dir: mod_install_dir, + ) + module_files += join_paths(mod_install_dir, 'libsystemd.' + sys_mod_extension) +endif diff --git a/src/modules/ecore/system/tizen/meson.build b/src/modules/ecore/system/tizen/meson.build new file mode 100644 index 0000000000..78c7640e4b --- /dev/null +++ b/src/modules/ecore/system/tizen/meson.build @@ -0,0 +1,7 @@ +ecore_systemd_mod = shared_module('tizen', + 'ecore_system_tizen.c', + dependencies: [ecore, eldbus], + install: true, + install_dir: mod_install_dir, +) +module_files += join_paths(mod_install_dir, 'libtizen.' + sys_mod_extension) diff --git a/src/modules/ecore/system/upower/meson.build b/src/modules/ecore/system/upower/meson.build new file mode 100644 index 0000000000..ea1a20bec1 --- /dev/null +++ b/src/modules/ecore/system/upower/meson.build @@ -0,0 +1,7 @@ +ecore_systemd_mod = shared_module('upower', + 'ecore_system_upower.c', + dependencies: [ecore, eldbus], + install: true, + install_dir: mod_install_dir, +) +module_files += join_paths(mod_install_dir, 'libupower.' + sys_mod_extension) diff --git a/src/modules/ecore_buffer/meson.build b/src/modules/ecore_buffer/meson.build new file mode 100644 index 0000000000..00f393fdb4 --- /dev/null +++ b/src/modules/ecore_buffer/meson.build @@ -0,0 +1,25 @@ + + +subdir('shm') + +#common dri packages +libtbm = dependency('libtbm', required: false) +libdrm = dependency('libdrm', required: false) + +if libtbm.found() == true and libdrm.found() == true + libdri2 = dependency('libdri2', required: false) + if libdri2.found() + subdir('x11_dri2') + endif +endif + +if libtbm.found() == true and libdrm.found() == true + xshmfence = dependency('xshmfence', required: false) + xcb = dependency('xcb', required: false) + x11_xcb = dependency('x11_xcb', required: false) + xcb_sync = dependency('xcb_sync', required: false) + xcb_dri3 = dependency('xkb_dri3', required: false) + if xshmfence.found() == true and xcb.found() == true and x11_xcb.found() and xcb_sync.found() and xkb_dri3.found() + subdir('x11_dri3') + endif +endif diff --git a/src/modules/ecore_buffer/shm/meson.build b/src/modules/ecore_buffer/shm/meson.build new file mode 100644 index 0000000000..30da825227 --- /dev/null +++ b/src/modules/ecore_buffer/shm/meson.build @@ -0,0 +1,5 @@ +ecore_buffer_shm_mod = shared_module('ecore_buffer_shm_mod', + 'ecore_buffer_shm.c', + dependencies: [ecore, ecore_buffer], + install: true +)
\ No newline at end of file diff --git a/src/modules/ecore_buffer/x11_dri2/meson.build b/src/modules/ecore_buffer/x11_dri2/meson.build new file mode 100644 index 0000000000..37ed534bd3 --- /dev/null +++ b/src/modules/ecore_buffer/x11_dri2/meson.build @@ -0,0 +1,5 @@ +ecore_buffer_x11_dri2_mod = shared_module('ecore_buffer_x11_dri2_mod', + 'ecore_buffer_x11_dri2.c', + dependencies: [ecore, ecore_buffer, ecore_x], + install: true +)
\ No newline at end of file diff --git a/src/modules/ecore_buffer/x11_dri3/meson.build b/src/modules/ecore_buffer/x11_dri3/meson.build new file mode 100644 index 0000000000..5126fff6ca --- /dev/null +++ b/src/modules/ecore_buffer/x11_dri3/meson.build @@ -0,0 +1,7 @@ +if dependency('libtbm', required: false).found() == true and dependency('libdrm', required: false).found() + ecore_buffer_x11_dri3_mod = shared_module('ecore_buffer_x11_dri3_mod', + 'ecore_buffer_x11_dri3.c', + dependencies: [ecore, ecore_buffer, ecore_x], + install: true + ) +endif
\ No newline at end of file diff --git a/src/modules/ecore_evas/engines/cocoa/meson.build b/src/modules/ecore_evas/engines/cocoa/meson.build new file mode 100644 index 0000000000..63a904e36c --- /dev/null +++ b/src/modules/ecore_evas/engines/cocoa/meson.build @@ -0,0 +1,16 @@ +if get_option('opengl') != 'none' + config_h.set('BUILD_ECORE_EVAS_OPENGL_COCOA', '1') +endif + +engine_src = files(['ecore_evas_cocoa.c']) +engine_deps = [ecore_cocoa, ecore_input, ecore_input_evas, ecore] + +engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'gl_cocoa')) + +shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension +) diff --git a/src/modules/ecore_evas/engines/drm/meson.build b/src/modules/ecore_evas/engines/drm/meson.build new file mode 100644 index 0000000000..584cc56159 --- /dev/null +++ b/src/modules/ecore_evas/engines/drm/meson.build @@ -0,0 +1,21 @@ +if get_option('opengl') != 'none' + config_h.set('BUILD_ECORE_EVAS_GL_DRM', '1') +endif + +engine_src = files(['ecore_evas_drm.c']) +engine_deps = [ecore_drm2, ecore_input, eeze, elput, libdrm, engine_drm] + +if get_option('opengl') != 'none' + config_h.set('BUILD_ECORE_EVAS_GL_DRM', '1') + engine_deps += [engine_gl_drm] +endif + +engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'drm')) + +shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension +) diff --git a/src/modules/ecore_evas/engines/extn/meson.build b/src/modules/ecore_evas/engines/extn/meson.build new file mode 100644 index 0000000000..1afabb3916 --- /dev/null +++ b/src/modules/ecore_evas/engines/extn/meson.build @@ -0,0 +1,10 @@ +engine_src = files(['ecore_evas_extn.c', 'ecore_evas_extn_buf.c', 'ecore_evas_extn_engine.h']) +engine_deps = [ecore_input, ecore_ipc] + +shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension +) diff --git a/src/modules/ecore_evas/engines/fb/meson.build b/src/modules/ecore_evas/engines/fb/meson.build new file mode 100644 index 0000000000..7da2c22612 --- /dev/null +++ b/src/modules/ecore_evas/engines/fb/meson.build @@ -0,0 +1,11 @@ +engine_src = files(['ecore_evas_fb.c']) +engine_deps = [ecore_fb, ecore_input] +engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'fb')) + +shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension +) diff --git a/src/modules/ecore_evas/engines/sdl/meson.build b/src/modules/ecore_evas/engines/sdl/meson.build new file mode 100644 index 0000000000..25dc49ef49 --- /dev/null +++ b/src/modules/ecore_evas/engines/sdl/meson.build @@ -0,0 +1,10 @@ +engine_src = files(['ecore_evas_sdl.c']) +engine_deps = [ecore_sdl, ecore_input, ecore] + +shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension +) diff --git a/src/modules/ecore_evas/engines/wayland/meson.build b/src/modules/ecore_evas/engines/wayland/meson.build new file mode 100644 index 0000000000..fbc27a396b --- /dev/null +++ b/src/modules/ecore_evas/engines/wayland/meson.build @@ -0,0 +1,26 @@ +if get_option('opengl') == 'es-egl' + config_h.set('BUILD_ECORE_EVAS_WAYLAND_EGL', '1') +endif + +config_h.set('BUILD_ECORE_EVAS_WAYLAND_SHM', '1') + +engine_src = files([ + 'ecore_evas_wayland_egl.c', + 'ecore_evas_wayland_common.c', + 'ecore_evas_wayland_shm.c', + 'ecore_evas_wayland_private.h' + ]) + +engine_deps = [ecore_wl2, ecore_input] +engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'wayland_common')) + + +shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension +) + +ecore_evas_wayland_engine_include_dir = include_directories('.') diff --git a/src/modules/ecore_evas/engines/win32/meson.build b/src/modules/ecore_evas/engines/win32/meson.build new file mode 100644 index 0000000000..6a6477dd8b --- /dev/null +++ b/src/modules/ecore_evas/engines/win32/meson.build @@ -0,0 +1,9 @@ +engine_src = files(['ecore_evas_win32.c']) + +shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension +) diff --git a/src/modules/ecore_evas/engines/x/meson.build b/src/modules/ecore_evas/engines/x/meson.build new file mode 100644 index 0000000000..582a782115 --- /dev/null +++ b/src/modules/ecore_evas/engines/x/meson.build @@ -0,0 +1,21 @@ +config_h.set('BUILD_ECORE_EVAS_X11', '1') +config_h.set('BUILD_ECORE_EVAS_SOFTWARE_XLIB', '1') +config_h.set('BUILD_ECORE_EVAS_SOFTWARE_X11', '1') + +engine_src = files(['ecore_evas_x.c']) +engine_deps += [ecore_x, ecore_input] + +engine_deps += [engine_software_x11] + +if get_option('opengl') != 'none' + config_h.set('BUILD_ECORE_EVAS_OPENGL_X11', '1') + engine_deps += [engine_gl_x11] +endif + +shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension +) diff --git a/src/modules/ecore_evas/meson.build b/src/modules/ecore_evas/meson.build new file mode 100644 index 0000000000..6ca8ca90a6 --- /dev/null +++ b/src/modules/ecore_evas/meson.build @@ -0,0 +1,40 @@ +engines = [ +['cocoa', ['cocoa']], +['drm', ['drm']], +['extn', []], +['fb', ['fb']], +['sdl', ['sdl']], +['wayland', ['wl']], +#['win32', ['ecore_win32']], +['x', ['x11']], +] + + +foreach engine_conf : engines + engine = engine_conf[0] + build = true + engine_deps = [] + + if engine_conf[1].length() > 0 + build = get_option(engine_conf[1]) + endif + + if build + engine_include_dir = [] + engine_src = [] + + config_h.set('BUILD_ECORE_EVAS_'+engine.to_upper(), '1') + + mod_full_name = engine + mod_install_dir = join_paths(dir_lib, package_name, 'engines', engine, version_name) + + subdir(join_paths('engines', engine)) + + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) + endif +endforeach + + +if get_option('vnc-server') + subdir(join_paths('vnc_server')) +endif diff --git a/src/modules/ecore_evas/vnc_server/meson.build b/src/modules/ecore_evas/vnc_server/meson.build new file mode 100644 index 0000000000..67f8f8e4a9 --- /dev/null +++ b/src/modules/ecore_evas/vnc_server/meson.build @@ -0,0 +1,34 @@ +config_h.set('BUILD_ECORE_EVAS_VNC_SERVER', '1') + +engine_src = files([ + 'ecore_evas_vnc_server.c', + 'ecore_evas_vnc_server_fb_keymap.c', + 'ecore_evas_vnc_server_fb_keymap.h' +]) + +engine_deps = [ecore, ecore_input, ecore_evas, evas] +engine_available = false + +if get_option('x11') + engine_deps += [ecore_x] + engine_available = true +endif + +if get_option('fb') + engine_deps += [ecore_fb] + engine_available = true +endif + +engine_include_dir += include_directories(join_paths('..', '..', '..', 'lib', 'ecore_fb')) + +if engine_available == false + error('at least x11 or fb needs to be build to build vnc') +endif + +shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension +) diff --git a/src/modules/ecore_imf/ibus/meson.build b/src/modules/ecore_imf/ibus/meson.build new file mode 100644 index 0000000000..dc37b3865e --- /dev/null +++ b/src/modules/ecore_imf/ibus/meson.build @@ -0,0 +1,14 @@ +mod_src = files([ + 'ibus_module.c', + 'ibus_imcontext.c', + 'ibus_imcontext.h' +]) + +mod_deps = [ecore, ecore_imf, ecore_x, dependency('ibus-1.0'), dependency('glib-2.0'), ecore_evas] + +shared_module(mod_name, + mod_src, + dependencies: mod_deps, + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/ecore_imf/meson.build b/src/modules/ecore_imf/meson.build new file mode 100644 index 0000000000..b8a495a280 --- /dev/null +++ b/src/modules/ecore_imf/meson.build @@ -0,0 +1,24 @@ +mods = [] + +if get_option('x11') + mods +=['ibus', 'xim', 'scim'] +endif + +if get_option('wl') + mods += ['wayland'] +endif + + +loader_disabler = get_option('ecore-imf-loaders-disabler') + +foreach mod_name : mods + mod_src = [] + mod_deps = [] + + if loader_disabler.contains(mod_name) == false + mod_install_dir = join_paths(dir_package_modules, mod_name, version_name) + subdir(mod_name) + module_files += join_paths(mod_install_dir, 'lib'+mod_name+'.'+sys_mod_extension) + config_h.set('BUILD_ECORE_IMF_'+mod_name.to_upper(), '1') + endif +endforeach diff --git a/src/modules/ecore_imf/scim/meson.build b/src/modules/ecore_imf/scim/meson.build new file mode 100644 index 0000000000..c1bf1d23fd --- /dev/null +++ b/src/modules/ecore_imf/scim/meson.build @@ -0,0 +1,14 @@ +mod_src = files([ + 'scim_module.cpp', + 'scim_imcontext.cpp', + 'scim_imcontext.h' +]) +mod_deps = [ecore, ecore_imf, ecore_x, dependency('scim-1.0'), dependency('glib-2.0')] + + +shared_module(mod_name, + mod_src, + dependencies: mod_deps, + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/ecore_imf/wayland/meson.build b/src/modules/ecore_imf/wayland/meson.build new file mode 100644 index 0000000000..f2c6e53dde --- /dev/null +++ b/src/modules/ecore_imf/wayland/meson.build @@ -0,0 +1,13 @@ +mod_src = files([ + 'wayland_module.c', + 'wayland_imcontext.c', + 'wayland_imcontext.h' +]) +mod_deps = [ecore, ecore_imf, ecore_wl2, wayland_protocol, ecore_evas, ecore_input] + +shared_module(mod_name, + mod_src, + dependencies: mod_deps, + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/ecore_imf/xim/meson.build b/src/modules/ecore_imf/xim/meson.build new file mode 100644 index 0000000000..5db9e187c5 --- /dev/null +++ b/src/modules/ecore_imf/xim/meson.build @@ -0,0 +1,12 @@ +mod_src = files([ + 'ecore_imf_xim.c', +]) + +mod_deps = [ecore, ecore_imf, ecore_input, ecore_x, ecore_evas] + +shared_module(mod_name, + mod_src, + dependencies: mod_deps, + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/ecore_wl2/engines/dmabuf/meson.build b/src/modules/ecore_wl2/engines/dmabuf/meson.build new file mode 100644 index 0000000000..c6b976daca --- /dev/null +++ b/src/modules/ecore_wl2/engines/dmabuf/meson.build @@ -0,0 +1,6 @@ +shared_module('dmabuf', + 'ecore_wl2_surface_module_dmabuf.c', + dependencies: [ecore_wl2, wayland_protocol], + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/ecore_wl2/meson.build b/src/modules/ecore_wl2/meson.build new file mode 100644 index 0000000000..986391ab96 --- /dev/null +++ b/src/modules/ecore_wl2/meson.build @@ -0,0 +1,9 @@ +ecore_wl2_engines = [ + 'dmabuf' +] + +foreach engine : ecore_wl2_engines + mod_install_dir = join_paths(dir_lib, 'ecore_wl2', 'engines', engine, version_name) + subdir(join_paths('engines', engine)) + module_files += join_paths(mod_install_dir, 'lib'+engine+'.'+sys_mod_extension) +endforeach diff --git a/src/modules/eeze/meson.build b/src/modules/eeze/meson.build new file mode 100644 index 0000000000..e25ab50999 --- /dev/null +++ b/src/modules/eeze/meson.build @@ -0,0 +1,10 @@ +sensors = [ +['fake', [ecore]], +#['tizen', []], +['udev', [ecore]], +] + +foreach sensor_conf : sensors + module_name = sensor_conf[0] + subdir(join_paths('sensor', module_name)) +endforeach diff --git a/src/modules/eeze/sensor/fake/meson.build b/src/modules/eeze/sensor/fake/meson.build new file mode 100644 index 0000000000..c87f2cb68d --- /dev/null +++ b/src/modules/eeze/sensor/fake/meson.build @@ -0,0 +1,8 @@ +shared_module(module_name, + module_name+'.c', + dependencies: [eina, eeze, ecore], + install: true, + install_dir : join_paths(dir_package_modules, 'sensor', module_name, version_name), +) + +module_files += join_paths(dir_package_modules, 'sensor', module_name, version_name, 'lib' + module_name + '.' + sys_lib_extension) diff --git a/src/modules/eeze/sensor/tizen/meson.build b/src/modules/eeze/sensor/tizen/meson.build new file mode 100644 index 0000000000..c87f2cb68d --- /dev/null +++ b/src/modules/eeze/sensor/tizen/meson.build @@ -0,0 +1,8 @@ +shared_module(module_name, + module_name+'.c', + dependencies: [eina, eeze, ecore], + install: true, + install_dir : join_paths(dir_package_modules, 'sensor', module_name, version_name), +) + +module_files += join_paths(dir_package_modules, 'sensor', module_name, version_name, 'lib' + module_name + '.' + sys_lib_extension) diff --git a/src/modules/eeze/sensor/udev/meson.build b/src/modules/eeze/sensor/udev/meson.build new file mode 100644 index 0000000000..c87f2cb68d --- /dev/null +++ b/src/modules/eeze/sensor/udev/meson.build @@ -0,0 +1,8 @@ +shared_module(module_name, + module_name+'.c', + dependencies: [eina, eeze, ecore], + install: true, + install_dir : join_paths(dir_package_modules, 'sensor', module_name, version_name), +) + +module_files += join_paths(dir_package_modules, 'sensor', module_name, version_name, 'lib' + module_name + '.' + sys_lib_extension) diff --git a/src/modules/eina/meson.build b/src/modules/eina/meson.build new file mode 100644 index 0000000000..17396a198c --- /dev/null +++ b/src/modules/eina/meson.build @@ -0,0 +1,9 @@ +eina_mp_sources = [] + +subdir(join_paths('mp', 'chained_pool')) +subdir(join_paths('mp', 'one_big')) +subdir(join_paths('mp', 'pass_through')) + +eina_mem_pools = declare_dependency( + sources: eina_mp_sources +) diff --git a/src/modules/eina/mp/chained_pool/meson.build b/src/modules/eina/mp/chained_pool/meson.build new file mode 100644 index 0000000000..d4b222c6f2 --- /dev/null +++ b/src/modules/eina/mp/chained_pool/meson.build @@ -0,0 +1,3 @@ +config_h.set10('EINA_BUILD_CHAINED_POOL', true) +config_h.set10('EINA_STATIC_BUILD_CHAINED_POOL', true) +eina_mp_sources += files('eina_chained_mempool.c') diff --git a/src/modules/eina/mp/one_big/meson.build b/src/modules/eina/mp/one_big/meson.build new file mode 100644 index 0000000000..fabe80352c --- /dev/null +++ b/src/modules/eina/mp/one_big/meson.build @@ -0,0 +1,3 @@ +config_h.set10('EINA_BUILD_ONE_BIG', true) +config_h.set10('EINA_STATIC_BUILD_ONE_BIG', true) +eina_mp_sources += files('eina_one_big.c') diff --git a/src/modules/eina/mp/pass_through/meson.build b/src/modules/eina/mp/pass_through/meson.build new file mode 100644 index 0000000000..a60ab6204b --- /dev/null +++ b/src/modules/eina/mp/pass_through/meson.build @@ -0,0 +1,3 @@ +config_h.set10('EINA_BUILD_PASS_THROUGH', true) +config_h.set10('EINA_STATIC_BUILD_PASS_THROUGH', true) +eina_mp_sources += files('eina_pass_through.c') diff --git a/src/modules/elementary/access_output/meson.build b/src/modules/elementary/access_output/meson.build new file mode 100644 index 0000000000..178ab16618 --- /dev/null +++ b/src/modules/elementary/access_output/meson.build @@ -0,0 +1,10 @@ +src = files([ + 'mod.c', +]) + +shared_module(mod, + src, + dependencies: [elementary], + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/elementary/clock_input_ctxpopup/meson.build b/src/modules/elementary/clock_input_ctxpopup/meson.build new file mode 100644 index 0000000000..04435773fe --- /dev/null +++ b/src/modules/elementary/clock_input_ctxpopup/meson.build @@ -0,0 +1,10 @@ +src = files([ + 'clock_input_ctxpopup.c', +]) + +shared_module(mod, + src, + dependencies: [elementary], + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/elementary/meson.build b/src/modules/elementary/meson.build new file mode 100644 index 0000000000..ed77fe240e --- /dev/null +++ b/src/modules/elementary/meson.build @@ -0,0 +1,14 @@ +mods = [ + 'access_output', + 'clock_input_ctxpopup', + 'prefs', + 'test_entry', + 'test_map', + join_paths('web', 'none') +] + +foreach mod : mods + mod_install_dir = join_paths(dir_lib, 'elementary', 'modules', mod, version_name) + subdir(mod) + module_files += join_paths(mod_install_dir, 'lib'+mod+'.'+sys_mod_extension) +endforeach diff --git a/src/modules/elementary/prefs/meson.build b/src/modules/elementary/prefs/meson.build new file mode 100644 index 0000000000..9ec2c9a475 --- /dev/null +++ b/src/modules/elementary/prefs/meson.build @@ -0,0 +1,24 @@ +src = files([ + 'private.h', + 'prefs_iface.c', + 'elm_button.c', + 'elm_check.c', + 'elm_datetime.c', + 'elm_entry.c', + 'elm_label.c', + 'elm_separator.c', + 'elm_slider.c', + 'elm_spinner.c', + 'elm_swallow.c', + 'elm_vertical_box.c', + 'elm_horizontal_box.c', + 'elm_vertical_frame.c', + 'elm_horizontal_frame.c' +]) + +shared_module(mod, + src, + dependencies: [elementary], + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/elementary/test_entry/meson.build b/src/modules/elementary/test_entry/meson.build new file mode 100644 index 0000000000..178ab16618 --- /dev/null +++ b/src/modules/elementary/test_entry/meson.build @@ -0,0 +1,10 @@ +src = files([ + 'mod.c', +]) + +shared_module(mod, + src, + dependencies: [elementary], + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/elementary/test_map/meson.build b/src/modules/elementary/test_map/meson.build new file mode 100644 index 0000000000..178ab16618 --- /dev/null +++ b/src/modules/elementary/test_map/meson.build @@ -0,0 +1,10 @@ +src = files([ + 'mod.c', +]) + +shared_module(mod, + src, + dependencies: [elementary], + install: true, + install_dir : mod_install_dir +) diff --git a/src/modules/elementary/web/meson.build b/src/modules/elementary/web/meson.build new file mode 100644 index 0000000000..13c563c96a --- /dev/null +++ b/src/modules/elementary/web/meson.build @@ -0,0 +1 @@ +subdir('none') diff --git a/src/modules/elementary/web/none/meson.build b/src/modules/elementary/web/none/meson.build new file mode 100644 index 0000000000..ddbd9c2f2e --- /dev/null +++ b/src/modules/elementary/web/none/meson.build @@ -0,0 +1,30 @@ +pub_eo_files = [ + 'elm_web_none.eo' +] + + +foreach eo_file : pub_eo_files + pub_eo_file_target += custom_target('eolian_gen_' + eo_file, + input : eo_file, + output : [eo_file + '.h'], + install : true, + install_dir : dir_package_include, + command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, + '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), + '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), + '-gch', '@INPUT@']) +endforeach + + +src = files([ + 'elm_web_none.c' +]) + pub_eo_file_target + +shared_module('none', + src, + dependencies: [elementary, elementary_deps], + install: true, + install_dir : mod_install_dir +) + +mod = 'none' diff --git a/src/modules/emotion/generic/meson.build b/src/modules/emotion/generic/meson.build new file mode 100644 index 0000000000..d0da87861b --- /dev/null +++ b/src/modules/emotion/generic/meson.build @@ -0,0 +1,22 @@ +generic_src = files([ + 'emotion_generic.c', + 'emotion_generic.h', +]) + +emotion_generic = declare_dependency( + include_directories: include_directories('.'), + dependencies: emotion, +) + +shared_module(emotion_loader, + generic_src, + include_directories : config_dir, + dependencies: [eina, evas, emotion, generic_deps], + install: true, + install_dir : mod_install_dir, + c_args : package_c_args, +) + +install_headers('Emotion_Generic_Plugin.h', + install_dir : dir_package_include, +) diff --git a/src/modules/emotion/gstreamer/meson.build b/src/modules/emotion/gstreamer/meson.build new file mode 100644 index 0000000000..dccc9302bd --- /dev/null +++ b/src/modules/emotion/gstreamer/meson.build @@ -0,0 +1,18 @@ +generic_src = files([ + 'emotion_gstreamer.h', + 'emotion_gstreamer.c', + 'emotion_alloc.c', + 'emotion_convert.c', + 'emotion_sink.c' +]) + +generic_deps = [dependency('gstreamer-0.1')] + +shared_module(emotion_loader, + generic_src, + include_directories : config_dir, + dependencies: [eina, evas, emotion, generic_deps], + install: true, + install_dir : mod_install_dir, + c_args : package_c_args, +) diff --git a/src/modules/emotion/gstreamer1/meson.build b/src/modules/emotion/gstreamer1/meson.build new file mode 100644 index 0000000000..aae7f5f8ea --- /dev/null +++ b/src/modules/emotion/gstreamer1/meson.build @@ -0,0 +1,25 @@ +generic_src = files([ + 'emotion_gstreamer.h', + 'emotion_gstreamer.c', + 'emotion_alloc.c', + 'emotion_convert.c', + 'emotion_sink.c' +]) + +generic_deps = [ + dependency('gstreamer-1.0'), + dependency('gstreamer-plugins-base-1.0'), + dependency('gstreamer-video-1.0'), + dependency('gstreamer-audio-1.0'), + dependency('gstreamer-tag-1.0'), + dependency('gstreamer-pbutils-1.0'), + ] + +shared_module(emotion_loader, + generic_src, + include_directories : config_dir, + dependencies: [eina, evas, emotion, generic_deps], + install: true, + install_dir : mod_install_dir, + c_args : package_c_args, +) diff --git a/src/modules/emotion/libvlc/meson.build b/src/modules/emotion/libvlc/meson.build new file mode 100644 index 0000000000..e5646a414d --- /dev/null +++ b/src/modules/emotion/libvlc/meson.build @@ -0,0 +1,14 @@ +generic_src = files([ + 'emotion_libvlc.c', +]) + +generic_deps = [dependency('libvlc', version: '>= 3.0')] + +shared_module(emotion_loader, + generic_src, + include_directories : config_dir, + dependencies: [eina, evas, emotion, generic_deps], + install: true, + install_dir : mod_install_dir, + c_args : package_c_args, +) diff --git a/src/modules/emotion/meson.build b/src/modules/emotion/meson.build new file mode 100644 index 0000000000..f16eaec262 --- /dev/null +++ b/src/modules/emotion/meson.build @@ -0,0 +1,19 @@ +emotion_loaders = [ +'generic', +'gstreamer', +'gstreamer1', +'libvlc', +'xine' +] + +foreach emotion_loader : emotion_loaders + generic_src = [] + generic_deps = [] + mod_install_dir = join_paths(dir_lib, 'emotion', 'modules', emotion_loader, version_name) + + if get_option('emotion-loaders-disabler').contains(emotion_loader) == false + subdir(emotion_loader) + module_files += join_paths(mod_install_dir, 'lib'+emotion_loader+'.'+sys_mod_extension) + config_h.set('EMOTION_BUILD_'+emotion_loader.to_upper(), 1) + endif +endforeach diff --git a/src/modules/emotion/xine/meson.build b/src/modules/emotion/xine/meson.build new file mode 100644 index 0000000000..038d6d2eb1 --- /dev/null +++ b/src/modules/emotion/xine/meson.build @@ -0,0 +1,16 @@ +generic_src = files([ + 'emotion_xine.h', + 'emotion_xine.c', + 'emotion_xine_vo_out.c', +]) + +generic_deps = dependency('libxine') + +shared_module(emotion_loader, + generic_src, + include_directories : config_dir, + dependencies: [eina, evas, emotion, generic_deps], + install: true, + install_dir : mod_install_dir, + c_args : package_c_args, +) diff --git a/src/modules/ethumb/emotion/meson.build b/src/modules/ethumb/emotion/meson.build new file mode 100644 index 0000000000..52f4b442a6 --- /dev/null +++ b/src/modules/ethumb/emotion/meson.build @@ -0,0 +1,32 @@ +themes = [] + +edc_files = [ + 'template.edc' +] + +foreach edc_file : edc_files + themes += custom_target('edje_cc_' + edc_file, + input : edc_file, + output : '@BASENAME@.edj', + command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', edje_cc.full_path(), '-beta', + '-id', meson.current_source_dir(), + '-fd', meson.current_source_dir(), + '-sd', meson.current_source_dir(), + '-vd', meson.current_source_dir(), + '-dd', meson.current_source_dir(), + '-md', meson.current_source_dir(), + '-td', meson.current_source_dir(), + '@INPUT@', '@OUTPUT@'], + depends : edje_cc) +endforeach + +generic_src = [files(['emotion.c']) + themes] + +shared_module(emotion_loader+'_el', + generic_src, + include_directories : config_dir, + dependencies: [ethumb, edje, eina, eo, eet, ecore_file, ecore, evas, ecore_evas, emotion], + install: true, + install_dir : mod_install_dir, + c_args : package_c_args, +) diff --git a/src/modules/ethumb/meson.build b/src/modules/ethumb/meson.build new file mode 100644 index 0000000000..015a182ee6 --- /dev/null +++ b/src/modules/ethumb/meson.build @@ -0,0 +1,13 @@ +emotion_loaders = [ +'emotion' +] + +foreach emotion_loader : emotion_loaders + generic_src = [] + generic_deps = [] + mod_install_dir = join_paths(dir_lib, 'ethumb', 'modules', emotion_loader, version_name) + + subdir(emotion_loader) + + module_files += join_paths(mod_install_dir, 'lib'+emotion_loader+'_el.'+sys_mod_extension) +endforeach diff --git a/src/modules/evas/engines/buffer/meson.build b/src/modules/evas/engines/buffer/meson.build new file mode 100644 index 0000000000..e5a2510db9 --- /dev/null +++ b/src/modules/evas/engines/buffer/meson.build @@ -0,0 +1,25 @@ +engine_src = files([ + 'Evas_Engine_Buffer.h', + 'evas_engine.c', + 'evas_engine.h', + 'evas_outbuf.c' +]) + +engine_deps = [] + +evas_include_directories += include_directories('.') + +install_headers('Evas_Engine_Buffer.h', + install_dir : dir_package_include, +) + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/drm/meson.build b/src/modules/evas/engines/drm/meson.build new file mode 100644 index 0000000000..6445a560f2 --- /dev/null +++ b/src/modules/evas/engines/drm/meson.build @@ -0,0 +1,19 @@ +engine_src = files([ + 'Evas_Engine_Drm.h', + 'evas_engine.c', + 'evas_engine.h', + 'evas_outbuf.c' +]) + +engine_deps = [ecore_drm2, libdrm] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/fb/meson.build b/src/modules/evas/engines/fb/meson.build new file mode 100644 index 0000000000..2900f4afc6 --- /dev/null +++ b/src/modules/evas/engines/fb/meson.build @@ -0,0 +1,21 @@ +engine_src = files([ + 'Evas_Engine_FB.h', + 'evas_engine.c', + 'evas_engine.h', + 'evas_outbuf.c', + 'evas_fb.h', + 'evas_fb_main.c', +]) + +engine_deps = [ecore_fb] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/gl_cocoa/meson.build b/src/modules/evas/engines/gl_cocoa/meson.build new file mode 100644 index 0000000000..9900862904 --- /dev/null +++ b/src/modules/evas/engines/gl_cocoa/meson.build @@ -0,0 +1,19 @@ +engine_src = files([ + 'Evas_Engine_GL_Cocoa.h', + 'evas_engine.c', + 'evas_engine.h', + 'evas_outbuf.m', +]) + +engine_deps = [ecore_cocoa, gl_deps] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/gl_common/meson.build b/src/modules/evas/engines/gl_common/meson.build new file mode 100644 index 0000000000..0242012759 --- /dev/null +++ b/src/modules/evas/engines/gl_common/meson.build @@ -0,0 +1,45 @@ +engine_src = files([ + 'evas_gl_private.h', + 'evas_gl_common.h', + 'evas_gl_define.h', + 'evas_gl_context.c', + 'evas_gl_file_cache.c', + 'evas_gl_shader.c', + 'evas_gl_rectangle.c', + 'evas_gl_texture.c', + 'evas_gl_preload.c', + 'evas_gl_image.c', + 'evas_gl_font.c', + 'evas_gl_polygon.c', + 'evas_gl_line.c', + 'evas_gl_core.c', + 'evas_gl_api_ext.h', + 'evas_gl_api_ext_def.h', + 'evas_gl_core.h', + 'evas_gl_core_private.h', + 'evas_gl_api.c', + 'evas_gl_api_def.h', + 'evas_gl_api_gles1.c', + 'evas_gl_api_gles3_def.h', + 'evas_gl_api_ext.c', + 'evas_gl_3d_common.h', + 'evas_gl_3d_private.h', + 'evas_gl_3d.c', + 'evas_gl_3d_renderer.c', + 'evas_gl_3d_shader.c', + #join_paths('shader_3d', 'evas_gl_3d_shaders.x'), + #join_paths('shader','evas_gl_shaders.x'), +]) + +engine_deps = [gl_deps] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/gl_drm/meson.build b/src/modules/evas/engines/gl_drm/meson.build new file mode 100644 index 0000000000..0821638149 --- /dev/null +++ b/src/modules/evas/engines/gl_drm/meson.build @@ -0,0 +1,19 @@ +engine_src = files([ + 'Evas_Engine_GL_Drm.h', + 'evas_engine.c', + 'evas_engine.h', + 'evas_outbuf.c', +]) + +engine_deps = [ecore_drm2, libdrm, gl_deps] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/gl_generic/meson.build b/src/modules/evas/engines/gl_generic/meson.build new file mode 100644 index 0000000000..bfa7e82a6d --- /dev/null +++ b/src/modules/evas/engines/gl_generic/meson.build @@ -0,0 +1,44 @@ +engine_src = files([ + 'evas_engine.c', + 'Evas_Engine_GL_Generic.h', + 'Evas_Engine_GL_Shared.h', + 'evas_ector_gl.h', + 'evas_ector_gl_buffer.c', + 'evas_ector_gl_image_buffer.c', + join_paths('filters','gl_engine_filter.h'), + join_paths('filters','gl_filter_blend.c'), + join_paths('filters','gl_filter_blur.c'), + join_paths('filters','gl_filter_curve.c'), + join_paths('filters','gl_filter_displace.c'), + join_paths('filters','gl_filter_fill.c'), + join_paths('filters','gl_filter_mask.c'), +]) + + +pub_eo_files = [ + 'evas_ector_gl_buffer.eo', + 'evas_ector_gl_image_buffer.eo' +] + +foreach eo_file : pub_eo_files + engine_src += custom_target('eolian_gen_' + eo_file, + input : eo_file, + output : [eo_file + '.h'], + command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, + '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), + '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), + '-gch', '@INPUT@']) +endforeach + +engine_deps = [gl_common] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/gl_x11/meson.build b/src/modules/evas/engines/gl_x11/meson.build new file mode 100644 index 0000000000..910c72a917 --- /dev/null +++ b/src/modules/evas/engines/gl_x11/meson.build @@ -0,0 +1,19 @@ +engine_src = files([ + 'Evas_Engine_GL_X11.h', + 'evas_engine.c', + 'evas_engine.h', + 'evas_x_main.c', +]) + +engine_deps = [ecore_x_deps, gl_deps] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/software_ddraw/meson.build b/src/modules/evas/engines/software_ddraw/meson.build new file mode 100644 index 0000000000..9d3724f5b1 --- /dev/null +++ b/src/modules/evas/engines/software_ddraw/meson.build @@ -0,0 +1,21 @@ +engine_src = files([ + 'Evas_Engine_Software_DDraw.h', + 'evas_engine.c', + 'evas_engine.h', + 'evas_outbuf.c', + 'evas_ddraw_buffer.c', + 'evas_ddraw_main.c', +]) + +engine_deps = [] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/software_gdi/meson.build b/src/modules/evas/engines/software_gdi/meson.build new file mode 100644 index 0000000000..9347ecd4d8 --- /dev/null +++ b/src/modules/evas/engines/software_gdi/meson.build @@ -0,0 +1,21 @@ +engine_src = files([ + 'Evas_Engine_Software_Gdi.h', + 'evas_engine.c', + 'evas_engine.h', + 'evas_outbuf.c', + 'evas_gdi_buffer.c', + 'evas_gdi_main.c', +]) + +engine_deps = [] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/software_generic/filters/meson.build b/src/modules/evas/engines/software_generic/filters/meson.build new file mode 100644 index 0000000000..6ccd5f59a1 --- /dev/null +++ b/src/modules/evas/engines/software_generic/filters/meson.build @@ -0,0 +1,13 @@ +engine_include_dir += include_directories('.') + +engine_src += files([ + 'evas_engine_filter.h', + 'evas_filter_blend.c', + 'evas_filter_blur.c', + 'evas_filter_bump.c', + 'evas_filter_curve.c', + 'evas_filter_displace.c', + 'evas_filter_fill.c', + 'evas_filter_mask.c', + 'evas_filter_transform.c', +])
\ No newline at end of file diff --git a/src/modules/evas/engines/software_generic/meson.build b/src/modules/evas/engines/software_generic/meson.build new file mode 100644 index 0000000000..7571ca3bc1 --- /dev/null +++ b/src/modules/evas/engines/software_generic/meson.build @@ -0,0 +1,40 @@ +engine_src = files([ + 'evas_engine.c', + 'Evas_Engine_Software_Generic.h', + 'Evas_Engine_Software_Shared.h', + 'evas_native_tbm.c', + 'evas_native_dmabuf.c', + 'evas_ector_software_buffer.c', + 'evas_native_common.h', + 'evas_ector_software.h', +]) + + +pub_eo_files = [ + 'evas_ector_software_buffer.eo' +] + +subdir('filters') + +foreach eo_file : pub_eo_files + engine_src += custom_target('eolian_gen_' + eo_file, + input : eo_file, + output : [eo_file + '.h'], + command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, + '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), + '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), + '-gch', '@INPUT@']) +endforeach + +engine_deps = [draw, dl] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/software_x11/meson.build b/src/modules/evas/engines/software_x11/meson.build new file mode 100644 index 0000000000..950c93ed04 --- /dev/null +++ b/src/modules/evas/engines/software_x11/meson.build @@ -0,0 +1,40 @@ +engine_src = files([ + 'evas_engine.c', + 'evas_engine.h', + 'evas_x_egl.c', + 'evas_x_egl.h', + 'Evas_Engine_Software_X11.h', + 'evas_xlib_swapbuf.c', + 'evas_xlib_outbuf.c', + 'evas_xlib_buffer.c', + 'evas_xlib_color.c', + 'evas_xlib_main.c', + 'evas_xlib_swapper.c', + 'evas_xlib_image.c', + 'evas_xlib_dri_image.c', + 'evas_xlib_outbuf.h', + 'evas_xlib_swapbuf.h', + 'evas_xlib_buffer.h', + 'evas_xlib_color.h', + 'evas_xlib_swapper.h', + 'evas_xlib_image.h', + 'evas_xlib_dri_image.h' +]) + +#xcb is DEAD ... we only use xlib +config_h.set('BUILD_ENGINE_SOFTWARE_XLIB', '1') + +#ecore_x_deps carries all the extensions etc. so we dont have to search them twice +#it looks weird but is right, gl_deps is needed for evas_x_egl.c +engine_deps = [x11, ecore_x, ecore_x_deps, gl_deps] + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/wayland_egl/meson.build b/src/modules/evas/engines/wayland_egl/meson.build new file mode 100644 index 0000000000..7dc76cac37 --- /dev/null +++ b/src/modules/evas/engines/wayland_egl/meson.build @@ -0,0 +1,21 @@ +engine_src = files([ + 'evas_engine.c', + 'evas_engine.h', + 'evas_wl_main.c' +]) + +engine_deps = [ecore_wl2, dependency('wayland-egl'), gl_deps] + +engine_include_dir = include_directories(join_paths('..','wayland_common')) + + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/engines/wayland_shm/meson.build b/src/modules/evas/engines/wayland_shm/meson.build new file mode 100644 index 0000000000..5c1fe875a4 --- /dev/null +++ b/src/modules/evas/engines/wayland_shm/meson.build @@ -0,0 +1,20 @@ +engine_src = files([ + 'evas_engine.c', + 'evas_engine.h', + 'evas_outbuf.c' +]) + +engine_deps = [ecore_wl2] + +engine_include_dir = include_directories(join_paths('..','wayland_common')) + +if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine) + shared_module(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + install : true, + install_dir : mod_install_dir, + name_suffix : sys_mod_extension + ) + module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension) +endif diff --git a/src/modules/evas/image_loaders/meson.build b/src/modules/evas/image_loaders/meson.build new file mode 100644 index 0000000000..df0d8968ac --- /dev/null +++ b/src/modules/evas/image_loaders/meson.build @@ -0,0 +1,42 @@ +evas_image_loaders_file = [ + ['bmp', []], + ['eet', [eet]], + ['generic', [rt]], + ['gif', [giflib]], + ['ico', []], + ['jpeg', [jpeg]], + ['pmaps', []], + ['png', [png]], + ['psd', []], + ['tga', []], + ['tgv', [rg_etc, lz4]], + ['tiff', [tiff]], + ['wbmp', []], + ['webp', [webp]], + ['xpm', []], +] + +foreach loader_inst : evas_image_loaders_file + loader = loader_inst[0] + loader_deps = loader_inst[1] + + + if get_option('evas-loaders-disabler').contains(loader) == false + file = join_paths(loader, 'evas_image_load_'+loader+'.c') + + tmp = static_library('image_loader_'+loader, file, + include_directories : config_dir, + dependencies : [evas_pre] + loader_deps + ) + + evas_static_list += [declare_dependency( + sources: file, + dependencies: loader_deps, + )] + + config_h.set('EVAS_STATIC_BUILD_'+loader.to_upper(), '1') + config_h.set('BUILD_LOADER_'+loader.to_upper(), '1') + else + message('Image loader '+loader+' disabled') + endif +endforeach
\ No newline at end of file diff --git a/src/modules/evas/image_savers/meson.build b/src/modules/evas/image_savers/meson.build new file mode 100644 index 0000000000..81bdbd9f55 --- /dev/null +++ b/src/modules/evas/image_savers/meson.build @@ -0,0 +1,32 @@ + +evas_image_savers_file = [ +['eet', [eet]], +['jpeg', [jpeg]], +['png', [png]], +['tgv', [rg_etc, lz4]], +['tiff', [tiff]], +['webp', []] +] + +foreach loader_inst : evas_image_savers_file + loader = loader_inst[0] + loader_deps = loader_inst[1] + + if get_option('evas-loaders-disabler').contains(loader) == false + file = join_paths(loader, 'evas_image_save_'+loader+'.c') + + tmp = static_library('image_saver_'+loader, file, + include_directories : config_dir, + dependencies : [evas_pre] + loader_deps + ) + + evas_static_list += [declare_dependency( + sources: file, + dependencies: loader_deps, + )] + + config_h.set('EVAS_STATIC_BUILD_'+loader.to_upper(), '1') + else + message('Image saver '+loader+' disabled') + endif +endforeach diff --git a/src/modules/evas/meson.build b/src/modules/evas/meson.build new file mode 100644 index 0000000000..e97ff1b2a0 --- /dev/null +++ b/src/modules/evas/meson.build @@ -0,0 +1,97 @@ +engines = [ + ['buffer', []], + ['software_generic', []], + ['fb', ['fb']], + ['drm', ['drm']], + ['software_x11', ['x11']], + ['wayland_shm', ['wl']], +] + +if get_option('opengl') != 'none' + engines += [ + ['gl_common', []], + ['gl_generic', []], + ['gl_x11', ['x11']], + ['gl_drm', ['drm']], + ['gl_cocoa', ['cocoa']], + ] +endif + +if get_option('opengl') == 'es-egl' + engines += [['wayland_egl', ['wl']]] +endif + +#there are a few modules that should NEVER be build as a module but rather be build as static lib and linked in later +evas_force_static = ['software_generic', 'gl_common'] +evas_static_list = [] + +#fixed dependencies by efl +png = dependency('libpng') +tiff = dependency('libtiff-4') +giflib = cc.find_library('gif') + +webp = dependency('libwebp', required: get_option('evas-loaders-disabler').contains('webp') == false) + +subdir('image_loaders') +subdir('image_savers') +subdir('model_savers') +subdir('model_loaders') +subdir('vg_savers') +subdir('vg_loaders') + +foreach engine_conf : engines + engine = engine_conf[0] + build = true + if engine_conf[1].length() > 0 + build = get_option(engine_conf[1][0]) + endif + if build + engine_include_dir = [] + engine_src = [] + engine_deps = [] + engine_dep = declare_dependency( + include_directories: include_directories(join_paths('engines', engine)), + ) + + var_name = 'engine_'+engine + set_variable(var_name, engine_dep) + + mod_full_name = engine + mod_install_dir = join_paths(dir_package_modules, 'engines', engine, version_name) + + subdir(join_paths('engines', engine)) + + if get_option('evas-modules') == 'static' or evas_force_static.contains(engine) + tmp = static_library(mod_full_name, engine_src, + include_directories : config_dir + [engine_include_dir], + dependencies : [eina, evas_pre] + engine_deps, + ) + + if engine == 'gl_common' + #gl_common will only be used by gl_generic, NOT by libevas.so, so we work arround the static list + gl_common = declare_dependency( + include_directories : include_directories(join_paths('engines', 'gl_common')), + link_with: tmp, + ) + else + evas_static_list += declare_dependency( + include_directories: [include_directories('.')] + config_dir + [engine_include_dir], + link_with: tmp, + dependencies : [eina, evas_pre] + engine_deps, + sources : engine_src + ) + if engine == 'gl_generic' + #special case, see evas_module.c + config_h.set('EVAS_STATIC_BUILD_GL_COMMON', '1') + else + config_h.set('EVAS_STATIC_BUILD_'+engine.to_upper(), '1') + endif + endif + else + #nothing here shared building is handled directly on the engine configuration side + #reason for this is that the .so files have to be placed in the correct directory in order + # to make them discoverable by evas module code + endif + config_h.set('BUILD_ENGINE_'+engine.to_upper(), '1') + endif +endforeach diff --git a/src/modules/evas/model_loaders/meson.build b/src/modules/evas/model_loaders/meson.build new file mode 100644 index 0000000000..7aae3611cc --- /dev/null +++ b/src/modules/evas/model_loaders/meson.build @@ -0,0 +1,16 @@ +evas_model_loaders_file = ['eet', 'md2', 'obj', 'ply'] + +foreach loader : evas_model_loaders_file + file = join_paths(loader, 'evas_model_load_'+loader+'.c') + + tmp = static_library('model_loader_'+loader, file, + include_directories : config_dir, + dependencies : [evas_pre] + ) + + evas_static_list += [declare_dependency( + include_directories: include_directories('.'), + sources: file, + dependencies: evas_pre, + )] +endforeach diff --git a/src/modules/evas/model_savers/meson.build b/src/modules/evas/model_savers/meson.build new file mode 100644 index 0000000000..bb0dca2e3a --- /dev/null +++ b/src/modules/evas/model_savers/meson.build @@ -0,0 +1,16 @@ +evas_model_savers_file = ['eet', 'obj', 'ply'] + +foreach loader : evas_model_savers_file + file = join_paths(loader, 'evas_model_save_'+loader+'.c') + + tmp = static_library('model_saver_'+loader, file, + include_directories : config_dir, + dependencies : evas_pre + ) + + evas_static_list += [declare_dependency( + include_directories: include_directories('.'), + sources: file, + dependencies: evas_pre, + )] +endforeach diff --git a/src/modules/evas/vg_loaders/meson.build b/src/modules/evas/vg_loaders/meson.build new file mode 100644 index 0000000000..584501a825 --- /dev/null +++ b/src/modules/evas/vg_loaders/meson.build @@ -0,0 +1,13 @@ +evas_vg_loaders_file = ['eet', 'svg'] + +foreach loader : evas_vg_loaders_file + file = join_paths(loader, 'evas_vg_load_'+loader+'.c') + static_library('vg_loader_'+loader, file, + include_directories : config_dir, + dependencies : evas_pre + ) + evas_static_list += [declare_dependency( + sources: file, + )] + config_h.set('EVAS_STATIC_BUILD_VG_'+loader.to_upper(), '1') +endforeach diff --git a/src/modules/evas/vg_savers/meson.build b/src/modules/evas/vg_savers/meson.build new file mode 100644 index 0000000000..414a695c27 --- /dev/null +++ b/src/modules/evas/vg_savers/meson.build @@ -0,0 +1,14 @@ +evas_vg_savers_file = ['eet', 'svg'] + +foreach loader : evas_vg_savers_file + file = join_paths(loader, 'evas_vg_save_'+loader+'.c') + tmp = static_library('vg_saver_'+loader, file, + include_directories : config_dir, + dependencies: [eo, ector, emile, freetype, eet, evas_pre], + ) + evas_static_list += [declare_dependency( + sources: file, + dependencies: [eo, ector, emile, freetype, eet, evas_pre], + )] + config_h.set('EVAS_STATIC_BUILD_VG_'+loader.to_upper(), '1') +endforeach
\ No newline at end of file |