summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines
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/evas/engines
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/evas/engines')
-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
15 files changed, 387 insertions, 0 deletions
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