summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2018-08-12 15:26:29 +0200
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2018-10-02 17:22:50 +0200
commit46d464e5bfc10398461a33a2256c1c58d509dd1a (patch)
tree8c1a9272c05f14033a4430bc122632461bd73608 /src/modules
parent70ecf1056bb4be5a68b63044f938ccc2fe0a58c0 (diff)
here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min.. 1 min. conf time 2:30 min. build time Where autotools takes: 1:50 min. conf time 3:40 min. build time. meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read. Further informations can be gathered from the README.meson Right now, bindings & windows support are missing. It is highly recommented to use meson 0.48 due to optimizations in meson that reduced the time the meson call would need. Co-authored-by: Mike Blumenkrantz <zmike@samsung.com> Differential Revision: https://phab.enlightenment.org/D7012 Depends on D7011
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/ecore/meson.build10
-rw-r--r--src/modules/ecore/system/systemd/meson.build9
-rw-r--r--src/modules/ecore/system/tizen/meson.build7
-rw-r--r--src/modules/ecore/system/upower/meson.build7
-rw-r--r--src/modules/ecore_buffer/meson.build25
-rw-r--r--src/modules/ecore_buffer/shm/meson.build5
-rw-r--r--src/modules/ecore_buffer/x11_dri2/meson.build5
-rw-r--r--src/modules/ecore_buffer/x11_dri3/meson.build7
-rw-r--r--src/modules/ecore_evas/engines/cocoa/meson.build16
-rw-r--r--src/modules/ecore_evas/engines/drm/meson.build21
-rw-r--r--src/modules/ecore_evas/engines/extn/meson.build10
-rw-r--r--src/modules/ecore_evas/engines/fb/meson.build11
-rw-r--r--src/modules/ecore_evas/engines/sdl/meson.build10
-rw-r--r--src/modules/ecore_evas/engines/wayland/meson.build26
-rw-r--r--src/modules/ecore_evas/engines/win32/meson.build9
-rw-r--r--src/modules/ecore_evas/engines/x/meson.build21
-rw-r--r--src/modules/ecore_evas/meson.build40
-rw-r--r--src/modules/ecore_evas/vnc_server/meson.build34
-rw-r--r--src/modules/ecore_imf/ibus/meson.build14
-rw-r--r--src/modules/ecore_imf/meson.build24
-rw-r--r--src/modules/ecore_imf/scim/meson.build14
-rw-r--r--src/modules/ecore_imf/wayland/meson.build13
-rw-r--r--src/modules/ecore_imf/xim/meson.build12
-rw-r--r--src/modules/ecore_wl2/engines/dmabuf/meson.build6
-rw-r--r--src/modules/ecore_wl2/meson.build9
-rw-r--r--src/modules/eeze/meson.build10
-rw-r--r--src/modules/eeze/sensor/fake/meson.build8
-rw-r--r--src/modules/eeze/sensor/tizen/meson.build8
-rw-r--r--src/modules/eeze/sensor/udev/meson.build8
-rw-r--r--src/modules/eina/meson.build9
-rw-r--r--src/modules/eina/mp/chained_pool/meson.build3
-rw-r--r--src/modules/eina/mp/one_big/meson.build3
-rw-r--r--src/modules/eina/mp/pass_through/meson.build3
-rw-r--r--src/modules/elementary/access_output/meson.build10
-rw-r--r--src/modules/elementary/clock_input_ctxpopup/meson.build10
-rw-r--r--src/modules/elementary/meson.build14
-rw-r--r--src/modules/elementary/prefs/meson.build24
-rw-r--r--src/modules/elementary/test_entry/meson.build10
-rw-r--r--src/modules/elementary/test_map/meson.build10
-rw-r--r--src/modules/elementary/web/meson.build1
-rw-r--r--src/modules/elementary/web/none/meson.build30
-rw-r--r--src/modules/emotion/generic/meson.build22
-rw-r--r--src/modules/emotion/gstreamer/meson.build18
-rw-r--r--src/modules/emotion/gstreamer1/meson.build25
-rw-r--r--src/modules/emotion/libvlc/meson.build14
-rw-r--r--src/modules/emotion/meson.build19
-rw-r--r--src/modules/emotion/xine/meson.build16
-rw-r--r--src/modules/ethumb/emotion/meson.build32
-rw-r--r--src/modules/ethumb/meson.build13
-rw-r--r--src/modules/evas/engines/buffer/meson.build25
-rw-r--r--src/modules/evas/engines/drm/meson.build19
-rw-r--r--src/modules/evas/engines/fb/meson.build21
-rw-r--r--src/modules/evas/engines/gl_cocoa/meson.build19
-rw-r--r--src/modules/evas/engines/gl_common/meson.build45
-rw-r--r--src/modules/evas/engines/gl_drm/meson.build19
-rw-r--r--src/modules/evas/engines/gl_generic/meson.build44
-rw-r--r--src/modules/evas/engines/gl_x11/meson.build19
-rw-r--r--src/modules/evas/engines/software_ddraw/meson.build21
-rw-r--r--src/modules/evas/engines/software_gdi/meson.build21
-rw-r--r--src/modules/evas/engines/software_generic/filters/meson.build13
-rw-r--r--src/modules/evas/engines/software_generic/meson.build40
-rw-r--r--src/modules/evas/engines/software_x11/meson.build40
-rw-r--r--src/modules/evas/engines/wayland_egl/meson.build21
-rw-r--r--src/modules/evas/engines/wayland_shm/meson.build20
-rw-r--r--src/modules/evas/image_loaders/meson.build42
-rw-r--r--src/modules/evas/image_savers/meson.build32
-rw-r--r--src/modules/evas/meson.build97
-rw-r--r--src/modules/evas/model_loaders/meson.build16
-rw-r--r--src/modules/evas/model_savers/meson.build16
-rw-r--r--src/modules/evas/vg_loaders/meson.build13
-rw-r--r--src/modules/evas/vg_savers/meson.build14
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 @@
1system_modules = [
2 'systemd',
3 'upower',
4 #'tizen',
5]
6
7foreach system_module : system_modules
8 mod_install_dir = join_paths(dir_lib, 'ecore', 'system', system_module, version_name)
9 subdir(join_paths('system', system_module))
10endforeach
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 @@
1if get_option('systemd')
2 ecore_systemd_mod = shared_module('systemd',
3 'ecore_system_systemd.c',
4 dependencies: [ecore, eldbus],
5 install: true,
6 install_dir: mod_install_dir,
7 )
8 module_files += join_paths(mod_install_dir, 'libsystemd.' + sys_mod_extension)
9endif
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 @@
1ecore_systemd_mod = shared_module('tizen',
2 'ecore_system_tizen.c',
3 dependencies: [ecore, eldbus],
4 install: true,
5 install_dir: mod_install_dir,
6)
7module_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 @@
1ecore_systemd_mod = shared_module('upower',
2 'ecore_system_upower.c',
3 dependencies: [ecore, eldbus],
4 install: true,
5 install_dir: mod_install_dir,
6)
7module_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 @@
1
2
3subdir('shm')
4
5#common dri packages
6libtbm = dependency('libtbm', required: false)
7libdrm = dependency('libdrm', required: false)
8
9if libtbm.found() == true and libdrm.found() == true
10 libdri2 = dependency('libdri2', required: false)
11 if libdri2.found()
12 subdir('x11_dri2')
13 endif
14endif
15
16if libtbm.found() == true and libdrm.found() == true
17 xshmfence = dependency('xshmfence', required: false)
18 xcb = dependency('xcb', required: false)
19 x11_xcb = dependency('x11_xcb', required: false)
20 xcb_sync = dependency('xcb_sync', required: false)
21 xcb_dri3 = dependency('xkb_dri3', required: false)
22 if xshmfence.found() == true and xcb.found() == true and x11_xcb.found() and xcb_sync.found() and xkb_dri3.found()
23 subdir('x11_dri3')
24 endif
25endif
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 @@
1ecore_buffer_shm_mod = shared_module('ecore_buffer_shm_mod',
2 'ecore_buffer_shm.c',
3 dependencies: [ecore, ecore_buffer],
4 install: true
5) \ 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 @@
1ecore_buffer_x11_dri2_mod = shared_module('ecore_buffer_x11_dri2_mod',
2 'ecore_buffer_x11_dri2.c',
3 dependencies: [ecore, ecore_buffer, ecore_x],
4 install: true
5) \ 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 @@
1if dependency('libtbm', required: false).found() == true and dependency('libdrm', required: false).found()
2 ecore_buffer_x11_dri3_mod = shared_module('ecore_buffer_x11_dri3_mod',
3 'ecore_buffer_x11_dri3.c',
4 dependencies: [ecore, ecore_buffer, ecore_x],
5 install: true
6 )
7endif \ 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 @@
1if get_option('opengl') != 'none'
2 config_h.set('BUILD_ECORE_EVAS_OPENGL_COCOA', '1')
3endif
4
5engine_src = files(['ecore_evas_cocoa.c'])
6engine_deps = [ecore_cocoa, ecore_input, ecore_input_evas, ecore]
7
8engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'gl_cocoa'))
9
10shared_module(mod_full_name, engine_src,
11 include_directories : config_dir + [engine_include_dir],
12 dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
13 install : true,
14 install_dir : mod_install_dir,
15 name_suffix : sys_mod_extension
16)
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 @@
1if get_option('opengl') != 'none'
2 config_h.set('BUILD_ECORE_EVAS_GL_DRM', '1')
3endif
4
5engine_src = files(['ecore_evas_drm.c'])
6engine_deps = [ecore_drm2, ecore_input, eeze, elput, libdrm, engine_drm]
7
8if get_option('opengl') != 'none'
9 config_h.set('BUILD_ECORE_EVAS_GL_DRM', '1')
10 engine_deps += [engine_gl_drm]
11endif
12
13engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'drm'))
14
15shared_module(mod_full_name, engine_src,
16 include_directories : config_dir + [engine_include_dir],
17 dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
18 install : true,
19 install_dir : mod_install_dir,
20 name_suffix : sys_mod_extension
21)
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 @@
1engine_src = files(['ecore_evas_extn.c', 'ecore_evas_extn_buf.c', 'ecore_evas_extn_engine.h'])
2engine_deps = [ecore_input, ecore_ipc]
3
4shared_module(mod_full_name, engine_src,
5 include_directories : config_dir + [engine_include_dir],
6 dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
7 install : true,
8 install_dir : mod_install_dir,
9 name_suffix : sys_mod_extension
10)
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 @@
1engine_src = files(['ecore_evas_fb.c'])
2engine_deps = [ecore_fb, ecore_input]
3engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'fb'))
4
5shared_module(mod_full_name, engine_src,
6 include_directories : config_dir + [engine_include_dir],
7 dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
8 install : true,
9 install_dir : mod_install_dir,
10 name_suffix : sys_mod_extension
11)
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 @@
1engine_src = files(['ecore_evas_sdl.c'])
2engine_deps = [ecore_sdl, ecore_input, ecore]
3
4shared_module(mod_full_name, engine_src,
5 include_directories : config_dir + [engine_include_dir],
6 dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
7 install : true,
8 install_dir : mod_install_dir,
9 name_suffix : sys_mod_extension
10)
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 @@
1if get_option('opengl') == 'es-egl'
2 config_h.set('BUILD_ECORE_EVAS_WAYLAND_EGL', '1')
3endif
4
5config_h.set('BUILD_ECORE_EVAS_WAYLAND_SHM', '1')
6
7engine_src = files([
8 'ecore_evas_wayland_egl.c',
9 'ecore_evas_wayland_common.c',
10 'ecore_evas_wayland_shm.c',
11 'ecore_evas_wayland_private.h'
12 ])
13
14engine_deps = [ecore_wl2, ecore_input]
15engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'wayland_common'))
16
17
18shared_module(mod_full_name, engine_src,
19 include_directories : config_dir + [engine_include_dir],
20 dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
21 install : true,
22 install_dir : mod_install_dir,
23 name_suffix : sys_mod_extension
24)
25
26ecore_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 @@
1engine_src = files(['ecore_evas_win32.c'])
2
3shared_module(mod_full_name, engine_src,
4 include_directories : config_dir + [engine_include_dir],
5 dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
6 install : true,
7 install_dir : mod_install_dir,
8 name_suffix : sys_mod_extension
9)
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 @@
1config_h.set('BUILD_ECORE_EVAS_X11', '1')
2config_h.set('BUILD_ECORE_EVAS_SOFTWARE_XLIB', '1')
3config_h.set('BUILD_ECORE_EVAS_SOFTWARE_X11', '1')
4
5engine_src = files(['ecore_evas_x.c'])
6engine_deps += [ecore_x, ecore_input]
7
8engine_deps += [engine_software_x11]
9
10if get_option('opengl') != 'none'
11 config_h.set('BUILD_ECORE_EVAS_OPENGL_X11', '1')
12 engine_deps += [engine_gl_x11]
13endif
14
15shared_module(mod_full_name, engine_src,
16 include_directories : config_dir + [engine_include_dir],
17 dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
18 install : true,
19 install_dir : mod_install_dir,
20 name_suffix : sys_mod_extension
21)
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 @@
1engines = [
2['cocoa', ['cocoa']],
3['drm', ['drm']],
4['extn', []],
5['fb', ['fb']],
6['sdl', ['sdl']],
7['wayland', ['wl']],
8#['win32', ['ecore_win32']],
9['x', ['x11']],
10]
11
12
13foreach engine_conf : engines
14 engine = engine_conf[0]
15 build = true
16 engine_deps = []
17
18 if engine_conf[1].length() > 0
19 build = get_option(engine_conf[1])
20 endif
21
22 if build
23 engine_include_dir = []
24 engine_src = []
25
26 config_h.set('BUILD_ECORE_EVAS_'+engine.to_upper(), '1')
27
28 mod_full_name = engine
29 mod_install_dir = join_paths(dir_lib, package_name, 'engines', engine, version_name)
30
31 subdir(join_paths('engines', engine))
32
33 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
34 endif
35endforeach
36
37
38if get_option('vnc-server')
39 subdir(join_paths('vnc_server'))
40endif
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 @@
1config_h.set('BUILD_ECORE_EVAS_VNC_SERVER', '1')
2
3engine_src = files([
4 'ecore_evas_vnc_server.c',
5 'ecore_evas_vnc_server_fb_keymap.c',
6 'ecore_evas_vnc_server_fb_keymap.h'
7])
8
9engine_deps = [ecore, ecore_input, ecore_evas, evas]
10engine_available = false
11
12if get_option('x11')
13 engine_deps += [ecore_x]
14 engine_available = true
15endif
16
17if get_option('fb')
18 engine_deps += [ecore_fb]
19 engine_available = true
20endif
21
22engine_include_dir += include_directories(join_paths('..', '..', '..', 'lib', 'ecore_fb'))
23
24if engine_available == false
25 error('at least x11 or fb needs to be build to build vnc')
26endif
27
28shared_module(mod_full_name, engine_src,
29 include_directories : config_dir + [engine_include_dir],
30 dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
31 install : true,
32 install_dir : mod_install_dir,
33 name_suffix : sys_mod_extension
34)
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 @@
1mod_src = files([
2 'ibus_module.c',
3 'ibus_imcontext.c',
4 'ibus_imcontext.h'
5])
6
7mod_deps = [ecore, ecore_imf, ecore_x, dependency('ibus-1.0'), dependency('glib-2.0'), ecore_evas]
8
9shared_module(mod_name,
10 mod_src,
11 dependencies: mod_deps,
12 install: true,
13 install_dir : mod_install_dir
14)
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 @@
1mods = []
2
3if get_option('x11')
4 mods +=['ibus', 'xim', 'scim']
5endif
6
7if get_option('wl')
8 mods += ['wayland']
9endif
10
11
12loader_disabler = get_option('ecore-imf-loaders-disabler')
13
14foreach mod_name : mods
15 mod_src = []
16 mod_deps = []
17
18 if loader_disabler.contains(mod_name) == false
19 mod_install_dir = join_paths(dir_package_modules, mod_name, version_name)
20 subdir(mod_name)
21 module_files += join_paths(mod_install_dir, 'lib'+mod_name+'.'+sys_mod_extension)
22 config_h.set('BUILD_ECORE_IMF_'+mod_name.to_upper(), '1')
23 endif
24endforeach
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 @@
1mod_src = files([
2 'scim_module.cpp',
3 'scim_imcontext.cpp',
4 'scim_imcontext.h'
5])
6mod_deps = [ecore, ecore_imf, ecore_x, dependency('scim-1.0'), dependency('glib-2.0')]
7
8
9shared_module(mod_name,
10 mod_src,
11 dependencies: mod_deps,
12 install: true,
13 install_dir : mod_install_dir
14)
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 @@
1mod_src = files([
2 'wayland_module.c',
3 'wayland_imcontext.c',
4 'wayland_imcontext.h'
5])
6mod_deps = [ecore, ecore_imf, ecore_wl2, wayland_protocol, ecore_evas, ecore_input]
7
8shared_module(mod_name,
9 mod_src,
10 dependencies: mod_deps,
11 install: true,
12 install_dir : mod_install_dir
13)
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 @@
1mod_src = files([
2 'ecore_imf_xim.c',
3])
4
5mod_deps = [ecore, ecore_imf, ecore_input, ecore_x, ecore_evas]
6
7shared_module(mod_name,
8 mod_src,
9 dependencies: mod_deps,
10 install: true,
11 install_dir : mod_install_dir
12)
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 @@
1shared_module('dmabuf',
2 'ecore_wl2_surface_module_dmabuf.c',
3 dependencies: [ecore_wl2, wayland_protocol],
4 install: true,
5 install_dir : mod_install_dir
6)
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 @@
1ecore_wl2_engines = [
2 'dmabuf'
3]
4
5foreach engine : ecore_wl2_engines
6 mod_install_dir = join_paths(dir_lib, 'ecore_wl2', 'engines', engine, version_name)
7 subdir(join_paths('engines', engine))
8 module_files += join_paths(mod_install_dir, 'lib'+engine+'.'+sys_mod_extension)
9endforeach
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 @@
1sensors = [
2['fake', [ecore]],
3#['tizen', []],
4['udev', [ecore]],
5]
6
7foreach sensor_conf : sensors
8 module_name = sensor_conf[0]
9 subdir(join_paths('sensor', module_name))
10endforeach
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 @@
1shared_module(module_name,
2 module_name+'.c',
3 dependencies: [eina, eeze, ecore],
4 install: true,
5 install_dir : join_paths(dir_package_modules, 'sensor', module_name, version_name),
6)
7
8module_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 @@
1shared_module(module_name,
2 module_name+'.c',
3 dependencies: [eina, eeze, ecore],
4 install: true,
5 install_dir : join_paths(dir_package_modules, 'sensor', module_name, version_name),
6)
7
8module_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 @@
1shared_module(module_name,
2 module_name+'.c',
3 dependencies: [eina, eeze, ecore],
4 install: true,
5 install_dir : join_paths(dir_package_modules, 'sensor', module_name, version_name),
6)
7
8module_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 @@
1eina_mp_sources = []
2
3subdir(join_paths('mp', 'chained_pool'))
4subdir(join_paths('mp', 'one_big'))
5subdir(join_paths('mp', 'pass_through'))
6
7eina_mem_pools = declare_dependency(
8 sources: eina_mp_sources
9)
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 @@
1config_h.set10('EINA_BUILD_CHAINED_POOL', true)
2config_h.set10('EINA_STATIC_BUILD_CHAINED_POOL', true)
3eina_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 @@
1config_h.set10('EINA_BUILD_ONE_BIG', true)
2config_h.set10('EINA_STATIC_BUILD_ONE_BIG', true)
3eina_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 @@
1config_h.set10('EINA_BUILD_PASS_THROUGH', true)
2config_h.set10('EINA_STATIC_BUILD_PASS_THROUGH', true)
3eina_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 @@
1src = files([
2 'mod.c',
3])
4
5shared_module(mod,
6 src,
7 dependencies: [elementary],
8 install: true,
9 install_dir : mod_install_dir
10)
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 @@
1src = files([
2 'clock_input_ctxpopup.c',
3])
4
5shared_module(mod,
6 src,
7 dependencies: [elementary],
8 install: true,
9 install_dir : mod_install_dir
10)
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 @@
1mods = [
2 'access_output',
3 'clock_input_ctxpopup',
4 'prefs',
5 'test_entry',
6 'test_map',
7 join_paths('web', 'none')
8]
9
10foreach mod : mods
11 mod_install_dir = join_paths(dir_lib, 'elementary', 'modules', mod, version_name)
12 subdir(mod)
13 module_files += join_paths(mod_install_dir, 'lib'+mod+'.'+sys_mod_extension)
14endforeach
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 @@
1src = files([
2 'private.h',
3 'prefs_iface.c',
4 'elm_button.c',
5 'elm_check.c',
6 'elm_datetime.c',
7 'elm_entry.c',
8 'elm_label.c',
9 'elm_separator.c',
10 'elm_slider.c',
11 'elm_spinner.c',
12 'elm_swallow.c',
13 'elm_vertical_box.c',
14 'elm_horizontal_box.c',
15 'elm_vertical_frame.c',
16 'elm_horizontal_frame.c'
17])
18
19shared_module(mod,
20 src,
21 dependencies: [elementary],
22 install: true,
23 install_dir : mod_install_dir
24)
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 @@
1src = files([
2 'mod.c',
3])
4
5shared_module(mod,
6 src,
7 dependencies: [elementary],
8 install: true,
9 install_dir : mod_install_dir
10)
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 @@
1src = files([
2 'mod.c',
3])
4
5shared_module(mod,
6 src,
7 dependencies: [elementary],
8 install: true,
9 install_dir : mod_install_dir
10)
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 @@
1pub_eo_files = [
2 'elm_web_none.eo'
3]
4
5
6foreach eo_file : pub_eo_files
7 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
8 input : eo_file,
9 output : [eo_file + '.h'],
10 install : true,
11 install_dir : dir_package_include,
12 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
13 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
14 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
15 '-gch', '@INPUT@'])
16endforeach
17
18
19src = files([
20 'elm_web_none.c'
21]) + pub_eo_file_target
22
23shared_module('none',
24 src,
25 dependencies: [elementary, elementary_deps],
26 install: true,
27 install_dir : mod_install_dir
28)
29
30mod = '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 @@
1generic_src = files([
2 'emotion_generic.c',
3 'emotion_generic.h',
4])
5
6emotion_generic = declare_dependency(
7 include_directories: include_directories('.'),
8 dependencies: emotion,
9)
10
11shared_module(emotion_loader,
12 generic_src,
13 include_directories : config_dir,
14 dependencies: [eina, evas, emotion, generic_deps],
15 install: true,
16 install_dir : mod_install_dir,
17 c_args : package_c_args,
18)
19
20install_headers('Emotion_Generic_Plugin.h',
21 install_dir : dir_package_include,
22)
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 @@
1generic_src = files([
2 'emotion_gstreamer.h',
3 'emotion_gstreamer.c',
4 'emotion_alloc.c',
5 'emotion_convert.c',
6 'emotion_sink.c'
7])
8
9generic_deps = [dependency('gstreamer-0.1')]
10
11shared_module(emotion_loader,
12 generic_src,
13 include_directories : config_dir,
14 dependencies: [eina, evas, emotion, generic_deps],
15 install: true,
16 install_dir : mod_install_dir,
17 c_args : package_c_args,
18)
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 @@
1generic_src = files([
2 'emotion_gstreamer.h',
3 'emotion_gstreamer.c',
4 'emotion_alloc.c',
5 'emotion_convert.c',
6 'emotion_sink.c'
7])
8
9generic_deps = [
10 dependency('gstreamer-1.0'),
11 dependency('gstreamer-plugins-base-1.0'),
12 dependency('gstreamer-video-1.0'),
13 dependency('gstreamer-audio-1.0'),
14 dependency('gstreamer-tag-1.0'),
15 dependency('gstreamer-pbutils-1.0'),
16 ]
17
18shared_module(emotion_loader,
19 generic_src,
20 include_directories : config_dir,
21 dependencies: [eina, evas, emotion, generic_deps],
22 install: true,
23 install_dir : mod_install_dir,
24 c_args : package_c_args,
25)
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 @@
1generic_src = files([
2 'emotion_libvlc.c',
3])
4
5generic_deps = [dependency('libvlc', version: '>= 3.0')]
6
7shared_module(emotion_loader,
8 generic_src,
9 include_directories : config_dir,
10 dependencies: [eina, evas, emotion, generic_deps],
11 install: true,
12 install_dir : mod_install_dir,
13 c_args : package_c_args,
14)
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 @@
1emotion_loaders = [
2'generic',
3'gstreamer',
4'gstreamer1',
5'libvlc',
6'xine'
7]
8
9foreach emotion_loader : emotion_loaders
10 generic_src = []
11 generic_deps = []
12 mod_install_dir = join_paths(dir_lib, 'emotion', 'modules', emotion_loader, version_name)
13
14 if get_option('emotion-loaders-disabler').contains(emotion_loader) == false
15 subdir(emotion_loader)
16 module_files += join_paths(mod_install_dir, 'lib'+emotion_loader+'.'+sys_mod_extension)
17 config_h.set('EMOTION_BUILD_'+emotion_loader.to_upper(), 1)
18 endif
19endforeach
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 @@
1generic_src = files([
2 'emotion_xine.h',
3 'emotion_xine.c',
4 'emotion_xine_vo_out.c',
5])
6
7generic_deps = dependency('libxine')
8
9shared_module(emotion_loader,
10 generic_src,
11 include_directories : config_dir,
12 dependencies: [eina, evas, emotion, generic_deps],
13 install: true,
14 install_dir : mod_install_dir,
15 c_args : package_c_args,
16)
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 @@
1themes = []
2
3edc_files = [
4 'template.edc'
5]
6
7foreach edc_file : edc_files
8 themes += custom_target('edje_cc_' + edc_file,
9 input : edc_file,
10 output : '@BASENAME@.edj',
11 command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', edje_cc.full_path(), '-beta',
12 '-id', meson.current_source_dir(),
13 '-fd', meson.current_source_dir(),
14 '-sd', meson.current_source_dir(),
15 '-vd', meson.current_source_dir(),
16 '-dd', meson.current_source_dir(),
17 '-md', meson.current_source_dir(),
18 '-td', meson.current_source_dir(),
19 '@INPUT@', '@OUTPUT@'],
20 depends : edje_cc)
21endforeach
22
23generic_src = [files(['emotion.c']) + themes]
24
25shared_module(emotion_loader+'_el',
26 generic_src,
27 include_directories : config_dir,
28 dependencies: [ethumb, edje, eina, eo, eet, ecore_file, ecore, evas, ecore_evas, emotion],
29 install: true,
30 install_dir : mod_install_dir,
31 c_args : package_c_args,
32)
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 @@
1emotion_loaders = [
2'emotion'
3]
4
5foreach emotion_loader : emotion_loaders
6 generic_src = []
7 generic_deps = []
8 mod_install_dir = join_paths(dir_lib, 'ethumb', 'modules', emotion_loader, version_name)
9
10 subdir(emotion_loader)
11
12 module_files += join_paths(mod_install_dir, 'lib'+emotion_loader+'_el.'+sys_mod_extension)
13endforeach
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 @@
1engine_src = files([
2 'Evas_Engine_Buffer.h',
3 'evas_engine.c',
4 'evas_engine.h',
5 'evas_outbuf.c'
6])
7
8engine_deps = []
9
10evas_include_directories += include_directories('.')
11
12install_headers('Evas_Engine_Buffer.h',
13 install_dir : dir_package_include,
14)
15
16if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
17 shared_module(mod_full_name, engine_src,
18 include_directories : config_dir + [engine_include_dir],
19 dependencies : [eina, evas_pre] + engine_deps,
20 install : true,
21 install_dir : mod_install_dir,
22 name_suffix : sys_mod_extension
23 )
24 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
25endif
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 @@
1engine_src = files([
2 'Evas_Engine_Drm.h',
3 'evas_engine.c',
4 'evas_engine.h',
5 'evas_outbuf.c'
6])
7
8engine_deps = [ecore_drm2, libdrm]
9
10if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
11 shared_module(mod_full_name, engine_src,
12 include_directories : config_dir + [engine_include_dir],
13 dependencies : [eina, evas_pre] + engine_deps,
14 install : true,
15 install_dir : mod_install_dir,
16 name_suffix : sys_mod_extension
17 )
18 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
19endif
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 @@
1engine_src = files([
2 'Evas_Engine_FB.h',
3 'evas_engine.c',
4 'evas_engine.h',
5 'evas_outbuf.c',
6 'evas_fb.h',
7 'evas_fb_main.c',
8])
9
10engine_deps = [ecore_fb]
11
12if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
13 shared_module(mod_full_name, engine_src,
14 include_directories : config_dir + [engine_include_dir],
15 dependencies : [eina, evas_pre] + engine_deps,
16 install : true,
17 install_dir : mod_install_dir,
18 name_suffix : sys_mod_extension
19 )
20 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
21endif
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 @@
1engine_src = files([
2 'Evas_Engine_GL_Cocoa.h',
3 'evas_engine.c',
4 'evas_engine.h',
5 'evas_outbuf.m',
6])
7
8engine_deps = [ecore_cocoa, gl_deps]
9
10if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
11 shared_module(mod_full_name, engine_src,
12 include_directories : config_dir + [engine_include_dir],
13 dependencies : [eina, evas_pre] + engine_deps,
14 install : true,
15 install_dir : mod_install_dir,
16 name_suffix : sys_mod_extension
17 )
18 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
19endif
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 @@
1engine_src = files([
2 'evas_gl_private.h',
3 'evas_gl_common.h',
4 'evas_gl_define.h',
5 'evas_gl_context.c',
6 'evas_gl_file_cache.c',
7 'evas_gl_shader.c',
8 'evas_gl_rectangle.c',
9 'evas_gl_texture.c',
10 'evas_gl_preload.c',
11 'evas_gl_image.c',
12 'evas_gl_font.c',
13 'evas_gl_polygon.c',
14 'evas_gl_line.c',
15 'evas_gl_core.c',
16 'evas_gl_api_ext.h',
17 'evas_gl_api_ext_def.h',
18 'evas_gl_core.h',
19 'evas_gl_core_private.h',
20 'evas_gl_api.c',
21 'evas_gl_api_def.h',
22 'evas_gl_api_gles1.c',
23 'evas_gl_api_gles3_def.h',
24 'evas_gl_api_ext.c',
25 'evas_gl_3d_common.h',
26 'evas_gl_3d_private.h',
27 'evas_gl_3d.c',
28 'evas_gl_3d_renderer.c',
29 'evas_gl_3d_shader.c',
30 #join_paths('shader_3d', 'evas_gl_3d_shaders.x'),
31 #join_paths('shader','evas_gl_shaders.x'),
32])
33
34engine_deps = [gl_deps]
35
36if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
37 shared_module(mod_full_name, engine_src,
38 include_directories : config_dir + [engine_include_dir],
39 dependencies : [eina, evas_pre] + engine_deps,
40 install : true,
41 install_dir : mod_install_dir,
42 name_suffix : sys_mod_extension
43 )
44 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
45endif
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 @@
1engine_src = files([
2 'Evas_Engine_GL_Drm.h',
3 'evas_engine.c',
4 'evas_engine.h',
5 'evas_outbuf.c',
6])
7
8engine_deps = [ecore_drm2, libdrm, gl_deps]
9
10if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
11 shared_module(mod_full_name, engine_src,
12 include_directories : config_dir + [engine_include_dir],
13 dependencies : [eina, evas_pre] + engine_deps,
14 install : true,
15 install_dir : mod_install_dir,
16 name_suffix : sys_mod_extension
17 )
18 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
19endif
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 @@
1engine_src = files([
2 'evas_engine.c',
3 'Evas_Engine_GL_Generic.h',
4 'Evas_Engine_GL_Shared.h',
5 'evas_ector_gl.h',
6 'evas_ector_gl_buffer.c',
7 'evas_ector_gl_image_buffer.c',
8 join_paths('filters','gl_engine_filter.h'),
9 join_paths('filters','gl_filter_blend.c'),
10 join_paths('filters','gl_filter_blur.c'),
11 join_paths('filters','gl_filter_curve.c'),
12 join_paths('filters','gl_filter_displace.c'),
13 join_paths('filters','gl_filter_fill.c'),
14 join_paths('filters','gl_filter_mask.c'),
15])
16
17
18pub_eo_files = [
19 'evas_ector_gl_buffer.eo',
20 'evas_ector_gl_image_buffer.eo'
21]
22
23foreach eo_file : pub_eo_files
24 engine_src += custom_target('eolian_gen_' + eo_file,
25 input : eo_file,
26 output : [eo_file + '.h'],
27 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
28 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
29 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
30 '-gch', '@INPUT@'])
31endforeach
32
33engine_deps = [gl_common]
34
35if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
36 shared_module(mod_full_name, engine_src,
37 include_directories : config_dir + [engine_include_dir],
38 dependencies : [eina, evas_pre] + engine_deps,
39 install : true,
40 install_dir : mod_install_dir,
41 name_suffix : sys_mod_extension
42 )
43 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
44endif
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 @@
1engine_src = files([
2 'Evas_Engine_GL_X11.h',
3 'evas_engine.c',
4 'evas_engine.h',
5 'evas_x_main.c',
6])
7
8engine_deps = [ecore_x_deps, gl_deps]
9
10if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
11 shared_module(mod_full_name, engine_src,
12 include_directories : config_dir + [engine_include_dir],
13 dependencies : [eina, evas_pre] + engine_deps,
14 install : true,
15 install_dir : mod_install_dir,
16 name_suffix : sys_mod_extension
17 )
18 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
19endif
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 @@
1engine_src = files([
2 'Evas_Engine_Software_DDraw.h',
3 'evas_engine.c',
4 'evas_engine.h',
5 'evas_outbuf.c',
6 'evas_ddraw_buffer.c',
7 'evas_ddraw_main.c',
8])
9
10engine_deps = []
11
12if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
13 shared_module(mod_full_name, engine_src,
14 include_directories : config_dir + [engine_include_dir],
15 dependencies : [eina, evas_pre] + engine_deps,
16 install : true,
17 install_dir : mod_install_dir,
18 name_suffix : sys_mod_extension
19 )
20 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
21endif
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 @@
1engine_src = files([
2 'Evas_Engine_Software_Gdi.h',
3 'evas_engine.c',
4 'evas_engine.h',
5 'evas_outbuf.c',
6 'evas_gdi_buffer.c',
7 'evas_gdi_main.c',
8])
9
10engine_deps = []
11
12if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
13 shared_module(mod_full_name, engine_src,
14 include_directories : config_dir + [engine_include_dir],
15 dependencies : [eina, evas_pre] + engine_deps,
16 install : true,
17 install_dir : mod_install_dir,
18 name_suffix : sys_mod_extension
19 )
20 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
21endif
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 @@
1engine_include_dir += include_directories('.')
2
3engine_src += files([
4 'evas_engine_filter.h',
5 'evas_filter_blend.c',
6 'evas_filter_blur.c',
7 'evas_filter_bump.c',
8 'evas_filter_curve.c',
9 'evas_filter_displace.c',
10 'evas_filter_fill.c',
11 'evas_filter_mask.c',
12 'evas_filter_transform.c',
13]) \ 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 @@
1engine_src = files([
2 'evas_engine.c',
3 'Evas_Engine_Software_Generic.h',
4 'Evas_Engine_Software_Shared.h',
5 'evas_native_tbm.c',
6 'evas_native_dmabuf.c',
7 'evas_ector_software_buffer.c',
8 'evas_native_common.h',
9 'evas_ector_software.h',
10])
11
12
13pub_eo_files = [
14 'evas_ector_software_buffer.eo'
15]
16
17subdir('filters')
18
19foreach eo_file : pub_eo_files
20 engine_src += custom_target('eolian_gen_' + eo_file,
21 input : eo_file,
22 output : [eo_file + '.h'],
23 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
24 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
25 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
26 '-gch', '@INPUT@'])
27endforeach
28
29engine_deps = [draw, dl]
30
31if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
32 shared_module(mod_full_name, engine_src,
33 include_directories : config_dir + [engine_include_dir],
34 dependencies : [eina, evas_pre] + engine_deps,
35 install : true,
36 install_dir : mod_install_dir,
37 name_suffix : sys_mod_extension
38 )
39 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
40endif
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 @@
1engine_src = files([
2 'evas_engine.c',
3 'evas_engine.h',
4 'evas_x_egl.c',
5 'evas_x_egl.h',
6 'Evas_Engine_Software_X11.h',
7 'evas_xlib_swapbuf.c',
8 'evas_xlib_outbuf.c',
9 'evas_xlib_buffer.c',
10 'evas_xlib_color.c',
11 'evas_xlib_main.c',
12 'evas_xlib_swapper.c',
13 'evas_xlib_image.c',
14 'evas_xlib_dri_image.c',
15 'evas_xlib_outbuf.h',
16 'evas_xlib_swapbuf.h',
17 'evas_xlib_buffer.h',
18 'evas_xlib_color.h',
19 'evas_xlib_swapper.h',
20 'evas_xlib_image.h',
21 'evas_xlib_dri_image.h'
22])
23
24#xcb is DEAD ... we only use xlib
25config_h.set('BUILD_ENGINE_SOFTWARE_XLIB', '1')
26
27#ecore_x_deps carries all the extensions etc. so we dont have to search them twice
28#it looks weird but is right, gl_deps is needed for evas_x_egl.c
29engine_deps = [x11, ecore_x, ecore_x_deps, gl_deps]
30
31if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
32 shared_module(mod_full_name, engine_src,
33 include_directories : config_dir + [engine_include_dir],
34 dependencies : [eina, evas_pre] + engine_deps,
35 install : true,
36 install_dir : mod_install_dir,
37 name_suffix : sys_mod_extension
38 )
39 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
40endif
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 @@
1engine_src = files([
2 'evas_engine.c',
3 'evas_engine.h',
4 'evas_wl_main.c'
5])
6
7engine_deps = [ecore_wl2, dependency('wayland-egl'), gl_deps]
8
9engine_include_dir = include_directories(join_paths('..','wayland_common'))
10
11
12if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
13 shared_module(mod_full_name, engine_src,
14 include_directories : config_dir + [engine_include_dir],
15 dependencies : [eina, evas_pre] + engine_deps,
16 install : true,
17 install_dir : mod_install_dir,
18 name_suffix : sys_mod_extension
19 )
20 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
21endif
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 @@
1engine_src = files([
2 'evas_engine.c',
3 'evas_engine.h',
4 'evas_outbuf.c'
5])
6
7engine_deps = [ecore_wl2]
8
9engine_include_dir = include_directories(join_paths('..','wayland_common'))
10
11if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
12 shared_module(mod_full_name, engine_src,
13 include_directories : config_dir + [engine_include_dir],
14 dependencies : [eina, evas_pre] + engine_deps,
15 install : true,
16 install_dir : mod_install_dir,
17 name_suffix : sys_mod_extension
18 )
19 module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
20endif
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 @@
1evas_image_loaders_file = [
2 ['bmp', []],
3 ['eet', [eet]],
4 ['generic', [rt]],
5 ['gif', [giflib]],
6 ['ico', []],
7 ['jpeg', [jpeg]],
8 ['pmaps', []],
9 ['png', [png]],
10 ['psd', []],
11 ['tga', []],
12 ['tgv', [rg_etc, lz4]],
13 ['tiff', [tiff]],
14 ['wbmp', []],
15 ['webp', [webp]],
16 ['xpm', []],
17]
18
19foreach loader_inst : evas_image_loaders_file
20 loader = loader_inst[0]
21 loader_deps = loader_inst[1]
22
23
24 if get_option('evas-loaders-disabler').contains(loader) == false
25 file = join_paths(loader, 'evas_image_load_'+loader+'.c')
26
27 tmp = static_library('image_loader_'+loader, file,
28 include_directories : config_dir,
29 dependencies : [evas_pre] + loader_deps
30 )
31
32 evas_static_list += [declare_dependency(
33 sources: file,
34 dependencies: loader_deps,
35 )]
36
37 config_h.set('EVAS_STATIC_BUILD_'+loader.to_upper(), '1')
38 config_h.set('BUILD_LOADER_'+loader.to_upper(), '1')
39 else
40 message('Image loader '+loader+' disabled')
41 endif
42endforeach \ 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 @@
1
2evas_image_savers_file = [
3['eet', [eet]],
4['jpeg', [jpeg]],
5['png', [png]],
6['tgv', [rg_etc, lz4]],
7['tiff', [tiff]],
8['webp', []]
9]
10
11foreach loader_inst : evas_image_savers_file
12 loader = loader_inst[0]
13 loader_deps = loader_inst[1]
14
15 if get_option('evas-loaders-disabler').contains(loader) == false
16 file = join_paths(loader, 'evas_image_save_'+loader+'.c')
17
18 tmp = static_library('image_saver_'+loader, file,
19 include_directories : config_dir,
20 dependencies : [evas_pre] + loader_deps
21 )
22
23 evas_static_list += [declare_dependency(
24 sources: file,
25 dependencies: loader_deps,
26 )]
27
28 config_h.set('EVAS_STATIC_BUILD_'+loader.to_upper(), '1')
29 else
30 message('Image saver '+loader+' disabled')
31 endif
32endforeach
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 @@
1engines = [
2 ['buffer', []],
3 ['software_generic', []],
4 ['fb', ['fb']],
5 ['drm', ['drm']],
6 ['software_x11', ['x11']],
7 ['wayland_shm', ['wl']],
8]
9
10if get_option('opengl') != 'none'
11 engines += [
12 ['gl_common', []],
13 ['gl_generic', []],
14 ['gl_x11', ['x11']],
15 ['gl_drm', ['drm']],
16 ['gl_cocoa', ['cocoa']],
17 ]
18endif
19
20if get_option('opengl') == 'es-egl'
21 engines += [['wayland_egl', ['wl']]]
22endif
23
24#there are a few modules that should NEVER be build as a module but rather be build as static lib and linked in later
25evas_force_static = ['software_generic', 'gl_common']
26evas_static_list = []
27
28#fixed dependencies by efl
29png = dependency('libpng')
30tiff = dependency('libtiff-4')
31giflib = cc.find_library('gif')
32
33webp = dependency('libwebp', required: get_option('evas-loaders-disabler').contains('webp') == false)
34
35subdir('image_loaders')
36subdir('image_savers')
37subdir('model_savers')
38subdir('model_loaders')
39subdir('vg_savers')
40subdir('vg_loaders')
41
42foreach engine_conf : engines
43 engine = engine_conf[0]
44 build = true
45 if engine_conf[1].length() > 0
46 build = get_option(engine_conf[1][0])
47 endif
48 if build
49 engine_include_dir = []
50 engine_src = []
51 engine_deps = []
52 engine_dep = declare_dependency(
53 include_directories: include_directories(join_paths('engines', engine)),
54 )
55
56 var_name = 'engine_'+engine
57 set_variable(var_name, engine_dep)
58
59 mod_full_name = engine
60 mod_install_dir = join_paths(dir_package_modules, 'engines', engine, version_name)
61
62 subdir(join_paths('engines', engine))
63
64 if get_option('evas-modules') == 'static' or evas_force_static.contains(engine)
65 tmp = static_library(mod_full_name, engine_src,
66 include_directories : config_dir + [engine_include_dir],
67 dependencies : [eina, evas_pre] + engine_deps,
68 )
69
70 if engine == 'gl_common'
71 #gl_common will only be used by gl_generic, NOT by libevas.so, so we work arround the static list
72 gl_common = declare_dependency(
73 include_directories : include_directories(join_paths('engines', 'gl_common')),
74 link_with: tmp,
75 )
76 else
77 evas_static_list += declare_dependency(
78 include_directories: [include_directories('.')] + config_dir + [engine_include_dir],
79 link_with: tmp,
80 dependencies : [eina, evas_pre] + engine_deps,
81 sources : engine_src
82 )
83 if engine == 'gl_generic'
84 #special case, see evas_module.c
85 config_h.set('EVAS_STATIC_BUILD_GL_COMMON', '1')
86 else
87 config_h.set('EVAS_STATIC_BUILD_'+engine.to_upper(), '1')
88 endif
89 endif
90 else
91 #nothing here shared building is handled directly on the engine configuration side
92 #reason for this is that the .so files have to be placed in the correct directory in order
93 # to make them discoverable by evas module code
94 endif
95 config_h.set('BUILD_ENGINE_'+engine.to_upper(), '1')
96 endif
97endforeach
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 @@
1evas_model_loaders_file = ['eet', 'md2', 'obj', 'ply']
2
3foreach loader : evas_model_loaders_file
4 file = join_paths(loader, 'evas_model_load_'+loader+'.c')
5
6 tmp = static_library('model_loader_'+loader, file,
7 include_directories : config_dir,
8 dependencies : [evas_pre]
9 )
10
11 evas_static_list += [declare_dependency(
12 include_directories: include_directories('.'),
13 sources: file,
14 dependencies: evas_pre,
15 )]
16endforeach
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 @@
1evas_model_savers_file = ['eet', 'obj', 'ply']
2
3foreach loader : evas_model_savers_file
4 file = join_paths(loader, 'evas_model_save_'+loader+'.c')
5
6 tmp = static_library('model_saver_'+loader, file,
7 include_directories : config_dir,
8 dependencies : evas_pre
9 )
10
11 evas_static_list += [declare_dependency(
12 include_directories: include_directories('.'),
13 sources: file,
14 dependencies: evas_pre,
15 )]
16endforeach
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 @@
1evas_vg_loaders_file = ['eet', 'svg']
2
3foreach loader : evas_vg_loaders_file
4 file = join_paths(loader, 'evas_vg_load_'+loader+'.c')
5 static_library('vg_loader_'+loader, file,
6 include_directories : config_dir,
7 dependencies : evas_pre
8 )
9 evas_static_list += [declare_dependency(
10 sources: file,
11 )]
12 config_h.set('EVAS_STATIC_BUILD_VG_'+loader.to_upper(), '1')
13endforeach
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 @@
1evas_vg_savers_file = ['eet', 'svg']
2
3foreach loader : evas_vg_savers_file
4 file = join_paths(loader, 'evas_vg_save_'+loader+'.c')
5 tmp = static_library('vg_saver_'+loader, file,
6 include_directories : config_dir,
7 dependencies: [eo, ector, emile, freetype, eet, evas_pre],
8 )
9 evas_static_list += [declare_dependency(
10 sources: file,
11 dependencies: [eo, ector, emile, freetype, eet, evas_pre],
12 )]
13 config_h.set('EVAS_STATIC_BUILD_VG_'+loader.to_upper(), '1')
14endforeach \ No newline at end of file