summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modules/evas/engines/meson.build72
-rw-r--r--src/modules/evas/meson.build79
2 files changed, 76 insertions, 75 deletions
diff --git a/src/modules/evas/engines/meson.build b/src/modules/evas/engines/meson.build
new file mode 100644
index 0000000000..6eb53e4c04
--- /dev/null
+++ b/src/modules/evas/engines/meson.build
@@ -0,0 +1,72 @@
1engines = [
2 ['buffer', []],
3 ['fb', ['fb']],
4 ['drm', ['drm']],
5 ['software_x11', ['x11']],
6 ['wayland_shm', ['wl']],
7]
8
9if get_option('opengl') != 'none'
10 engines += [
11 ['gl_generic', []],
12 ['gl_x11', ['x11']],
13 ['gl_drm', ['drm']],
14 ['gl_cocoa', ['cocoa']],
15 ]
16endif
17
18if get_option('opengl') == 'es-egl'
19 engines += [['wayland_egl', ['wl']]]
20endif
21
22
23foreach engine_conf : engines
24 engine = engine_conf[0]
25 build = true
26 if engine_conf[1].length() > 0
27 build = get_option(engine_conf[1][0])
28 endif
29 if build
30 engine_include_dir = []
31 engine_src = []
32 engine_deps = []
33 engine_dep = declare_dependency(
34 include_directories: include_directories(engine),
35 )
36
37 var_name = 'engine_'+engine
38 set_variable(var_name, engine_dep)
39
40 mod_full_name = engine
41 mod_install_dir = join_paths(dir_package_modules, 'engines', engine, version_name)
42
43 subdir(engine)
44
45 if get_option('evas-modules') == 'static'
46 tmp = static_library(mod_full_name, engine_src,
47 include_directories : config_dir + [engine_include_dir],
48 dependencies : [eina, evas_pre] + engine_deps,
49 )
50 evas_static_list += declare_dependency(
51 include_directories: [include_directories('.')] + config_dir + [engine_include_dir],
52 link_with: tmp,
53 dependencies : [eina, evas_pre] + engine_deps,
54 sources : engine_src
55 )
56 if engine == 'gl_generic'
57 #special case, see evas_module.c
58 config_h.set('EVAS_STATIC_BUILD_GL_COMMON', '1')
59 else
60 config_h.set('EVAS_STATIC_BUILD_'+engine.to_upper(), '1')
61 endif
62 else
63 #nothing here shared building is handled directly on the engine configuration side
64 #reason for this is that the .so files have to be placed in the correct directory in order
65 # to make them discoverable by evas module code
66 endif
67 config_h.set('BUILD_ENGINE_'+engine.to_upper(), '1')
68 endif
69endforeach
70
71config_h.set('EVAS_STATIC_BUILD_SOFTWARE_GENERIC', '1')
72config_h.set('BUILD_ENGINE_SOFTWARE_GENERIC', '1')
diff --git a/src/modules/evas/meson.build b/src/modules/evas/meson.build
index b4ec092082..25549122f2 100644
--- a/src/modules/evas/meson.build
+++ b/src/modules/evas/meson.build
@@ -1,27 +1,3 @@
1engines = [
2 ['buffer', []],
3 ['fb', ['fb']],
4 ['drm', ['drm']],
5 ['software_x11', ['x11']],
6 ['wayland_shm', ['wl']],
7]
8
9if get_option('opengl') != 'none'
10 engines += [
11 ['gl_generic', []],
12 ['gl_x11', ['x11']],
13 ['gl_drm', ['drm']],
14 ['gl_cocoa', ['cocoa']],
15 ]
16endif
17
18if get_option('opengl') == 'es-egl'
19 engines += [['wayland_egl', ['wl']]]
20endif
21
22#there are a few modules that should NEVER be build as a module but rather be build as static lib and linked in later
23evas_static_list = []
24
25#fixed dependencies by efl 1#fixed dependencies by efl
26png = dependency('libpng') 2png = dependency('libpng')
27tiff = dependency('libtiff-4') 3tiff = dependency('libtiff-4')
@@ -29,60 +5,13 @@ giflib = cc.find_library('gif')
29 5
30webp = dependency('libwebp', required: get_option('evas-loaders-disabler').contains('webp') == false) 6webp = dependency('libwebp', required: get_option('evas-loaders-disabler').contains('webp') == false)
31 7
8#there are a few modules that should NEVER be build as a module but rather be build as static lib and linked in later
9evas_static_list = []
10
32subdir('image_loaders') 11subdir('image_loaders')
33subdir('image_savers') 12subdir('image_savers')
34subdir('model_savers') 13subdir('model_savers')
35subdir('model_loaders') 14subdir('model_loaders')
36subdir('vg_savers') 15subdir('vg_savers')
37subdir('vg_loaders') 16subdir('vg_loaders')
38 17subdir('engines')
39foreach engine_conf : engines
40 engine = engine_conf[0]
41 build = true
42 if engine_conf[1].length() > 0
43 build = get_option(engine_conf[1][0])
44 endif
45 if build
46 engine_include_dir = []
47 engine_src = []
48 engine_deps = []
49 engine_dep = declare_dependency(
50 include_directories: include_directories(join_paths('engines', engine)),
51 )
52
53 var_name = 'engine_'+engine
54 set_variable(var_name, engine_dep)
55
56 mod_full_name = engine
57 mod_install_dir = join_paths(dir_package_modules, 'engines', engine, version_name)
58
59 subdir(join_paths('engines', engine))
60
61 if get_option('evas-modules') == 'static'
62 tmp = static_library(mod_full_name, engine_src,
63 include_directories : config_dir + [engine_include_dir],
64 dependencies : [eina, evas_pre] + engine_deps,
65 )
66 evas_static_list += declare_dependency(
67 include_directories: [include_directories('.')] + config_dir + [engine_include_dir],
68 link_with: tmp,
69 dependencies : [eina, evas_pre] + engine_deps,
70 sources : engine_src
71 )
72 if engine == 'gl_generic'
73 #special case, see evas_module.c
74 config_h.set('EVAS_STATIC_BUILD_GL_COMMON', '1')
75 else
76 config_h.set('EVAS_STATIC_BUILD_'+engine.to_upper(), '1')
77 endif
78 else
79 #nothing here shared building is handled directly on the engine configuration side
80 #reason for this is that the .so files have to be placed in the correct directory in order
81 # to make them discoverable by evas module code
82 endif
83 config_h.set('BUILD_ENGINE_'+engine.to_upper(), '1')
84 endif
85endforeach
86
87config_h.set('EVAS_STATIC_BUILD_SOFTWARE_GENERIC', '1')
88config_h.set('BUILD_ENGINE_SOFTWARE_GENERIC', '1')