summaryrefslogtreecommitdiff
path: root/src/lib
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/lib
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/lib')
-rw-r--r--src/lib/ecore/meson.build222
-rw-r--r--src/lib/ecore_audio/meson.build92
-rw-r--r--src/lib/ecore_avahi/meson.build26
-rw-r--r--src/lib/ecore_buffer/meson.build37
-rw-r--r--src/lib/ecore_cocoa/meson.build48
-rw-r--r--src/lib/ecore_con/meson.build220
-rw-r--r--src/lib/ecore_drm/meson.build39
-rw-r--r--src/lib/ecore_drm2/meson.build34
-rw-r--r--src/lib/ecore_evas/meson.build47
-rw-r--r--src/lib/ecore_fb/meson.build34
-rw-r--r--src/lib/ecore_file/meson.build39
-rw-r--r--src/lib/ecore_imf/meson.build34
-rw-r--r--src/lib/ecore_imf_evas/meson.build30
-rw-r--r--src/lib/ecore_input/meson.build38
-rw-r--r--src/lib/ecore_input_evas/meson.build32
-rw-r--r--src/lib/ecore_ipc/meson.build30
-rw-r--r--src/lib/ecore_sdl/meson.build31
-rw-r--r--src/lib/ecore_wayland/meson.build42
-rw-r--r--src/lib/ecore_wl2/meson.build38
-rw-r--r--src/lib/ecore_x/meson.build142
-rw-r--r--src/lib/ector/cairo/meson.build34
-rw-r--r--src/lib/ector/gl/meson.build37
-rw-r--r--src/lib/ector/meson.build88
-rw-r--r--src/lib/ector/software/meson.build36
-rw-r--r--src/lib/edje/meson.build160
-rw-r--r--src/lib/eet/meson.build38
-rw-r--r--src/lib/eeze/meson.build101
-rw-r--r--src/lib/efl/interfaces/meson.build155
-rw-r--r--src/lib/efl/meson.build33
-rw-r--r--src/lib/efl_wl/meson.build32
-rw-r--r--src/lib/efreet/meson.build96
-rw-r--r--src/lib/eina/meson.build398
-rw-r--r--src/lib/eio/meson.build90
-rw-r--r--src/lib/eldbus/meson.build114
-rw-r--r--src/lib/elementary/meson.build951
-rw-r--r--src/lib/elocation/gen/meson.build5
-rw-r--r--src/lib/elocation/meson.build28
-rw-r--r--src/lib/elput/meson.build43
-rw-r--r--src/lib/elua/meson.build24
-rw-r--r--src/lib/embryo/meson.build40
-rw-r--r--src/lib/emile/meson.build42
-rw-r--r--src/lib/emotion/meson.build70
-rw-r--r--src/lib/eo/meson.build73
-rw-r--r--src/lib/eolian/meson.build55
-rw-r--r--src/lib/ephysics/meson.build41
-rw-r--r--src/lib/ethumb/meson.build32
-rw-r--r--src/lib/ethumb_client/meson.build34
-rw-r--r--src/lib/evas/cache/meson.build6
-rw-r--r--src/lib/evas/canvas/meson.build204
-rw-r--r--src/lib/evas/common/language/meson.build7
-rw-r--r--src/lib/evas/common/meson.build87
-rw-r--r--src/lib/evas/common3d/meson.build2
-rw-r--r--src/lib/evas/common3d/primitives/meson.build5
-rw-r--r--src/lib/evas/common3d/primitives/solids_of_revolution/meson.build6
-rw-r--r--src/lib/evas/common3d/primitives/surfaces/meson.build4
-rw-r--r--src/lib/evas/common3d/primitives/tabulated_primitives/meson.build4
-rw-r--r--src/lib/evas/common3d/save_load/meson.build6
-rw-r--r--src/lib/evas/file/meson.build6
-rw-r--r--src/lib/evas/filters/lua/meson.build3
-rw-r--r--src/lib/evas/filters/meson.build19
-rw-r--r--src/lib/evas/gesture/meson.build69
-rw-r--r--src/lib/evas/include/meson.build18
-rw-r--r--src/lib/evas/meson.build175
-rw-r--r--src/lib/evas/vg/meson.build1
-rw-r--r--src/lib/evas_goal/empty.c0
-rw-r--r--src/lib/evas_goal/meson.build29
66 files changed, 4756 insertions, 0 deletions
diff --git a/src/lib/ecore/meson.build b/src/lib/ecore/meson.build
new file mode 100644
index 0000000..f5872ff
--- /dev/null
+++ b/src/lib/ecore/meson.build
@@ -0,0 +1,222 @@
1ecore_deps = [intl]
2ecore_pub_deps = [eina, eo, efl]
3
4pub_legacy_eo_files = [
5 'ecore_exe.eo',
6 'ecore_event_message.eo',
7 'ecore_event_message_handler.eo',
8 'efl_loop_timer.eo'
9]
10
11pub_eo_file_target = []
12foreach eo_file : pub_legacy_eo_files
13 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
14 input : eo_file,
15 output : [eo_file + '.h', eo_file + '.legacy.h',],
16 install : true,
17 install_dir : dir_package_include,
18 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
19 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
20 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
21 '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
22 '-gchl', '@INPUT@'])
23
24endforeach
25
26pub_eo_files = [
27 'efl_app.eo',
28 'efl_loop.eo',
29 'efl_loop_consumer.eo',
30 'efl_loop_fd.eo',
31 'efl_loop_handler.eo',
32 'efl_loop_message.eo',
33 'efl_loop_message_handler.eo',
34 'efl_exe.eo',
35 'efl_thread.eo',
36 'efl_threadio.eo',
37 'efl_appthread.eo',
38 'efl_task.eo',
39 'efl_io_closer_fd.eo',
40 'efl_io_positioner_fd.eo',
41 'efl_io_reader_fd.eo',
42 'efl_io_sizer_fd.eo',
43 'efl_io_writer_fd.eo',
44 'efl_io_stdin.eo',
45 'efl_io_stdout.eo',
46 'efl_io_stderr.eo',
47 'efl_io_file.eo',
48 'efl_io_copier.eo',
49 'efl_io_buffered_stream.eo',
50 'efl_interpolator.eo',
51 'efl_interpolator_linear.eo',
52 'efl_interpolator_accelerate.eo',
53 'efl_interpolator_decelerate.eo',
54 'efl_interpolator_sinusoidal.eo',
55 'efl_interpolator_divisor.eo',
56 'efl_interpolator_bounce.eo',
57 'efl_interpolator_spring.eo',
58 'efl_interpolator_cubic_bezier.eo',
59 'efl_loop_message_future_handler.eo',
60 'efl_loop_message_future.eo',
61 'efl_model_item.eo',
62 'efl_model_container.eo',
63 'efl_model_container_item.eo',
64 'efl_model_composite_boolean.eo',
65 'efl_model_composite_boolean_children.eo',
66 'efl_model_composite_selection.eo',
67 'efl_model_composite_selection_children.eo',
68 'efl_model_composite.eo'
69]
70
71foreach eo_file : pub_eo_files
72 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
73 input : eo_file,
74 output : [eo_file + '.h'],
75 install : true,
76 install_dir : dir_package_include,
77 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
78 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
79 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
80 '-gch', '@INPUT@'])
81endforeach
82
83# special handling, because this is already eo API and legacy API
84pub_eo_files += ['efl_loop_timer.eo']
85
86pub_eo_types_files = []
87
88eolian_include_directories += ['-I', meson.current_source_dir()]
89
90ecore_header_src = [
91 'Ecore.h',
92 'Ecore_Common.h',
93 'Ecore_Legacy.h',
94 'Ecore_Eo.h',
95 'Efl_Core.h',
96 'efl_general.h',
97 'Ecore_Getopt.h'
98]
99
100ecore_src = [
101 'efl_app.c',
102 'ecore.c',
103 'ecore_alloc.c',
104 'ecore_anim.c',
105 'ecore_app.c',
106 'ecore_events.c',
107 'ecore_getopt.c',
108 'ecore_glib.c',
109 'ecore_idle_enterer.c',
110 'ecore_idle_exiter.c',
111 'ecore_idler.c',
112 'ecore_job.c',
113 'ecore_main.c',
114 'ecore_event_message.c',
115 'ecore_event_message_handler.c',
116 'efl_loop.c',
117 'efl_loop_consumer.c',
118 'efl_loop_fd.c',
119 'efl_loop_handler.c',
120 'efl_loop_message.c',
121 'efl_loop_message_future.c',
122 'efl_loop_message_handler.c',
123 'efl_loop_message_future_handler.c',
124 'efl_task.c',
125 'efl_io_closer_fd.c',
126 'efl_io_positioner_fd.c',
127 'efl_io_reader_fd.c',
128 'efl_io_sizer_fd.c',
129 'efl_io_writer_fd.c',
130 'efl_io_stdin.c',
131 'efl_io_stdout.c',
132 'efl_io_stderr.c',
133 'efl_io_file.c',
134 'efl_io_copier.c',
135 'efl_io_buffered_stream.c',
136 'efl_model_item.c',
137 'efl_model_container.c',
138 'efl_model_container_item.c',
139 'efl_model_container_private.h',
140 'efl_model_composite.c',
141 'efl_model_composite_boolean.c',
142 'efl_model_composite_selection.c',
143 'efl_model_accessor_view.c',
144 'efl_model_accessor_view_private.h',
145 'efl_interpolator.c',
146 'efl_interpolator_linear.c',
147 'efl_interpolator_accelerate.c',
148 'efl_interpolator_decelerate.c',
149 'efl_interpolator_sinusoidal.c',
150 'efl_interpolator_divisor.c',
151 'efl_interpolator_bounce.c',
152 'efl_interpolator_spring.c',
153 'efl_interpolator_cubic_bezier.c',
154 'ecore_main_timechanges.c',
155 'ecore_pipe.c',
156 'ecore_poller.c',
157 'ecore_time.c',
158 'ecore_timer.c',
159 'ecore_thread.c',
160 'ecore_throttle.c',
161 'ecore_exe.c',
162 'ecore_exe_private.h',
163 'ecore_private.h',
164 'ecore_internal.h',
165 'ecore_main_common.h'
166]
167
168if target_machine.system() == 'windows'
169 #nothing for now ... needs testing
170else
171 ecore_src += ['ecore_signal.c', 'ecore_exe_posix.c']
172endif
173
174if get_option('glib') == true
175 ecore_deps += dependency('glib-2.0')
176 ecore_deps += dependency('gthread-2.0')
177 config_h.set('GLIB_INTEGRATION_ALWAYS', '1')
178 config_h.set('HAVE_GLIB', '1')
179endif
180
181if get_option('g-mainloop') == true
182 config_h.set('USE_G_MAIN_LOOP', '1')
183endif
184
185if get_option('gstreamer') == true
186 gstreamer = dependency('gstreamer-1.0')
187 ecore_deps += gstreamer
188endif
189
190if get_option('systemd') == true
191 ecore_deps += systemd
192endif
193
194ecore_lib = library('ecore',
195 ecore_src, pub_eo_file_target,
196 dependencies: ecore_pub_deps + [m, buildsystem, ecore_deps],
197 include_directories : config_dir + [include_directories(join_paths('..','..'))],
198 install: true,
199 c_args : package_c_args,
200 version : meson.project_version()
201)
202
203ecore = declare_dependency(
204 include_directories: [include_directories('.')],
205 link_with: ecore_lib,
206 sources : pub_eo_file_target + priv_eo_file_target,
207 dependencies: ecore_pub_deps,
208)
209
210eolian_ecore_dir = join_paths(eolian_include_dir, package_version_name)
211
212install_data(pub_eo_files + pub_eo_types_files,
213 install_dir: eolian_ecore_dir
214)
215
216install_headers(ecore_header_src,
217 install_dir : dir_package_include,
218)
219
220#TODO:
221# HAVE_TIZEN_CONFIGUREATION_MANAGER
222# avahi
diff --git a/src/lib/ecore_audio/meson.build b/src/lib/ecore_audio/meson.build
new file mode 100644
index 0000000..099f845
--- /dev/null
+++ b/src/lib/ecore_audio/meson.build
@@ -0,0 +1,92 @@
1ecore_audio_deps = [ecore]
2ecore_audio_pub_deps = [eina, eo]
3
4pub_eo_files = [
5 'ecore_audio.eo',
6 'ecore_audio_in.eo',
7 'ecore_audio_out.eo',
8 'ecore_audio_in_sndfile.eo',
9 'ecore_audio_out_sndfile.eo',
10 'ecore_audio_out_pulse.eo',
11 'ecore_audio_in_tone.eo',
12 'ecore_audio_out_wasapi.eo'
13]
14
15foreach eo_file : pub_eo_files
16 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
17 input : eo_file,
18 output : [eo_file + '.h'],
19 install : true,
20 install_dir : dir_package_include,
21 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
22 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
23 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
24 '-gch', '@INPUT@'])
25endforeach
26
27pub_eo_types_files = []
28
29ecore_audio_header_src = [
30 'Ecore_Audio.h',
31 'ecore_audio_obj.h',
32 'ecore_audio_obj_in.h',
33 'ecore_audio_obj_out.h',
34 'ecore_audio_obj_in_tone.h',
35 'ecore_audio_protected.h',
36 'ecore_audio_obj_out_pulse.h',
37 'ecore_audio_obj_in_sndfile.h',
38 'ecore_audio_obj_out_sndfile.h',
39 'ecore_audio_obj_out_wasapi.h'
40]
41
42ecore_audio_src = [
43 'ecore_audio.c',
44 'ecore_audio_obj.c',
45 'ecore_audio_obj_in.c',
46 'ecore_audio_obj_out.c',
47 'ecore_audio_obj_in_tone.c',
48 'ecore_audio_private.h'
49]
50
51ecore_audio_src += [
52 'ecore_audio_obj_in_sndfile.c',
53 'ecore_audio_obj_out_sndfile.c',
54 'ecore_audio_sndfile_vio.c'
55]
56
57ecore_audio_deps += dependency('sndfile')
58config_h.set('HAVE_SNDFILE', '1')
59
60if get_option('pulseaudio')
61 ecore_audio_deps += dependency('libpulse')
62
63 ecore_audio_src += [
64 'ecore_audio_pulse_ml.c',
65 'ecore_audio_obj_out_pulse.c'
66 ]
67
68 config_h.set('HAVE_PULSE', '1')
69endif
70
71ecore_audio_lib = library('ecore_audio',
72 ecore_audio_src, pub_eo_file_target,
73 dependencies: ecore_audio_pub_deps + [m] + ecore_audio_deps,
74 include_directories : config_dir,
75 install: true,
76 version : meson.project_version()
77)
78
79ecore_audio = declare_dependency(
80 include_directories: [include_directories('.')],
81 link_with: ecore_audio_lib,
82 sources : pub_eo_file_target + priv_eo_file_target,
83 dependencies: ecore_audio_pub_deps,
84)
85
86install_data(pub_eo_files + pub_eo_types_files,
87 install_dir: eolian_ecore_dir
88)
89
90install_headers(ecore_audio_header_src,
91 install_dir : dir_package_include,
92)
diff --git a/src/lib/ecore_avahi/meson.build b/src/lib/ecore_avahi/meson.build
new file mode 100644
index 0000000..40e0378
--- /dev/null
+++ b/src/lib/ecore_avahi/meson.build
@@ -0,0 +1,26 @@
1ecore_avahi_deps = []
2ecore_avahi_pub_deps = [eina, ecore]
3
4ecore_avahi_src = ['ecore_avahi.c']
5ecore_avahi_header_src = ['Ecore_Avahi.h']
6
7ecore_avahi_deps += dependency('avahi-client')
8config_h.set('HAVE_AVAHI', '1')
9
10ecore_avahi_lib = library('ecore_avahi',
11 ecore_avahi_src,
12 dependencies: [m] + ecore_avahi_deps + ecore_avahi_pub_deps,
13 include_directories : config_dir + [include_directories(join_paths('..','..'))],
14 install: true,
15 version : meson.project_version()
16)
17
18ecore_avahi = declare_dependency(
19 include_directories: [include_directories('.')],
20 link_with: ecore_avahi_lib,
21 dependencies: ecore_avahi_pub_deps,
22)
23
24install_headers(ecore_avahi_header_src,
25 install_dir : dir_package_include,
26)
diff --git a/src/lib/ecore_buffer/meson.build b/src/lib/ecore_buffer/meson.build
new file mode 100644
index 0000000..4cf3fc6
--- /dev/null
+++ b/src/lib/ecore_buffer/meson.build
@@ -0,0 +1,37 @@
1ecore_buffer_deps = [dependency('wayland-client'), dependency('wayland-server'), ecore]
2ecore_buffer_pub_deps = [eina]
3
4ecore_buffer_header_src = [
5 'Ecore_Buffer.h',
6 'Ecore_Buffer_Queue.h'
7]
8
9ecore_buffer_src = [
10 'bq_mgr_protocol.c',
11 'buffer_queue.c',
12 'shared_buffer.c',
13 'ecore_buffer.c',
14 'ecore_buffer_queue_main.c',
15 'ecore_buffer_con.c',
16 'ecore_buffer_provider.c',
17 'ecore_buffer_consumer.c'
18]
19
20ecore_buffer_lib = library('ecore_buffer',
21 ecore_buffer_src, pub_eo_file_target,
22 dependencies: ecore_buffer_pub_deps + ecore_buffer_deps,
23 include_directories : config_dir,
24 install: true,
25 version : meson.project_version()
26)
27
28ecore_buffer = declare_dependency(
29 include_directories: [include_directories('.')],
30 link_with: ecore_buffer_lib,
31 sources : pub_eo_file_target + priv_eo_file_target,
32 dependencies: ecore_buffer_pub_deps,
33)
34
35install_headers(ecore_buffer_header_src,
36 install_dir : dir_package_include,
37)
diff --git a/src/lib/ecore_cocoa/meson.build b/src/lib/ecore_cocoa/meson.build
new file mode 100644
index 0000000..b7aca40
--- /dev/null
+++ b/src/lib/ecore_cocoa/meson.build
@@ -0,0 +1,48 @@
1ecore_cocoa_deps = [eina, ecore_input, ecore, emile, eet]
2ecore_cocoa_pub_deps = [eina]
3pub_eo_file_target = []
4
5ecore_cocoa_header_src = [
6 'Ecore_Cocoa.h'
7]
8
9ecore_cocoa_src = [
10 'ecore_cocoa.m',
11 'ecore_cocoa_keys.h',
12 'ecore_cocoa_window.h',
13 'ecore_cocoa_window.m',
14 'ecore_cocoa_cnp.m',
15 'ecore_cocoa_app.m',
16 'ecore_cocoa_app.h',
17 'ecore_cocoa_private.h'
18]
19
20evas_include_directories = [
21 include_directories(join_paths('..', 'evas')),
22 include_directories(join_paths('..', 'evas','canvas')),
23 include_directories(join_paths('..', 'evas','common')),
24 include_directories(join_paths('..', 'evas','common3d')),
25 include_directories(join_paths('..', 'evas','common3d', 'save_load')),
26 include_directories(join_paths('..', 'evas','include')),
27 include_directories(join_paths('..', 'evas','filters'))
28]
29
30ecore_cocoa_lib = library('ecore_cocoa',
31 ecore_cocoa_src, pub_eo_file_target,
32 dependencies: ecore_cocoa_deps + ecore_cocoa_pub_deps,
33 include_directories : config_dir + evas_include_directories,
34 link_args : ['-lobjc', '-framework', 'CoreFoundation', '-framework', 'cocoa', '-Wl,-U,_evas_textblock_text_markup_to_utf8'],
35 install: true,
36 version : meson.project_version()
37)
38
39ecore_cocoa = declare_dependency(
40 include_directories: [include_directories('.')],
41 link_with: ecore_cocoa_lib,
42 sources : pub_eo_file_target + priv_eo_file_target,
43 dependencies: ecore_cocoa_pub_deps,
44)
45
46install_headers(ecore_cocoa_header_src,
47 install_dir : dir_package_include,
48)
diff --git a/src/lib/ecore_con/meson.build b/src/lib/ecore_con/meson.build
new file mode 100644
index 0000000..f60e0a7
--- /dev/null
+++ b/src/lib/ecore_con/meson.build
@@ -0,0 +1,220 @@
1ecore_con_deps = []
2ecore_con_pub_deps = [eina, eo, efl, ecore]
3
4if target_machine.system() == 'windows' or target_machine.system() == 'cygwin'
5 ipv6 = cc.compiles('''
6 #include <ws2tcpip.h>
7 struct ipv6_mreq tmp;
8 ''')
9else
10 ipv6 = cc.compiles('''
11 #include <netinet/in.h>
12 struct ipv6_mreq tmp;
13 ''')
14endif
15
16if ipv6
17 config_h.set('HAVE_IPV6', 1)
18endif
19
20pub_legacy_eo_files = [
21 'ecore_con_eet_base.eo',
22 'ecore_con_eet_server_obj.eo',
23 'ecore_con_eet_client_obj.eo'
24]
25
26pub_eo_file_target = []
27foreach eo_file : pub_legacy_eo_files
28 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
29 input : eo_file,
30 output : [eo_file + '.h', eo_file + '.legacy.h',],
31 install : true,
32 install_dir : dir_package_include,
33 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
34 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
35 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
36 '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
37 '-gchl', '@INPUT@'])
38
39endforeach
40
41pub_eo_files = [
42 'efl_net_socket.eo',
43 'efl_net_socket_simple.eo',
44 'efl_net_socket_fd.eo',
45 'efl_net_socket_tcp.eo',
46 'efl_net_socket_udp.eo',
47 'efl_net_dialer.eo',
48 'efl_net_dialer_simple.eo',
49 'efl_net_dialer_tcp.eo',
50 'efl_net_dialer_udp.eo',
51 'efl_net_dialer_http.eo',
52 'efl_net_dialer_websocket.eo',
53 'efl_net_server.eo',
54 'efl_net_server_simple.eo',
55 'efl_net_server_fd.eo',
56 'efl_net_server_ip.eo',
57 'efl_net_server_tcp.eo',
58 'efl_net_server_udp.eo',
59 'efl_net_server_udp_client.eo',
60 'efl_net_socket_ssl.eo',
61 'efl_net_ssl_context.eo',
62 'efl_net_dialer_ssl.eo',
63 'efl_net_server_ssl.eo',
64 'efl_net_control_access_point.eo',
65 'efl_net_control_technology.eo',
66 'efl_net_control_manager.eo',
67 'efl_net_session.eo',
68 'efl_net_ip_address.eo',
69]
70
71if target_machine.system() == 'windows'
72pub_eo_files += [
73 'efl_net_socket_windows.eo',
74 'efl_net_dialer_windows.eo',
75 'efl_net_server_windows.eo'
76]
77else
78pub_eo_files += [
79 'efl_net_socket_unix.eo',
80 'efl_net_dialer_unix.eo',
81 'efl_net_server_unix.eo'
82]
83endif
84
85foreach eo_file : pub_eo_files
86 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
87 input : eo_file,
88 output : [eo_file + '.h', eo_file + '.legacy.h',],
89 install : true,
90 install_dir : dir_package_include,
91 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
92 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
93 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
94 '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
95 '-gch', '@INPUT@'])
96endforeach
97
98
99pub_eo_types_files = [
100 'efl_net_types.eot',
101 'efl_net_http_types.eot',
102 'efl_net_ssl_types.eot'
103]
104
105foreach eo_file : pub_eo_types_files
106 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
107 input : eo_file,
108 output : [eo_file + '.h'],
109 install : true,
110 install_dir : dir_package_include,
111 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
112 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
113 '-gh', '@INPUT@'])
114endforeach
115
116eolian_include_directories += ['-I', meson.current_source_dir()]
117
118ecore_con_header_src = [
119 'Ecore_Con.h',
120 'Efl_Net.h',
121 'Ecore_Con_Eet.h',
122 'Ecore_Con_Eet_Legacy.h',
123 'Ecore_Con_Eet_Eo.h'
124]
125
126ecore_con_src = [
127 'ecore_con_alloc.c',
128 'ecore_con.c',
129 'ecore_con_proxy_helper.c',
130 'ecore_con_legacy.c',
131 'ecore_con_eet.c',
132 'ecore_con_socks.c',
133 'ecore_con_url.c',
134 'ecore_con_url_curl.c',
135 'ecore_con_url_curl.h',
136 'ecore_con_private.h',
137 'efl_net_socket.c',
138 'efl_net_socket_simple.c',
139 'efl_net_socket_fd.c',
140 'efl_net_socket_tcp.c',
141 'efl_net_socket_udp.c',
142 'efl_net_dialer.c',
143 'efl_net_dialer_simple.c',
144 'efl_net_dialer_tcp.c',
145 'efl_net_dialer_udp.c',
146 'efl_net_dialer_http.c',
147 'efl_net_dialer_websocket.c',
148 'efl_net_server.c',
149 'efl_net_server_simple.c',
150 'efl_net_server_fd.c',
151 'efl_net_server_ip.c',
152 'efl_net_server_tcp.c',
153 'efl_net_server_udp.c',
154 'efl_net_server_udp_client.c',
155 'efl_net_socket_ssl.c',
156 'efl_net_ssl_context.c',
157 'efl_net_dialer_ssl.c',
158 'efl_net_server_ssl.c',
159 'ecore_con_local.c',
160 'efl_net_ip_address.c'
161]
162
163if target_machine.system() == 'windows'
164 ecore_con_src += [
165 'efl_net_socket_windows.c',
166 'efl_net_dialer_windows.c',
167 'efl_net_server_windows.c'
168 ]
169else
170 ecore_con_src += [
171 'efl_net_socket_unix.c',
172 'efl_net_dialer_unix.c',
173 'efl_net_server_unix.c'
174 ]
175endif
176
177if get_option('network-backend') == 'none'
178 ecore_con_src += [
179 'efl_net_control_access_point-none.c',
180 'efl_net_control_technology-none.c',
181 'efl_net_control-none.c',
182 'efl_net_session-none.c'
183 ]
184else
185 ecore_con_src += [
186 'efl_net-connman.h',
187 'efl_net-connman.c',
188 'efl_net_control_access_point-connman.c',
189 'efl_net_control_technology-connman.c',
190 'efl_net_control-connman.c',
191 'efl_net_session-connman.c'
192 ]
193 ecore_con_deps += eldbus
194endif
195
196ecore_con_deps += crypto
197
198ecore_con_lib = library('ecore_con',
199 ecore_con_src, pub_eo_file_target,
200 dependencies: [ecore, ecore_con_deps, http_parser, eldbus, eet, systemd, buildsystem, dl],
201 include_directories : config_dir,
202 install: true,
203 c_args : package_c_args,
204 version : meson.project_version()
205)
206
207ecore_con = declare_dependency(
208 include_directories: [include_directories('.')],
209 link_with: ecore_con_lib,
210 sources : pub_eo_file_target + priv_eo_file_target,
211 dependencies: ecore_con_pub_deps,
212)
213
214install_data(pub_eo_files + pub_eo_types_files + pub_legacy_eo_files,
215 install_dir: eolian_ecore_dir
216)
217
218install_headers(ecore_con_header_src,
219 install_dir : dir_package_include,
220)
diff --git a/src/lib/ecore_drm/meson.build b/src/lib/ecore_drm/meson.build
new file mode 100644
index 0000000..9bc62a7
--- /dev/null
+++ b/src/lib/ecore_drm/meson.build
@@ -0,0 +1,39 @@
1ecore_drm_deps = [eeze, eldbus, ecore_input, ecore, eo, efl, eina, m]
2ecore_drm_pub_deps = [dependency('libinput', version: '>= 1.6.0'), dependency('libdrm', version: '>= 2.4'), dependency('wayland-cursor', version: '>= 1.8.0 '), dependency('xkbcommon', version: '>= 0.3.0'), dependency('gbm')]
3
4ecore_drm_src = [
5 'ecore_drm_sprites.c',
6 'ecore_drm_fb.c',
7 'ecore_drm_evdev.c',
8 'ecore_drm_inputs.c',
9 'ecore_drm_output.c',
10 'ecore_drm_tty.c',
11 'ecore_drm_device.c',
12 'ecore_drm_launcher.c',
13 'ecore_drm_dbus.c',
14 'ecore_drm_logind.c',
15 'ecore_drm.c',
16 'ecore_drm_private.h'
17]
18ecore_drm_header_src = [
19 'Ecore_Drm.h'
20]
21
22
23ecore_drm_lib = library('ecore_drm',
24 ecore_drm_src,
25 dependencies: [m] + ecore_drm_deps + ecore_drm_pub_deps,
26 include_directories : config_dir + [include_directories(join_paths('..','..'))],
27 install: true,
28 c_args : package_c_args,
29)
30
31ecore_drm = declare_dependency(
32 include_directories: [include_directories('.')],
33 link_with: ecore_drm_lib,
34 dependencies: ecore_drm_pub_deps,
35)
36
37install_headers(ecore_drm_header_src,
38 install_dir : dir_package_include,
39)
diff --git a/src/lib/ecore_drm2/meson.build b/src/lib/ecore_drm2/meson.build
new file mode 100644
index 0000000..1a36fbb
--- /dev/null
+++ b/src/lib/ecore_drm2/meson.build
@@ -0,0 +1,34 @@
1ecore_drm2_deps = [eeze, elput, dl, libdrm]
2ecore_drm2_pub_deps = [ecore]
3
4ecore_drm2_header_src = [
5 'Ecore_Drm2.h'
6]
7
8ecore_drm2_src = [
9 'ecore_drm2_plane.c',
10 'ecore_drm2_fb.c',
11 'ecore_drm2_outputs.c',
12 'ecore_drm2_device.c',
13 'ecore_drm2.c',
14 'ecore_drm2_private.h'
15]
16
17ecore_drm2_lib = library('ecore_drm2',
18 ecore_drm2_src, pub_eo_file_target,
19 dependencies: ecore_drm2_pub_deps + ecore_drm2_deps,
20 include_directories : config_dir,
21 install: true,
22 version : meson.project_version()
23)
24
25ecore_drm2 = declare_dependency(
26 include_directories: [include_directories('.')],
27 link_with: ecore_drm2_lib,
28 sources : pub_eo_file_target + priv_eo_file_target,
29 dependencies: ecore_drm2_pub_deps,
30)
31
32install_headers(ecore_drm2_header_src,
33 install_dir : dir_package_include,
34)
diff --git a/src/lib/ecore_evas/meson.build b/src/lib/ecore_evas/meson.build
new file mode 100644
index 0000000..c0fb459
--- /dev/null
+++ b/src/lib/ecore_evas/meson.build
@@ -0,0 +1,47 @@
1ecore_evas_deps = [eina, ecore_input_evas, ecore_input, ecore, eet, evas, efl, eo, eina, emile]
2ecore_evas_pub_deps = [evas, ecore]
3pub_eo_file_target = []
4
5ecore_evas_header_src = [
6 'Ecore_Evas_Types.h',
7 'Ecore_Evas.h',
8
9]
10
11ecore_evas_src = [
12 'ecore_evas.c',
13 'ecore_evas_buffer.c',
14 'ecore_evas_buffer.h',
15 'ecore_evas_deprecated.c',
16 'ecore_evas_drm.h',
17 'ecore_evas_ews.c',
18 'ecore_evas_module.c',
19 'ecore_evas_private.h',
20 'ecore_evas_extn.h',
21 'ecore_evas_extn.c',
22 'ecore_evas_wayland.h',
23 'ecore_evas_cocoa.h',
24 'ecore_evas_win32.h',
25 'ecore_evas_x11.h',
26 'ecore_evas_util.c'
27]
28
29
30ecore_evas_lib = library('ecore_evas',
31 ecore_evas_src, pub_eo_file_target,
32 dependencies: [ecore_evas_deps, buildsystem],
33 include_directories : config_dir,
34 install: true,
35 version : meson.project_version()
36)
37
38ecore_evas = declare_dependency(
39 include_directories: [include_directories('.')],
40 link_with: ecore_evas_lib,
41 sources : pub_eo_file_target + priv_eo_file_target,
42 dependencies: [evas],
43)
44
45install_headers(ecore_evas_header_src,
46 install_dir : dir_package_include,
47)
diff --git a/src/lib/ecore_fb/meson.build b/src/lib/ecore_fb/meson.build
new file mode 100644
index 0000000..0bcf11e
--- /dev/null
+++ b/src/lib/ecore_fb/meson.build
@@ -0,0 +1,34 @@
1ecore_fb_deps = [ecore, ecore_input]
2ecore_fb_pub_deps = [eina]
3
4ecore_fb_header_src = [
5 'Ecore_Fb.h'
6]
7
8ecore_fb_src = [
9 'ecore_fb.c',
10 'ecore_fb_li.c',
11 'ecore_fb_ts.c',
12 'ecore_fb_vt.c',
13 'ecore_fb_keytable.h',
14 'ecore_fb_private.h'
15]
16
17ecore_fb_lib = library('ecore_fb',
18 ecore_fb_src, pub_eo_file_target,
19 dependencies: ecore_fb_pub_deps + ecore_fb_deps,
20 include_directories : config_dir,
21 install: true,
22 version : meson.project_version()
23)
24
25ecore_fb = declare_dependency(
26 include_directories: [include_directories('.')],
27 link_with: ecore_fb_lib,
28 sources : pub_eo_file_target + priv_eo_file_target,
29 dependencies: ecore_fb_pub_deps,
30)
31
32install_headers(ecore_fb_header_src,
33 install_dir : dir_package_include,
34)
diff --git a/src/lib/ecore_file/meson.build b/src/lib/ecore_file/meson.build
new file mode 100644
index 0000000..a3e70f8
--- /dev/null
+++ b/src/lib/ecore_file/meson.build
@@ -0,0 +1,39 @@
1ecore_file_deps = [ecore_con, ecore]
2ecore_file_pub_deps = [eina]
3
4ecore_file_src = [
5 'ecore_file.c',
6 'ecore_file_download.c',
7 'ecore_file_monitor.c',
8 'ecore_file_path.c',
9 'ecore_file_private.h'
10]
11
12if target_machine.system() == 'windows'
13 ecore_file_src += [ 'ecore_file_monitor_win32.c']
14elif cc.has_header('sys/inotify.h')
15 ecore_file_src += [ 'ecore_file_monitor_inotify.c']
16else
17 ecore_file_src += [ 'ecore_file_monitor_poll.c']
18endif
19
20ecore_file_header_src = ['Ecore_File.h']
21
22
23ecore_file_lib = library('ecore_file',
24 ecore_file_src,
25 dependencies: ecore_file_deps + ecore_file_pub_deps + ecore_file_deps,
26 include_directories : config_dir + [include_directories(join_paths('..','..'))],
27 install: true,
28 version : meson.project_version()
29)
30
31ecore_file = declare_dependency(
32 include_directories: [include_directories('.')],
33 link_with: ecore_file_lib,
34 dependencies: ecore_file_pub_deps,
35)
36
37install_headers(ecore_file_header_src,
38 install_dir : dir_package_include,
39)
diff --git a/src/lib/ecore_imf/meson.build b/src/lib/ecore_imf/meson.build
new file mode 100644
index 0000000..978594d
--- /dev/null
+++ b/src/lib/ecore_imf/meson.build
@@ -0,0 +1,34 @@
1ecore_imf_deps = [ecore]
2ecore_imf_pub_deps = [eina]
3
4ecore_imf_header_src = [
5 'Ecore_IMF.h'
6]
7
8ecore_imf_src = [
9 'ecore_imf.c',
10 'ecore_imf_context.c',
11 'ecore_imf_module.c',
12 'ecore_imf_private.h',
13]
14
15
16ecore_imf_lib = library('ecore_imf',
17 ecore_imf_src, pub_eo_file_target,
18 dependencies: [buildsystem, ecore_imf_deps, ecore_imf_pub_deps],
19 include_directories : config_dir,
20 c_args : package_c_args,
21 install: true,
22 version : meson.project_version()
23)
24
25ecore_imf = declare_dependency(
26 include_directories: [include_directories('.')],
27 link_with: ecore_imf_lib,
28 sources : pub_eo_file_target + priv_eo_file_target,
29 dependencies: ecore_imf_pub_deps,
30)
31
32install_headers(ecore_imf_header_src,
33 install_dir : dir_package_include,
34)
diff --git a/src/lib/ecore_imf_evas/meson.build b/src/lib/ecore_imf_evas/meson.build
new file mode 100644
index 0000000..28d53ea
--- /dev/null
+++ b/src/lib/ecore_imf_evas/meson.build
@@ -0,0 +1,30 @@
1ecore_imf_evas_header_src = [
2 'Ecore_IMF_Evas.h'
3]
4
5ecore_imf_evas_src = [
6 'ecore_imf_evas.c'
7]
8
9ecore_imf_evas_deps = [ecore_imf, evas]
10ecore_imf_evas_pub_deps = [eina, eo, efl]
11
12ecore_imf_evas_lib = library('ecore_imf_evas',
13 ecore_imf_evas_src,
14 dependencies: ecore_imf_evas_pub_deps + [m] + ecore_imf_evas_deps,
15 include_directories : config_dir + [include_directories('.')],
16 install: true,
17 c_args : package_c_args,
18 version : meson.project_version()
19)
20
21ecore_imf_evas = declare_dependency(
22 include_directories: [include_directories('.')],
23 link_with: ecore_imf_evas_lib,
24 sources : pub_eo_file_target + priv_eo_file_target,
25 dependencies: ecore_imf_evas_pub_deps,
26)
27
28install_headers(ecore_imf_evas_header_src,
29 install_dir : dir_package_include,
30)
diff --git a/src/lib/ecore_input/meson.build b/src/lib/ecore_input/meson.build
new file mode 100644
index 0000000..c57ec4e
--- /dev/null
+++ b/src/lib/ecore_input/meson.build
@@ -0,0 +1,38 @@
1ecore_input_deps = [ecore]
2ecore_input_pub_deps = [eina, eo]
3
4ecore_input_header_src = [
5 'Ecore_Input.h'
6]
7
8ecore_input_src = [
9 'ecore_input.c',
10 'ecore_input_compose.c',
11 'ecore_input_joystick.c',
12 'ecore_input_compose.h',
13 'ecore_input_private.h'
14]
15
16if get_option('eeze')
17 ecore_input_deps += eeze
18endif
19
20
21ecore_input_lib = library('ecore_input',
22 ecore_input_src, pub_eo_file_target,
23 dependencies: ecore_input_pub_deps + ecore_input_deps,
24 include_directories : config_dir,
25 install: true,
26 version : meson.project_version()
27)
28
29ecore_input = declare_dependency(
30 include_directories: [include_directories('.')],
31 link_with: ecore_input_lib,
32 sources : pub_eo_file_target + priv_eo_file_target,
33 dependencies: ecore_input_pub_deps,
34)
35
36install_headers(ecore_input_header_src,
37 install_dir : dir_package_include,
38)
diff --git a/src/lib/ecore_input_evas/meson.build b/src/lib/ecore_input_evas/meson.build
new file mode 100644
index 0000000..8b48142
--- /dev/null
+++ b/src/lib/ecore_input_evas/meson.build
@@ -0,0 +1,32 @@
1ecore_input_evas_deps = [ecore, ecore_input, evas]
2ecore_input_evas_pub_deps = [eina, evas]
3pub_eo_file_target = []
4
5ecore_input_evas_header_src = [
6 'Ecore_Input_Evas.h'
7]
8
9ecore_input_evas_src = [
10 'ecore_input_evas.c',
11 'ecore_input_evas_private.h',
12]
13
14
15ecore_input_evas_lib = library('ecore_input_evas',
16 ecore_input_evas_src, pub_eo_file_target,
17 dependencies: ecore_input_evas_pub_deps + ecore_input_evas_deps,
18 include_directories : config_dir,
19 install: true,
20 version : meson.project_version()
21)
22
23ecore_input_evas = declare_dependency(
24 include_directories: [include_directories('.')],
25 link_with: ecore_input_evas_lib,
26 sources : pub_eo_file_target + priv_eo_file_target,
27 dependencies: ecore_input_evas_pub_deps,
28)
29
30install_headers(ecore_input_evas_header_src,
31 install_dir : dir_package_include,
32)
diff --git a/src/lib/ecore_ipc/meson.build b/src/lib/ecore_ipc/meson.build
new file mode 100644
index 0000000..dbc95b0
--- /dev/null
+++ b/src/lib/ecore_ipc/meson.build
@@ -0,0 +1,30 @@
1ecore_ipc_deps = [ecore, ecore_con]
2ecore_ipc_pub_deps = [eina]
3
4ecore_ipc_header_src = [
5 'Ecore_Ipc.h'
6]
7
8ecore_ipc_src = [
9 'ecore_ipc.c',
10 'ecore_ipc_private.h',
11]
12
13ecore_ipc_lib = library('ecore_ipc',
14 ecore_ipc_src, pub_eo_file_target,
15 dependencies: ecore_ipc_deps + ecore_ipc_pub_deps,
16 include_directories : config_dir,
17 install: true,
18 version : meson.project_version()
19)
20
21ecore_ipc = declare_dependency(
22 include_directories: [include_directories('.')],
23 link_with: ecore_ipc_lib,
24 sources : pub_eo_file_target + priv_eo_file_target,
25 dependencies: ecore_ipc_pub_deps,
26)
27
28install_headers(ecore_ipc_header_src,
29 install_dir : dir_package_include,
30)
diff --git a/src/lib/ecore_sdl/meson.build b/src/lib/ecore_sdl/meson.build
new file mode 100644
index 0000000..01ef398
--- /dev/null
+++ b/src/lib/ecore_sdl/meson.build
@@ -0,0 +1,31 @@
1ecore_sdl_deps = [eina, ecore, ecore_input]
2ecore_sdl_pub_deps = []
3
4ecore_sdl_src = [
5 'ecore_sdl.c'
6]
7
8ecore_sdl_header_src = [
9 'Ecore_Sdl.h',
10 'Ecore_Sdl_Keys.h'
11]
12
13ecore_sdl_deps += dependency('sdl')
14
15ecore_sdl_lib = library('ecore_sdl',
16 ecore_sdl_src,
17 dependencies: [m] + ecore_sdl_deps + ecore_sdl_pub_deps,
18 include_directories : config_dir + [include_directories(join_paths('..','..'))],
19 install: true,
20 c_args : package_c_args,
21)
22
23ecore_sdl = declare_dependency(
24 include_directories: [include_directories('.')],
25 link_with: ecore_sdl_lib,
26 dependencies: ecore_sdl_pub_deps,
27)
28
29install_headers(ecore_sdl_header_src,
30 install_dir : dir_package_include,
31)
diff --git a/src/lib/ecore_wayland/meson.build b/src/lib/ecore_wayland/meson.build
new file mode 100644
index 0000000..4a24fb6
--- /dev/null
+++ b/src/lib/ecore_wayland/meson.build
@@ -0,0 +1,42 @@
1ecore_wayland_deps = [ecore_input, ecore, eo, efl, eina]
2ecore_wayland_pub_deps = [dependency('wayland-client', version: '>= 1.8.0'), dependency('wayland-cursor', version: '>= 1.8.0 '), dependency('xkbcommon', version: '>= 0.5.0'), dependency('uuid')]
3
4ecore_wayland_src = [
5 'ecore_wl.c',
6 'ecore_wl_dnd.c',
7 'ecore_wl_input.c',
8 'ecore_wl_output.c',
9 'ecore_wl_window.c',
10 'ecore_wl_subsurf.c',
11 'ecore_wl_private.h',
12 'subsurface-protocol.c',
13 'subsurface-client-protocol.h',
14 'ivi-application-protocol.c',
15 'ivi-application-client-protocol.h',
16 'xdg-shell-client-protocol.h',
17 'xdg-shell-protocol.c',
18 'session-recovery-client-protocol.h',
19 'session-recovery-protocol.c'
20]
21ecore_wayland_header_src = [
22 'Ecore_Wayland.h'
23]
24
25
26ecore_wayland_lib = library('ecore_wayland',
27 ecore_wayland_src,
28 dependencies: [m] + ecore_wayland_deps + ecore_wayland_pub_deps,
29 include_directories : config_dir + [include_directories(join_paths('..','..'))],
30 install: true,
31 c_args : package_c_args,
32)
33
34ecore_wayland = declare_dependency(
35 include_directories: [include_directories('.')],
36 link_with: ecore_wayland_lib,
37 dependencies: ecore_wayland_pub_deps,
38)
39
40install_headers(ecore_wayland_header_src,
41 install_dir : dir_package_include,
42)
diff --git a/src/lib/ecore_wl2/meson.build b/src/lib/ecore_wl2/meson.build
new file mode 100644
index 0000000..c1527ae
--- /dev/null
+++ b/src/lib/ecore_wl2/meson.build
@@ -0,0 +1,38 @@
1ecore_wl2_deps = [dependency('wayland-client'), dependency('wayland-server'), dependency('xkbcommon'), wayland_protocol, dependency('wayland-client')]
2ecore_wl2_pub_deps = [eina, ecore, wayland_protocol]
3
4ecore_wl2_header_src = [
5 'Ecore_Wl2.h'
6]
7
8ecore_wl2_src = [
9 'ecore_wl2_subsurf.c',
10 'ecore_wl2_dnd.c',
11 'ecore_wl2_window.c',
12 'ecore_wl2_input.c',
13 'ecore_wl2_output.c',
14 'ecore_wl2_display.c',
15 'ecore_wl2.c',
16 'ecore_wl2_private.h',
17 'ecore_wl2_buffer.c',
18 'ecore_wl2_surface.c'
19]
20
21ecore_wl2_lib = library('ecore_wl2',
22 ecore_wl2_src, pub_eo_file_target,
23 dependencies: ecore_wl2_pub_deps + [dl, m, ecore, ecore_input, ecore_wl2_deps, libdrm],
24 include_directories : config_dir,
25 install: true,
26 version : meson.project_version()
27)
28
29ecore_wl2 = declare_dependency(
30 include_directories: [include_directories('.')],
31 link_with: ecore_wl2_lib,
32 sources : pub_eo_file_target + priv_eo_file_target,
33 dependencies: ecore_wl2_pub_deps,
34)
35
36install_headers(ecore_wl2_header_src,
37 install_dir : dir_package_include,
38)
diff --git a/src/lib/ecore_x/meson.build b/src/lib/ecore_x/meson.build
new file mode 100644
index 0000000..9c1f00d
--- /dev/null
+++ b/src/lib/ecore_x/meson.build
@@ -0,0 +1,142 @@
1ecore_x_deps = [ecore, dl, m, ecore_input]
2ecore_x_pub_deps = [eina, efl]
3
4ecore_x_header_src = [
5 'Ecore_X.h',
6 'Ecore_X_Atoms.h',
7 'Ecore_X_Cursor.h'
8]
9
10ecore_x_src = [
11 'ecore_x_atoms_decl.h',
12 'ecore_x.c',
13 'ecore_x_dnd.c',
14 'ecore_x_sync.c',
15 'ecore_x_randr.c',
16 'ecore_x_fixes.c',
17 'ecore_x_damage.c',
18 'ecore_x_composite.c',
19 'ecore_x_error.c',
20 'ecore_x_events.c',
21 'ecore_x_icccm.c',
22 'ecore_x_keygrab.c',
23 'ecore_x_netwm.c',
24 'ecore_x_mwm.c',
25 'ecore_x_e.c',
26 'ecore_x_selection.c',
27 'ecore_x_window.c',
28 'ecore_x_window_prop.c',
29 'ecore_x_window_shape.c',
30 'ecore_x_pixmap.c',
31 'ecore_x_present.c',
32 'ecore_x_gc.c',
33 'ecore_x_xinerama.c',
34 'ecore_x_screensaver.c',
35 'ecore_x_dpms.c',
36 'ecore_x_drawable.c',
37 'ecore_x_cursor.c',
38 'ecore_x_test.c',
39 'ecore_x_atoms.c',
40 'ecore_x_region.c',
41 'ecore_x_image.c',
42 'ecore_x_xi2.c',
43 'ecore_x_vsync.c',
44 'ecore_x_gesture.c',
45 'ecore_x_private.h'
46]
47
48ecore_x_checks = [
49 ['Xcomposite', 'Xcomposite.h', 'Xcomposite', 'XCompositeQueryExtension'],
50 ['Xdamage', 'Xdamage.h', 'Xdamage', 'XDamageSubtract'],
51 ['Xdpms', 'dpms.h', 'Xext', 'DPMSQueryExtension'],
52 ['Xfixes', 'Xfixes.h', 'Xfixes', 'XFixesExpandRegion'],
53 ['Xinerama', 'Xinerama.h', 'Xinerama', 'XineramaQueryScreens'],
54 ['Xrandr', 'Xrandr.h', 'Xrandr', 'XRRGetScreenResourcesCurrent'],
55 ['Xrender', 'Xrender.h', 'Xrender', 'XRenderFindVisualFormat'],
56 ['Xtest', 'XTest.h', 'Xtst', 'XTestFakeKeyEvent'],
57 ['Xss', 'scrnsaver.h', 'Xss', 'XScreenSaverSelectInput'],
58]
59
60if get_option('xpresent')
61 ecore_x_checks += [['Xpresent', 'Xpresent.h', 'Xpresent', 'XPresentQueryExtension']]
62endif
63
64if get_option('xgesture')
65 ecore_x_checks += [['Xgesture', 'gesture.h', 'Xgesture', 'XGestureQueryExtension']]
66endif
67
68if get_option('xinput2')
69 ecore_x_checks += [['Xi2', 'XInput2.h', 'Xi', 'XIQueryDevice']]
70endif
71
72if get_option('xinput22')
73 ecore_x_checks += [['Xi2_2', 'XInput2.h', 'Xi','XIGrabTouchBegin']]
74endif
75
76x11 = dependency('x11', required: false)
77if x11.found() == false
78 x11 = cc.find_library('x11', required: true)
79endif
80
81xcb = dependency('xcb', required: false)
82if xcb.found() == false
83 xcb = cc.find_library('xcb', required: true)
84endif
85
86x11_xcb = dependency('x11-xcb', required: false)
87if x11_xcb.found() == false
88 x11_xcb = cc.find_library('x11-xcb', required: true)
89endif
90
91foreach ecore_x_check : ecore_x_checks
92 x_lib = cc.find_library(ecore_x_check[2],
93 required: false
94 )
95
96 if cc.compiles('''
97#include <X11/Xlib.h>
98#include <X11/extensions/'''+ecore_x_check[1]+'''>
99int main () {
100 #ifndef '''+ecore_x_check[3]+'''
101 '''+ecore_x_check[3]+''';
102 #endif
103}
104 ''',
105 dependencies : [x_lib, x11]
106 ) == true
107 config_h.set('ECORE_'+ecore_x_check[0].to_upper(), '1')
108 else
109 error('extension '+ecore_x_check[0]+' not found for X11')
110 endif
111 ecore_x_deps += x_lib
112endforeach
113
114ecore_x_deps += x11
115ecore_x_deps += xcb
116ecore_x_deps += x11_xcb
117
118
119# there are a few special cases
120cc.has_header_symbol('X11/XKBlib.h', 'XkbSetDetectableAutoRepeat',
121 dependencies : [x11, xcb]
122)
123config_h.set('ECORE_XKB', '1')
124
125ecore_x_lib = library('ecore_x',
126 ecore_x_src, pub_eo_file_target,
127 dependencies: ecore_x_pub_deps + ecore_x_deps,
128 include_directories : config_dir,
129 install: true,
130 version : meson.project_version()
131)
132
133ecore_x = declare_dependency(
134 include_directories: [include_directories('.')],
135 link_with: ecore_x_lib,
136 sources : pub_eo_file_target + priv_eo_file_target,
137 dependencies: ecore_x_pub_deps,
138)
139
140install_headers(ecore_x_header_src,
141 install_dir : dir_package_include,
142)
diff --git a/src/lib/ector/cairo/meson.build b/src/lib/ector/cairo/meson.build
new file mode 100644
index 0000000..2b45ce2
--- /dev/null
+++ b/src/lib/ector/cairo/meson.build
@@ -0,0 +1,34 @@
1
2ector_src += files([
3 'ector_renderer_cairo_gradient_linear.c',
4 'ector_renderer_cairo_gradient_radial.c',
5 'ector_renderer_cairo_shape.c',
6 'ector_renderer_cairo.c',
7 'ector_cairo_software_surface.c',
8 'ector_cairo_surface.c'
9])
10
11pub_eo_files = [
12 'ector_cairo_surface.eo',
13 'ector_cairo_software_surface.eo',
14 'ector_renderer_cairo.eo',
15 'ector_renderer_cairo_shape.eo',
16 'ector_renderer_cairo_gradient_linear.eo',
17 'ector_renderer_cairo_gradient_radial.eo'
18]
19
20foreach eo_file : pub_eo_files
21 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
22 input : eo_file,
23 output : [eo_file + '.h'],
24 install : false,
25 install_dir : dir_package_include,
26 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
27 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
28 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
29 '-gch', '@INPUT@'])
30endforeach
31
32install_data(pub_eo_files,
33 install_dir: join_paths(eolian_include_dir, package_version_name)
34)
diff --git a/src/lib/ector/gl/meson.build b/src/lib/ector/gl/meson.build
new file mode 100644
index 0000000..dad958c
--- /dev/null
+++ b/src/lib/ector/gl/meson.build
@@ -0,0 +1,37 @@
1
2ector_src += files([
3 'ector_renderer_gl_gradient_linear.c',
4 'ector_renderer_gl_gradient_radial.c',
5 'ector_renderer_gl_shape.c',
6 'ector_renderer_gl.c',
7 'ector_gl_buffer.c',
8 'ector_gl_surface.c',
9 'ector_gl_private.h',
10 #'shader/ector_gl_shaders.x',
11 'ector_gl_shader.c'
12])
13
14pub_eo_files = [
15 'ector_gl_surface.eo',
16 'ector_gl_buffer.eo',
17 'ector_renderer_gl.eo',
18 'ector_renderer_gl_shape.eo',
19 'ector_renderer_gl_gradient_radial.eo',
20 'ector_renderer_gl_gradient_linear.eo'
21]
22
23foreach eo_file : pub_eo_files
24 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
25 input : eo_file,
26 output : [eo_file + '.h'],
27 install : false,
28 install_dir : dir_package_include,
29 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
30 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
31 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
32 '-gch', '@INPUT@'])
33endforeach
34
35install_data(pub_eo_files,
36 install_dir: join_paths(eolian_include_dir, package_version_name)
37)
diff --git a/src/lib/ector/meson.build b/src/lib/ector/meson.build
new file mode 100644
index 0000000..be3c6a5
--- /dev/null
+++ b/src/lib/ector/meson.build
@@ -0,0 +1,88 @@
1ector_deps = [eina, emile, eet, eo, efl]
2ector_pub_deps = [eina, efl]
3
4pub_eo_file_target = []
5
6ector_header_src = [
7 # nothing for now ector stays only intree
8]
9
10ector_src = [
11 'ector_main.c',
12 'ector_gl_internal.h',
13 'ector_buffer.c',
14 'ector_renderer_shape.c',
15 'ector_renderer.c',
16 'ector_renderer_gradient.c',
17 'ector_renderer_gradient_radial.c',
18 'ector_renderer_gradient_linear.c'
19]
20
21pub_eo_files = [
22 'ector_surface.eo',
23 'ector_buffer.eo',
24 'ector_renderer.eo',
25 'ector_renderer_shape.eo',
26 'ector_renderer_gradient.eo',
27 'ector_renderer_gradient_radial.eo',
28 'ector_renderer_gradient_linear.eo'
29]
30
31ector_pub_eo_files = pub_eo_files
32
33foreach eo_file : pub_eo_files
34 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
35 input : eo_file,
36 output : [eo_file + '.h'],
37 install : false,
38 install_dir : dir_package_include,
39 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
40 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
41 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
42 '-gch', '@INPUT@'])
43endforeach
44
45eolian_include_directories += ['-I', meson.current_source_dir()]
46
47subdir('cairo')
48subdir('gl')
49subdir('software')
50
51pub_eo_types_files = [
52 'ector_types.eot'
53]
54
55install_data(ector_pub_eo_files + pub_eo_types_files,
56 install_dir: join_paths(eolian_include_dir, package_version_name)
57)
58
59foreach eo_file : pub_eo_types_files
60 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
61 input : eo_file,
62 output : [eo_file + '.h'],
63 install : false,
64 install_dir : dir_package_include,
65 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
66 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
67 '-gh', '@INPUT@'])
68endforeach
69
70ector_lib = library('ector',
71 ector_src, pub_eo_file_target,
72 dependencies: ector_pub_deps + [triangulator, freetype, draw, m] + ector_deps,
73 include_directories : config_dir,
74 install: true,
75 version : meson.project_version()
76)
77
78ector = declare_dependency(
79 include_directories: [include_directories('.')],
80 link_with: ector_lib,
81 sources : pub_eo_file_target + priv_eo_file_target,
82 dependencies: ector_pub_deps,
83)
84
85install_headers(ector_header_src,
86 install_dir : dir_package_include,
87)
88
diff --git a/src/lib/ector/software/meson.build b/src/lib/ector/software/meson.build
new file mode 100644
index 0000000..ceb08ef
--- /dev/null
+++ b/src/lib/ector/software/meson.build
@@ -0,0 +1,36 @@
1
2ector_src += files([
3 'ector_renderer_software_gradient_linear.c',
4 'ector_renderer_software_gradient_radial.c',
5 'ector_renderer_software_shape.c',
6 'ector_software_gradient.c',
7 'ector_software_rasterizer.c',
8 'ector_software_surface.c',
9 'ector_software_buffer.c',
10])
11
12pub_eo_files = [
13 'ector_software_surface.eo',
14 'ector_software_buffer.eo',
15 'ector_software_buffer_base.eo',
16 'ector_renderer_software.eo',
17 'ector_renderer_software_shape.eo',
18 'ector_renderer_software_gradient_radial.eo',
19 'ector_renderer_software_gradient_linear.eo',
20]
21
22foreach eo_file : pub_eo_files
23 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
24 input : eo_file,
25 output : [eo_file + '.h'],
26 install : false,
27 install_dir : dir_package_include,
28 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
29 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
30 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
31 '-gch', '@INPUT@'])
32endforeach
33
34install_data(pub_eo_files,
35 install_dir: join_paths(eolian_include_dir, package_version_name)
36)
diff --git a/src/lib/edje/meson.build b/src/lib/edje/meson.build
new file mode 100644
index 0000000..bcfcd9b
--- /dev/null
+++ b/src/lib/edje/meson.build
@@ -0,0 +1,160 @@
1edje_deps = [
2 eina, eo, efl, m,
3 luajit, eet, evas, ecore_evas,
4 ecore_file, ecore_input,
5 ecore_imf, ecore_imf_evas,
6 embryo, efreet, eio, intl
7]
8
9
10edje_pub_deps = [m, evas, eo, efl, luajit]
11
12if (get_option('physics'))
13 edje_deps += ephysics
14 edje_pub_deps += ephysics
15endif
16
17config_h.set('EDJE_CALC_CACHE', '1')
18
19if get_option('edje-sound-and-video')
20 config_h.set('ENABLE_MULTISENSE', '1')
21 edje_deps += ecore_audio
22endif
23
24pub_legacy_eo_files = [
25 'edje_edit.eo',
26 'efl_layout_calc.eo',
27 'efl_layout_signal.eo',
28 'efl_layout_group.eo',
29 'efl_canvas_layout.eo',
30 'efl_canvas_layout_part.eo',
31 'efl_canvas_layout_part_box.eo',
32 'efl_canvas_layout_part_external.eo',
33 'efl_canvas_layout_part_invalid.eo',
34 'efl_canvas_layout_part_swallow.eo',
35 'efl_canvas_layout_part_table.eo',
36 'efl_canvas_layout_part_text.eo',
37]
38
39pub_eo_files = pub_legacy_eo_files
40pub_eo_file_target = []
41
42foreach eo_file : pub_legacy_eo_files
43 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
44 input : eo_file,
45 output : [eo_file + '.h', eo_file + '.legacy.h',],
46 install : true,
47 install_dir : dir_package_include,
48 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
49 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
50 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
51 '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
52 '-gchl', '@INPUT@'])
53
54endforeach
55
56pub_eo_types_files = [
57 'edje_types.eot'
58]
59
60foreach eo_file : pub_eo_types_files
61 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
62 input : eo_file,
63 output : [eo_file + '.h'],
64 install : true,
65 install_dir : dir_package_include,
66 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
67 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
68 '-gh', '@INPUT@'])
69endforeach
70
71priv_eo_files = [
72 'edje_global.eo',
73]
74
75priv_eo_file_target = []
76foreach eo_file : priv_eo_files
77 priv_eo_file_target += custom_target('eolian_gen_' + eo_file,
78 input : eo_file,
79 output : [eo_file + '.h'],
80 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
81 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
82 '-gch', '@INPUT@'])
83endforeach
84
85
86eolian_include_directories += ['-I', meson.current_source_dir()]
87
88edje_header_src = [
89 'Edje.h',
90 'Edje_Common.h',
91 'Edje_Eo.h',
92 'Edje_Legacy.h',
93 'Edje_Edit.h'
94]
95
96edje_src = [
97 'edje_private.h',
98 'edje_convert.h',
99 'edje_box_layout.c',
100 'edje_cache.c',
101 'edje_calc.c',
102 'edje_callbacks.c',
103 'edje_data.c',
104 'edje_edit.c',
105 'edje_embryo.c',
106 'edje_entry.c',
107 'edje_external.c',
108 'edje_load.c',
109 'edje_lua.c',
110 'edje_lua2.c',
111 'edje_lua_script_only.c',
112 'edje_main.c',
113 'edje_match.c',
114 'edje_message_queue.c',
115 'edje_misc.c',
116 'edje_module.c',
117 'edje_multisense.c',
118 'edje_program.c',
119 'edje_smart.c',
120 'edje_text.c',
121 'edje_textblock.c',
122 'edje_textblock_styles.c',
123 'edje_util.c',
124 'edje_legacy.c',
125 'edje_var.c',
126 'edje_signal.c',
127 'edje_part.c',
128 'edje_part_helper.h',
129 'edje_part_external.c',
130 'edje_part_swallow.c',
131 'edje_part_table.c',
132 'edje_part_box.c',
133 'edje_part_text.c',
134 'edje_part_invalid.c'
135
136]
137
138edje_lib = library('edje',
139 edje_src, pub_eo_file_target, priv_eo_file_target,
140 dependencies: [edje_deps],
141 include_directories : config_dir + [include_directories('.')],
142 install: true,
143 c_args : [package_c_args],
144 version : meson.project_version()
145)
146
147edje = declare_dependency(
148 include_directories: [include_directories('.')],
149 link_with: edje_lib,
150 sources : pub_eo_file_target + priv_eo_file_target,
151 dependencies: edje_pub_deps,
152)
153
154install_data(pub_eo_files + pub_eo_types_files,
155 install_dir: join_paths(eolian_include_dir, package_version_name)
156)
157
158install_headers(edje_header_src,
159 install_dir : dir_package_include,
160)
diff --git a/src/lib/eet/meson.build b/src/lib/eet/meson.build
new file mode 100644
index 0000000..8ebdb48
--- /dev/null
+++ b/src/lib/eet/meson.build
@@ -0,0 +1,38 @@
1eet_deps = [crypto, jpeg, rg_etc, m]
2eet_pub_deps = [eina, emile, efl]
3
4eet_header_src = [
5 'Eet.h'
6]
7
8eet_src = [
9 'Eet_private.h',
10 'eet_alloc.c',
11 'eet_cipher.c',
12 'eet_connection.c',
13 'eet_data.c',
14 'eet_dictionary.c',
15 'eet_image.c',
16 'eet_lib.c',
17 'eet_node.c',
18 'eet_utils.c',
19]
20
21eet_lib = library('eet',
22 eet_src, pub_eo_file_target,
23 dependencies: eet_deps + eet_pub_deps,
24 include_directories : config_dir,
25 install: true,
26 version : meson.project_version()
27)
28
29eet = declare_dependency(
30 include_directories: [include_directories('.')],
31 link_with: eet_lib,
32 sources : pub_eo_file_target + priv_eo_file_target,
33 dependencies: eet_pub_deps,
34)
35
36install_headers(eet_header_src,
37 install_dir : dir_package_include,
38)
diff --git a/src/lib/eeze/meson.build b/src/lib/eeze/meson.build
new file mode 100644
index 0000000..c32eee9
--- /dev/null
+++ b/src/lib/eeze/meson.build
@@ -0,0 +1,101 @@
1eeze_deps = []
2eeze_pub_deps = [eina, efl]
3pub_eo_file_target = []
4
5eeze_header_src = [
6 'Eeze.h',
7 'Eeze_Net.h',
8 'Eeze_Sensor.h',
9 'Eeze_Disk.h',
10 join_paths('..','..','bin','eeze','eeze_scanner','eeze_scanner.h')
11]
12
13eeze_src = [
14 'eeze_main.c',
15 'eeze_net.c',
16 'eeze_net_private.h',
17 'eeze_sensor.c',
18 'eeze_sensor_private.h',
19 'eeze_udev_find.c',
20 'eeze_udev_private.c',
21 'eeze_udev_private.h',
22 'eeze_udev_syspath.c',
23 'eeze_udev_walk.c',
24 'eeze_udev_watch.c',
25 'eeze_disk.c',
26 'eeze_disk_udev.c',
27 'eeze_disk_mount.c',
28 'eeze_disk_private.h'
29]
30
31if get_option('v4l2')
32 config_h.set('HAVE_V4L2', '1')
33 if cc.has_header('linux/videodev2.h') == false
34 error('v4l2 headers not found')
35 endif
36endif
37
38if (get_option('libmount'))
39 libmount = dependency('mount')
40 eeze_deps += [libmount]
41 if libmount.version() == '2.19'
42 eeze_src += 'eeze_disk_libmount.c'
43 elif libmount.version() < '2.19'
44 eeze_src += 'eeze_disk_libmount_old.c'
45 elif libmount.version() > '2.19'
46 eeze_src += 'eeze_disk_libmount_new.c'
47 endif
48 config_h.set('HAVE_EEZE_MOUNT', '1')
49else
50 eeze_src += 'eeze_disk_dummy.c'
51endif
52
53options_to_check = ['eject', 'mount', 'unmount']
54
55eeze_deps += dependency('libudev',
56 version: ['>=148']
57)
58
59foreach option : options_to_check
60 val = get_option(option+'-path')
61 if val == 'detect'
62 # i dont know why we call this unmount when the bin is called umount
63 if option == 'unmount'
64 _option = 'umount'
65 else
66 _option = option
67 endif
68 prog = find_program(_option, required: false)
69 if prog.found()
70 set_variable(option+'_bin', prog.path())
71 else
72 set_variable(option+'_bin', '')
73 endif
74 else
75 set_variable(option+'_bin', val)
76 endif
77endforeach
78
79config_h.set_quoted('EEZE_EJECT_BIN', eject_bin)
80config_h.set_quoted('EEZE_MOUNT_BIN', mount_bin)
81config_h.set_quoted('EEZE_UNMOUNT_BIN', unmount_bin)
82
83eeze_lib = library('eeze',
84 eeze_src, pub_eo_file_target,
85 dependencies: eeze_deps + eeze_pub_deps + [ecore, ecore_file, buildsystem, eeze_deps],
86 include_directories : config_dir,
87 install: true,
88 c_args : package_c_args,
89 version : meson.project_version()
90)
91
92eeze = declare_dependency(
93 include_directories: [include_directories('.')],
94 link_with: eeze_lib,
95 sources : pub_eo_file_target + priv_eo_file_target,
96 dependencies: eeze_pub_deps,
97)
98
99install_headers(eeze_header_src,
100 install_dir : dir_package_include,
101)
diff --git a/src/lib/efl/interfaces/meson.build b/src/lib/efl/interfaces/meson.build
new file mode 100644
index 0000000..8d29c40
--- /dev/null
+++ b/src/lib/efl/interfaces/meson.build
@@ -0,0 +1,155 @@
1pub_legacy_eo_files = [
2 'efl_gfx_fill.eo',
3 'efl_gfx_entity.eo',
4 'efl_gfx_color.eo',
5 'efl_gfx_image.eo',
6 'efl_gfx_image_animation_controller.eo',
7 'efl_input_device.eo',
8 'efl_ui_draggable.eo',
9 'efl_ui_clickable.eo',
10 'efl_ui_scrollable.eo',
11 'efl_ui_scrollable_interactive.eo',
12 'efl_ui_scrollbar.eo',
13 'efl_ui_selectable.eo',
14 'efl_ui_zoom.eo',
15]
16
17pub_eo_file_target = []
18foreach eo_file : pub_legacy_eo_files
19 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
20 input : eo_file,
21 output : [eo_file + '.h', eo_file + '.legacy.h',],
22 install : true,
23 install_dir : join_paths(dir_package_include, 'interfaces'),
24 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
25 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
26 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
27 '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
28 '-gchl', '@INPUT@'])
29
30endforeach
31
32pub_eo_files = [
33 'efl_playable.eo',
34 'efl_canvas_scene.eo',
35 'efl_canvas_pointer.eo',
36 'efl_config.eo',
37 'efl_control.eo',
38 'efl_duplicate.eo',
39 'efl_file.eo',
40 'efl_gfx_image_load_controller.eo',
41 'efl_part.eo',
42 'efl_player.eo',
43 'efl_text.eo',
44 'efl_text_font.eo',
45 'efl_text_style.eo',
46 'efl_text_format.eo',
47 'efl_text_cursor.eo',
48 'efl_text_annotate.eo',
49 'efl_text_markup.eo',
50 'efl_text_markup_util.eo',
51 'efl_gfx_stack.eo',
52 'efl_gfx_view.eo',
53 'efl_gfx_buffer.eo',
54 'efl_gfx_path.eo',
55 'efl_gfx_shape.eo',
56 'efl_gfx_gradient.eo',
57 'efl_gfx_gradient_linear.eo',
58 'efl_gfx_gradient_radial.eo',
59 'efl_gfx_filter.eo',
60 'efl_gfx_blur.eo',
61 'efl_gfx_size_hint.eo',
62 'efl_model.eo',
63 'efl_animator.eo',
64 'efl_orientation.eo',
65 'efl_container.eo',
66 'efl_content.eo',
67 'efl_pack.eo',
68 'efl_pack_layout.eo',
69 'efl_pack_linear.eo',
70 'efl_pack_table.eo',
71 'efl_ui_base.eo',
72 'efl_ui_direction.eo',
73 'efl_ui_drag.eo',
74 'efl_ui_range.eo',
75 'efl_ui_view.eo',
76 'efl_ui_model_connect.eo',
77 'efl_ui_factory.eo',
78 'efl_ui_multi_selectable.eo',
79 'efl_screen.eo',
80 'efl_io_closer.eo',
81 'efl_io_positioner.eo',
82 'efl_io_reader.eo',
83 'efl_io_sizer.eo',
84 'efl_io_writer.eo',
85 'efl_io_buffer.eo',
86 'efl_io_queue.eo',
87 'efl_observer.eo',
88 'efl_observable.eo',
89 'efl_ui_autorepeat.eo',
90 'efl_ui_format.eo',
91 'efl_gfx_color_class.eo',
92 'efl_gfx_text_class.eo',
93 'efl_gfx_size_class.eo',
94]
95
96eolian_include_directories += ['-I', join_paths(meson.source_root(), 'src', 'lib', 'evas', 'canvas')]
97
98foreach eo_file : pub_eo_files
99 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
100 input : eo_file,
101 output : [eo_file + '.h'],
102 install : true,
103 install_dir : join_paths(dir_package_include, 'interfaces'),
104 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
105 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
106 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
107 '-gch', '@INPUT@'])
108endforeach
109
110pub_eo_types_files = [
111 'efl_gfx_types.eot',
112 'efl_ui_types.eot',
113 'efl_input_types.eot',
114 'efl_types.eot',
115 'efl_text_types.eot',
116]
117
118foreach eo_file : pub_eo_types_files
119 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
120 input : eo_file,
121 output : [eo_file + '.h'],
122 install : true,
123 install_dir : join_paths(dir_package_include, 'interfaces'),
124 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
125 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
126 '-gh', '@INPUT@'])
127endforeach
128
129pub_eo_files = files(pub_eo_files + pub_legacy_eo_files + pub_eo_types_files)
130
131efl_src += files([
132 'efl_interfaces_main.c',
133 'efl_model_common.c',
134 'efl_gfx_path.c',
135 'efl_gfx_shape.c',
136 'efl_gfx_color.c',
137 'efl_input_device.c',
138 'efl_io_closer.c',
139 'efl_io_positioner.c',
140 'efl_io_reader.c',
141 'efl_io_sizer.c',
142 'efl_io_writer.c',
143 'efl_io_buffer.c',
144 'efl_io_queue.c',
145 'efl_observer.c',
146 'efl_file.c',
147 'efl_ui_format.c',
148 'efl_text_markup_util.c',
149])
150
151#efl_header_src += files([
152# 'efl_common_internal.h'
153#])
154
155eolian_include_directories += ['-I', meson.current_source_dir()]
diff --git a/src/lib/efl/meson.build b/src/lib/efl/meson.build
new file mode 100644
index 0000000..75acef3
--- /dev/null
+++ b/src/lib/efl/meson.build
@@ -0,0 +1,33 @@
1efl_deps = []
2efl_pub_deps = [eo]
3
4efl_header_src = [
5 'Efl.h',
6 'Efl_Model_Common.h'
7]
8
9efl_src = []
10
11subdir('interfaces')
12
13efl_lib = library('efl',
14 efl_src, pub_eo_file_target,
15 dependencies: [eina, eo, m],
16 install: true,
17 version : meson.project_version()
18)
19
20efl = declare_dependency(
21 include_directories: [include_directories('.'), config_dir],
22 link_with: efl_lib,
23 dependencies: efl_deps + efl_pub_deps,
24 sources : pub_eo_file_target
25)
26
27install_data(pub_eo_files,
28 install_dir: join_paths(eolian_include_dir, package_version_name)
29)
30
31install_headers(efl_header_src,
32 install_dir : dir_package_include,
33)
diff --git a/src/lib/efl_wl/meson.build b/src/lib/efl_wl/meson.build
new file mode 100644
index 0000000..35f20ec
--- /dev/null
+++ b/src/lib/efl_wl/meson.build
@@ -0,0 +1,32 @@
1efl_wl_deps = [ecore_wl2, ecore_input, ecore, ecore_evas, evas, emile, eo, efl, eina]
2efl_wl_pub_deps = [evas, dependency('wayland-server', version : '>= 1.11.0'), dependency('xkbcommon', version : '>= 0.6.0')]
3
4if (get_option('x11'))
5 efl_wl_deps += [ecore_x]
6 efl_wl_pub_deps += [dependency('xkbcommon-x11')]
7endif
8
9efl_wl_src = [
10 'dmabuf.c',
11 'efl_wl.c'
12]
13efl_wl_header_src = ['Efl_Wl.h']
14
15
16efl_wl_lib = library('efl_wl',
17 efl_wl_src,
18 dependencies: [m, dl] + efl_wl_deps + efl_wl_pub_deps,
19 include_directories : config_dir + [include_directories(join_paths('..','..'))],
20 install: true,
21 version : meson.project_version()
22)
23
24efl_wl = declare_dependency(
25 include_directories: [include_directories('.')],
26 link_with: efl_wl_lib,
27 dependencies: efl_wl_pub_deps,
28)
29
30install_headers(efl_wl_header_src,
31 install_dir : dir_package_include,
32)
diff --git a/src/lib/efreet/meson.build b/src/lib/efreet/meson.build
new file mode 100644
index 0000000..fc4a232
--- /dev/null
+++ b/src/lib/efreet/meson.build
@@ -0,0 +1,96 @@
1efreet_header_src = [
2 'Efreet.h',
3 'efreet_base.h',
4 'efreet_desktop.h',
5 'efreet_icon.h',
6 'efreet_ini.h',
7 'efreet_menu.h',
8 'efreet_utils.h',
9 'efreet_uri.h',
10 'Efreet_Mime.h',
11 'Efreet_Trash.h'
12]
13
14efreet_src = [
15 'efreet.c',
16 'efreet_base.c',
17 'efreet_icon.c',
18 'efreet_xml.c',
19 'efreet_ini.c',
20 'efreet_desktop.c',
21 'efreet_desktop_command.c',
22 'efreet_menu.c',
23 'efreet_utils.c',
24 'efreet_uri.c',
25 'efreet_cache.c',
26 'efreet_private.h',
27 'efreet_xml.h',
28 'efreet_cache_private.h'
29]
30
31efreet_deps = [eet, ecore, ecore_con, ecore_file, eo, efl, eina, emile, ecore_ipc, buildsystem,intl]
32efreet_pub_deps = [eina, eo, efl]
33
34efreet_lib = library('efreet',
35 efreet_src,
36 dependencies: efreet_pub_deps + [m] + efreet_deps,
37 include_directories : config_dir + [include_directories('.')],
38 install: true,
39 c_args : [package_c_args, '-DDATA_DIR="'+dir_data+'"'],
40 version : meson.project_version()
41)
42
43efreet = declare_dependency(
44 include_directories: [include_directories('.')],
45 link_with: efreet_lib,
46 dependencies: efreet_pub_deps,
47)
48
49efreet_mime_lib = library('efreet_mime',
50 'efreet_mime.c',
51 dependencies: efreet_pub_deps + [m, efreet, efreet_deps],
52 include_directories : config_dir + [include_directories('.')],
53 install: true,
54 c_args : package_c_args,
55 version : meson.project_version()
56)
57
58
59efreet_mime = declare_dependency(
60 include_directories: [include_directories('.')],
61 link_with: efreet_mime_lib,
62 dependencies: efreet_pub_deps
63)
64
65efreet_trash_lib = library('efreet_trash',
66 'efreet_trash.c',
67 dependencies: efreet_pub_deps + [efreet, efreet_deps],
68 include_directories : config_dir + [include_directories('.')],
69 install: true,
70 c_args : package_c_args,
71 version : meson.project_version()
72)
73
74efreet_trash = declare_dependency(
75 include_directories: [include_directories('.')],
76 link_with: efreet_trash_lib,
77 dependencies: efreet_pub_deps,
78)
79
80install_headers(efreet_header_src,
81 install_dir : dir_package_include,
82)
83
84pkgconfig.generate(efreet_mime_lib,
85 name : 'efreet-mime',
86 subdirs : package_version_name,
87 version : version_major + '.' + version_minor,
88 libraries : [tmp_deps] + tmp_pub_deps,
89)
90
91pkgconfig.generate(efreet_trash_lib,
92 name : 'efreet-trash',
93 subdirs : package_version_name,
94 version : version_major + '.' + version_minor,
95 libraries : [tmp_deps] + tmp_pub_deps,
96)
diff --git a/src/lib/eina/meson.build b/src/lib/eina/meson.build
new file mode 100644
index 0000000..1d3bd51
--- /dev/null
+++ b/src/lib/eina/meson.build
@@ -0,0 +1,398 @@
1eina_deps = []
2eina_pub_deps = [thread_dep]
3
4public_sub_headers = [
5'eina_promise.h',
6'eina_safety_checks.h',
7'eina_error.h',
8'eina_debug.h',
9'eina_debug_private.h',
10'eina_log.h',
11'eina_inline_log.x',
12'eina_fp.h',
13'eina_inline_f32p32.x',
14'eina_inline_f16p16.x',
15'eina_inline_f8p24.x',
16'eina_inline_fp.x',
17'eina_hash.h',
18'eina_inline_hash.x',
19'eina_lalloc.h',
20'eina_clist.h',
21'eina_inline_clist.x',
22'eina_inarray.h',
23'eina_inlist.h',
24'eina_inline_inlist.x',
25'eina_list.h',
26'eina_file.h',
27'eina_inline_file.x',
28'eina_mempool.h',
29'eina_module.h',
30'eina_rectangle.h',
31'eina_types.h',
32'eina_array.h',
33'eina_counter.h',
34'eina_inline_array.x',
35'eina_magic.h',
36'eina_stringshare.h',
37'eina_binshare.h',
38'eina_binbuf.h',
39'eina_ustringshare.h',
40'eina_inline_stringshare.x',
41'eina_inline_ustringshare.x',
42'eina_inline_list.x',
43'eina_accessor.h',
44'eina_convert.h',
45'eina_rbtree.h',
46'eina_benchmark.h',
47'eina_inline_rbtree.x',
48'eina_inline_mempool.x',
49'eina_inline_rectangle.x',
50'eina_inline_trash.x',
51'eina_thread.h',
52'eina_trash.h',
53'eina_iterator.h',
54'eina_main.h',
55'eina_cpu.h',
56'eina_inline_cpu.x',
57'eina_sched.h',
58'eina_tiler.h',
59'eina_hamster.h',
60'eina_matrixsparse.h',
61'eina_inline_tiler.x',
62'eina_str.h',
63'eina_inline_str.x',
64'eina_strbuf.h',
65'eina_ustrbuf.h',
66'eina_unicode.h',
67'eina_quadtree.h',
68'eina_simple_xml_parser.h',
69'eina_lock.h',
70'eina_prefix.h',
71'eina_refcount.h',
72'eina_mmap.h',
73'eina_xattr.h',
74'eina_value.h',
75'eina_inline_value.x',
76'eina_value_util.h',
77'eina_inline_value_util.x',
78'eina_inline_lock_barrier.x',
79'eina_inline_lock_posix.x',
80'eina_tmpstr.h',
81'eina_alloca.h',
82'eina_cow.h',
83'eina_inline_unicode.x',
84'eina_thread_queue.h',
85'eina_matrix.h',
86'eina_quad.h',
87'eina_crc.h',
88'eina_inline_crc.x',
89'eina_evlog.h',
90'eina_util.h',
91'eina_inline_util.x',
92'eina_quaternion.h',
93'eina_vector.h',
94'eina_inline_vector.x',
95'eina_bezier.h',
96'eina_safepointer.h',
97'eina_inline_safepointer.x',
98'eina_slice.h',
99'eina_inline_slice.x',
100'eina_inline_modinfo.x',
101'eina_freeq.h',
102'eina_slstr.h',
103'eina_vpath.h',
104]
105
106public_headers = [
107 'Eina.h'
108]
109
110sources = [
111'eina_abi.c',
112'eina_accessor.c',
113'eina_array.c',
114'eina_benchmark.c',
115'eina_binbuf.c',
116'eina_binshare.c',
117'eina_convert.c',
118'eina_counter.c',
119'eina_cow.c',
120'eina_cpu.c',
121'eina_crc.c',
122'eina_debug.c',
123'eina_debug_bt.c',
124'eina_debug_bt_file.c',
125'eina_debug_chunk.c',
126'eina_debug_thread.c',
127'eina_debug_cpu.c',
128'eina_debug_timer.c',
129'eina_error.c',
130'eina_evlog.c',
131'eina_file_common.h',
132'eina_file_common.c',
133'eina_fp.c',
134'eina_hamster.c',
135'eina_hash.c',
136'eina_inarray.c',
137'eina_inlist.c',
138'eina_iterator.c',
139'eina_lalloc.c',
140'eina_list.c',
141'eina_lock.c',
142'eina_log.c',
143'eina_magic.c',
144'eina_main.c',
145'eina_matrix.c',
146'eina_matrixsparse.c',
147'eina_mempool.c',
148'eina_mmap.c',
149'eina_module.c',
150'eina_prefix.c',
151'eina_promise.c',
152'eina_promise_private.h',
153'eina_quad.c',
154'eina_quadtree.c',
155'eina_rbtree.c',
156'eina_rectangle.c',
157'eina_safety_checks.c',
158'eina_sched.c',
159'eina_share_common.c',
160'eina_simple_xml_parser.c',
161'eina_str.c',
162'eina_strbuf.c',
163'eina_strbuf_common.c',
164'eina_stringshare.c',
165'eina_thread.c',
166'eina_thread_queue.c',
167'eina_tiler.c',
168'eina_tmpstr.c',
169'eina_unicode.c',
170'eina_ustrbuf.c',
171'eina_ustringshare.c',
172'eina_util.c',
173'eina_value.c',
174'eina_value_util.c',
175'eina_xattr.c',
176'eina_private.h',
177'eina_share_common.h',
178'eina_strbuf_common.h',
179'eina_quaternion.c',
180'eina_bezier.c',
181'eina_safepointer.c',
182'eina_freeq.c',
183'eina_slstr.c',
184'eina_vpath.c',
185'eina_vpath_xdg.c'
186]
187
188if target_machine.system() == 'cygwin'
189 sources += 'eina_file_win32.c'
190else
191 sources += 'eina_file.c'
192endif
193
194eina_config = configuration_data()
195
196if get_option('buildtype') == 'plain'
197 with_max_log_level=-1
198 stringshare_usage=false
199 use_valgrind=true
200 debug_malloc=false
201 debug_threads=false
202 default_mempool=false
203 want_cow_magic=false
204elif get_option('buildtype') == 'debug'
205 with_max_log_level=-1
206 stringshare_usage=true
207 use_valgrind=true
208 debug_malloc=true
209 debug_threads=true
210 default_mempool=true
211 want_cow_magic=true
212elif get_option('buildtype') == 'release'
213 with_max_log_level=3
214 stringshare_usage=false
215 use_valgrind=false
216 debug_malloc=false
217 debug_threads=false
218 default_mempool=false
219 want_cow_magic=false
220endif
221
222if with_max_log_level != -1
223 config_h.set('EINA_LOG_LEVEL_MAXIMUM', with_max_log_level)
224endif
225
226if stringshare_usage
227 config_h.set('EINA_STRINGSHARE_USAGE', 1)
228endif
229
230if use_valgrind
231 valgrind = dependency('valgrind', required: false)
232 if valgrind.found() == false
233 config_h.set('NVALGRIND', 1)
234 else
235 config_h.set('HAVE_VALGRIND', 1)
236 endif
237 eina_deps += valgrind
238else
239 config_h.set('NVALGRIND', 1)
240 valgrind = []
241endif
242
243if debug_malloc
244 config_h.set('EINA_DEBUG_MALLOC', 1)
245endif
246
247if want_cow_magic
248 config_h.set('EINA_COW_MAGIC_ON', 1)
249endif
250
251if get_option('eina-magic-debug')
252 eina_config.set('EINA_MAGIC_DEBUG', '1')
253endif
254
255if default_mempool
256 eina_config.set('EINA_DEFAULT_MEMPOOL', '1')
257endif
258
259if get_option('systemd') == true
260 systemd = dependency('libsystemd')
261 eina_deps += systemd
262 config_h.set('HAVE_SYSTEMD', '1')
263else
264 systemd = []
265endif
266
267
268eina_config.set('EINA_SAFETY_CHECKS', '1')
269eina_config.set('EINA_HAVE_THREADS', '1')
270
271
272if cc.has_header_symbol('pthread.h', 'pthread_barrier_init')
273 eina_config.set('EINA_HAVE_PTHREAD_BARRIER', '1')
274endif
275
276if target_machine.system() == 'linux'
277 pthread_np_header_file = 'pthread.h'
278 pthread_setname_np_api = 'pthread_setname_np'
279 pthread_args = '-D_GNU_SOURCE'
280else
281 pthread_np_header_file = 'pthread_np.h'
282 pthread_setname_np_api = 'pthread_set_name_np'
283 pthread_args = []
284endif
285
286if cc.has_header_symbol(pthread_np_header_file, pthread_setname_np_api, args : pthread_args)
287 eina_config.set('EINA_HAVE_PTHREAD_SETNAME', '1')
288endif
289
290if cc.has_header_symbol(pthread_np_header_file, 'pthread_attr_setaffinity_np', args : pthread_args)
291 eina_config.set('EINA_HAVE_PTHREAD_AFFINITY', '1')
292endif
293# FIXME the author of eina_debug probebly never ran with EINA_HAVE_DEBUG_THREADS
294# however eina debug decides to init that lock and never frees it. which means
295# the code in eina_main.c will not work in the way it currently is there.
296
297#if debug_threads or get_option('debug-threads')
298# eina_config.set('EINA_HAVE_DEBUG_THREADS', '1')
299#endif
300
301eina_config.set('EINA_SIZEOF_WCHAR_T', cc.sizeof('wchar_t', prefix : '#include<wchar.h>'))
302
303uintptr_size = cc.sizeof('uintptr_t', prefix : '#include<stdint.h>')
304
305eina_config.set('EINA_SIZEOF_UINTPTR_T', uintptr_size)
306config_h.set('SIZEOF_UINTPTR_T', uintptr_size)
307
308if cc.has_header('dirent.h')
309 eina_config.set('EINA_CONFIGURE_HAVE_DIRENT_H', '1')
310endif
311
312eina_config.set('EINA_ENABLE_LOG', '1')
313
314if cc.has_header_symbol('alloca.h', 'alloca')
315 eina_config.set('EINA_HAVE_ALLOCA_H', '1')
316endif
317
318if cc.has_header('byteswap.h')
319 eina_config.set('EINA_HAVE_BYTESWAP_H', '1')
320endif
321
322if cc.has_header_symbol('byteswap.h', 'bswap_16')
323 eina_config.set('EINA_HAVE_BSWAP16', '1')
324endif
325
326if cc.has_header_symbol('byteswap.h', 'bswap_32')
327 eina_config.set('EINA_HAVE_BSWAP32', '1')
328endif
329
330if cc.has_header_symbol('byteswap.h', 'bswap_64')
331 eina_config.set('EINA_HAVE_BSWAP64', '1')
332endif
333
334if cc.has_header_symbol('pthread.h', 'pthread_spin_init')
335 eina_config.set('EINA_HAVE_POSIX_SPINLOCK', '1')
336endif
337
338if target_machine.system() == 'darwin'
339 if cc.has_header_symbol('libkern/OSAtomic.h', 'OSSpinLockTry')
340 eina_config.set('EINA_HAVE_OSX_SPINLOCK', 1)
341 endif
342 if cc.has_header_symbol('mach/task.h', 'semaphore_create')
343 eina_config.set('EINA_HAVE_OSX_SEMAPHORE', 1)
344 endif
345
346endif
347
348eina_config_file = configure_file(
349 output: 'eina_config.h',
350 configuration: eina_config,
351 install: true)
352
353public_headers += eina_config_file
354
355unwind = dependency('libunwind-generic', required: false)
356if unwind.found()
357 config_h.set('HAVE_UNWIND', 1)
358 eina_deps += unwind
359endif
360
361#for the case that the iconv library is not part of libc but rather libiconv or smth. like that
362iconv = dependency('iconv', required: false)
363if iconv.found() == false
364 iconv = cc.find_library('iconv', required: false)
365endif
366
367execinfo = cc.find_library('execinfo', required: false)
368
369eina_lib = library('eina', sources,
370 include_directories : config_dir,
371 dependencies: [m, rt, dl, execinfo, iconv, eina_deps, thread_dep, eina_mem_pools],
372 install: true,
373 version : meson.project_version()
374)
375
376
377eina = declare_dependency(
378 include_directories: [include_directories('.')] + config_dir,
379 dependencies : eina_pub_deps + eina_deps,
380 link_with: eina_lib,
381)
382
383install_headers(public_headers,
384 install_dir : dir_package_include,
385)
386
387install_headers(public_sub_headers,
388 install_dir : join_paths(dir_package_include, 'eina')
389)
390
391automatic_pkgfile = false
392
393pkgconfig.generate(eina_lib,
394 name : 'eina',
395 subdirs : ['eina-'+version_major, 'efl-'+version_major, join_paths('eina-'+version_major, 'eina')],
396 version : version_major + '.' + version_minor,
397 libraries : eina_pub_deps,
398)
diff --git a/src/lib/eio/meson.build b/src/lib/eio/meson.build
new file mode 100644
index 0000000..2c685b1
--- /dev/null
+++ b/src/lib/eio/meson.build
@@ -0,0 +1,90 @@
1pub_eo_file_target = []
2
3pub_eo_files = [
4 'eio_model.eo',
5 'efl_io_manager.eo',
6 'eio_sentry.eo'
7]
8
9foreach eo_file : pub_eo_files
10 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
11 input : eo_file,
12 output : [eo_file + '.h'],
13 install : true,
14 install_dir : dir_package_include,
15 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
16 '-o', 'h:' + join_paths(
17 meson.current_build_dir(), eo_file + '.h'),
18 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
19 '-gch', '@INPUT@'])
20endforeach
21
22pub_eo_types_files = []
23
24eolian_include_directories += ['-I', meson.current_source_dir()]
25
26eio_header_src = [
27 'Eio.h',
28 'Eio_Legacy.h',
29 'Eio_Eo.h',
30 'eio_inline_helper.x'
31]
32
33eio_src = [
34 'eio_dir.c',
35 'eio_eet.c',
36 'eio_file.c',
37 'efl_io_manager.c',
38 'eio_sentry.c',
39 'eio_main.c',
40 'eio_map.c',
41 'eio_monitor.c',
42 'eio_monitor_poll.c',
43 'eio_single.c',
44 'eio_xattr.c',
45 'eio_model.c',
46 'eio_model_private.h',
47 'eio_private.h',
48 'eio_sentry_private.h'
49]
50
51linker_args = []
52
53if target_machine.system() == 'windows'
54 eio_src += ['eio_monitor_win32.c']
55elif target_machine.system() == 'darwin'
56 eio_src += ['eio_monitor_cocoa.c']
57 linker_args = [['-framework', 'CoreServices']]
58elif cc.has_header('sys/inotify.h')
59 eio_src += ['eio_monitor_inotify.c']
60elif target_machine.system() == 'bsd'
61 eio_src += ['eio_monitor_kevent.c']
62endif
63
64eio_deps = [ecore, ecore_file, eet, eo, eina, efl, emile, efreet_mime]
65eio_pub_deps = [eina, eet]
66
67eio_lib = library('eio',
68 eio_src, pub_eo_file_target,
69 dependencies: [eina, eo, efl, m, eio_deps],
70 include_directories : config_dir + [include_directories('.')],
71 install: true,
72 c_args : package_c_args,
73 link_args : linker_args,
74 version : meson.project_version()
75)
76
77eio = declare_dependency(
78 include_directories: [include_directories('.')],
79 link_with: eio_lib,
80 sources : pub_eo_file_target + priv_eo_file_target,
81 dependencies: eio_pub_deps,
82)
83
84install_data(pub_eo_files + pub_eo_types_files,
85 install_dir: join_paths(eolian_include_dir, package_version_name)
86)
87
88install_headers(eio_header_src,
89 install_dir : dir_package_include,
90)
diff --git a/src/lib/eldbus/meson.build b/src/lib/eldbus/meson.build
new file mode 100644
index 0000000..57f2981
--- /dev/null
+++ b/src/lib/eldbus/meson.build
@@ -0,0 +1,114 @@
1eldbus_deps = [ecore]
2eldbus_pub_deps = [eina, eo, efl]
3
4pub_eo_files = [
5 'eldbus_model_connection.eo',
6 'eldbus_model_object.eo',
7 'eldbus_model_proxy.eo',
8 'eldbus_model_method.eo',
9 'eldbus_model_arguments.eo',
10 'eldbus_model_signal.eo',
11 'eldbus_model.eo'
12]
13
14foreach eo_file : pub_eo_files
15 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
16 input : eo_file,
17 output : [eo_file + '.h'],
18 install : true,
19 install_dir : dir_package_include,
20 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
21 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
22 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
23 '-gch', '@INPUT@'])
24endforeach
25
26
27pub_eo_types_files = [
28 'eldbus_types.eot'
29]
30
31foreach eo_file : pub_eo_types_files
32 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
33 input : eo_file,
34 output : [eo_file + '.h'],
35 install : true,
36 install_dir : dir_package_include,
37 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
38 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
39 '-gh', '@INPUT@'])
40endforeach
41
42eolian_include_directories += ['-I', meson.current_source_dir()]
43
44eldbus_header_src = [
45 'Eldbus.h',
46 'eldbus_connection.h',
47 'eldbus_freedesktop.h',
48 'eldbus_message.h',
49 'eldbus_object.h',
50 'eldbus_pending.h',
51 'eldbus_proxy.h',
52 'eldbus_service.h',
53 'eldbus_signal_handler.h',
54 'eldbus_message_helper.h',
55 'eldbus_introspection.h',
56 'Eldbus_Model.h',
57 'eldbus_message_eina_value.h'
58]
59
60eldbus_src = [
61 'eldbus_private.h',
62 'eldbus_private_types.h',
63 'eldbus_model_private.h',
64 'eldbus_model_proxy_private.h',
65 'eldbus_model_object_private.h',
66 'eldbus_model_arguments_private.h',
67 'eldbus_model_connection_private.h',
68 'eldbus_model_signal_private.h',
69 'eldbus_model_method_private.h',
70 'eldbus_proxy.c',
71 'eldbus_core.c',
72 'eldbus_message.c',
73 'eldbus_object.c',
74 'eldbus_pending.c',
75 'eldbus_freedesktop.c',
76 'eldbus_service.c',
77 'eldbus_signal_handler.c',
78 'eldbus_message_helper.c',
79 'eldbus_message_to_eina_value.c',
80 'eldbus_message_from_eina_value.c',
81 'eldbus_model.c',
82 'eldbus_model_connection.c',
83 'eldbus_model_object.c',
84 'eldbus_model_proxy.c',
85 'eldbus_model_method.c',
86 'eldbus_model_arguments.c',
87 'eldbus_model_signal.c',
88 'eldbus_introspection.c'
89]
90
91eldbus_deps += dependency('dbus-1')
92
93eldbus_lib = library('eldbus',
94 eldbus_src, pub_eo_file_target,
95 dependencies: eldbus_pub_deps + eldbus_deps,
96 include_directories : config_dir,
97 install: true,
98 version : meson.project_version()
99)
100
101eldbus = declare_dependency(
102 include_directories: [include_directories('.')],
103 link_with: eldbus_lib,
104 sources : pub_eo_file_target + priv_eo_file_target,
105 dependencies: eldbus_pub_deps,
106)
107
108install_data(pub_eo_files + pub_eo_types_files,
109 install_dir: join_paths(eolian_include_dir, package_version_name)
110)
111
112install_headers(eldbus_header_src,
113 install_dir : dir_package_include,
114)
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
new file mode 100644
index 0000000..bcc8807
--- /dev/null
+++ b/src/lib/elementary/meson.build
@@ -0,0 +1,951 @@
1pub_legacy_eo_files = [
2 'efl_ui_button_legacy.eo',
3 'efl_ui_check_legacy.eo',
4 'efl_ui_radio_legacy.eo',
5 'efl_ui_bg_widget_legacy.eo',
6 'efl_ui_video_legacy.eo',
7 'efl_ui_frame_legacy.eo',
8 'efl_ui_panes_legacy.eo',
9 'efl_ui_image_zoomable_legacy.eo',
10 'efl_ui_flip_legacy.eo',
11 'efl_ui_win_legacy.eo',
12 'efl_ui_image_legacy.eo',
13 'efl_ui_progressbar_legacy.eo',
14 'efl_ui_clock_legacy.eo',
15 'efl_ui_layout_legacy.eo',
16 'elm_code_widget_legacy.eo',
17 'efl_ui_win_socket_legacy.eo',
18 'efl_ui_win_inlined_legacy.eo',
19 'elm_interface_fileselector.eo',
20 'elm_calendar.eo',
21 'elm_calendar_item.eo',
22 'elm_clock.eo',
23 'elm_colorselector.eo',
24 'elm_combobox.eo',
25 'elm_conformant.eo',
26 'elm_ctxpopup.eo',
27 'elm_dayselector.eo',
28 'elm_entry.eo',
29 'elm_fileselector.eo',
30 'elm_gengrid.eo',
31 'elm_gengrid_pan.eo',
32 'elm_genlist.eo',
33 'elm_genlist_pan.eo',
34 'elm_gesture_layer.eo',
35 'elm_glview.eo',
36 'elm_hover.eo',
37 'elm_index.eo',
38 'elm_label.eo',
39 'elm_list.eo',
40 'elm_map.eo',
41 'elm_map_pan.eo',
42 'elm_menu.eo',
43 'elm_notify.eo',
44 'elm_panel.eo',
45 'elm_player.eo',
46 'elm_plug.eo',
47 'elm_popup.eo',
48 'elm_route.eo',
49 'elm_scroller.eo',
50 'elm_sys_notify_interface.eo',
51 'elm_sys_notify.eo',
52 'elm_sys_notify_dbus.eo',
53 'elm_systray.eo',
54 'elm_color_item.eo',
55 'elm_dayselector_item.eo',
56 'elm_flipselector_item.eo',
57 'elm_menu_item.eo',
58 'elm_ctxpopup_item.eo',
59 'elm_index_item.eo',
60 'elm_widget_item_static_focus.eo',
61 'elm_genlist_item.eo',
62 'elm_gengrid_item.eo',
63 'elm_list_item.eo',
64 'elm_popup_item.eo',
65 'elm_ctxpopup_part.eo',
66 'elm_dayselector_part.eo',
67 'elm_entry_part.eo',
68 'elm_fileselector_entry_part.eo',
69 'elm_flip_part.eo',
70 'elm_hover_part.eo',
71 'elm_mapbuf_part.eo',
72 'elm_naviframe_part.eo',
73 'elm_notify_part.eo',
74 'elm_panel_part.eo',
75 'elm_player_part.eo',
76 'elm_popup_part.eo',
77 'elm_scroller_part.eo',
78 'elm_label_part.eo',
79 'elm_actionslider_part.eo',
80 'elm_bubble_part.eo',
81 'elm_fileselector_part.eo',
82 'elm_access.eo',
83 'elm_actionslider.eo',
84 'elm_box.eo',
85 'elm_bubble.eo',
86 'elm_diskselector.eo',
87 'elm_diskselector_item.eo',
88 'elm_fileselector_button.eo',
89 'elm_fileselector_entry.eo',
90 'elm_flipselector.eo',
91 'elm_grid.eo',
92 'elm_hoversel.eo',
93 'elm_hoversel_item.eo',
94 'elm_icon.eo',
95 'elm_inwin.eo',
96 'elm_mapbuf.eo',
97 'elm_naviframe.eo',
98 'elm_naviframe_item.eo',
99 'elm_photo.eo',
100 'elm_prefs.eo',
101 'elm_segment_control.eo',
102 'elm_segment_control_item.eo',
103 'elm_separator.eo',
104 'elm_slideshow.eo',
105 'elm_slideshow_item.eo',
106 'elm_table.eo',
107 'elm_thumb.eo',
108 'efl_ui_view_list_precise_layouter.eo'
109]
110
111pub_eo_file_target = []
112
113priv_eo_file_target = []
114
115foreach eo_file : pub_legacy_eo_files
116 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
117 input : eo_file,
118 output : [eo_file + '.legacy.h',],
119 install : true,
120 install_dir : dir_package_include,
121 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
122 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
123 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
124 '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
125 '-gchl', '@INPUT@'])
126
127endforeach
128
129pub_eo_files = [
130 'efl_ui_widget.eo',
131 'efl_ui_bg.eo',
132 'efl_ui_bg_widget.eo',
133 'efl_ui_button.eo',
134 'efl_ui_calendar.eo',
135 'efl_ui_calendar_item.eo',
136 'efl_ui_check.eo',
137 'efl_ui_flip.eo',
138 'efl_ui_frame.eo',
139 'efl_ui_stack.eo',
140 'efl_ui_image.eo',
141 'efl_ui_image_zoomable.eo',
142 'efl_ui_layout_object.eo',
143 'efl_ui_nstate.eo',
144 'efl_ui_navigation_bar.eo',
145 'efl_ui_navigation_bar_part.eo',
146 'efl_ui_navigation_bar_part_back_button.eo',
147 'efl_ui_navigation_layout.eo',
148 'efl_ui_panes.eo',
149 'efl_ui_progressbar.eo',
150 'efl_ui_radio.eo',
151 'efl_ui_slider.eo',
152 'efl_ui_slider_interval.eo',
153 'efl_ui_spin.eo',
154 'efl_ui_spin_button.eo',
155 'efl_ui_datepicker.eo',
156 'efl_ui_timepicker.eo',
157 'efl_ui_tags.eo',
158 'efl_ui_video.eo',
159 'efl_ui_win.eo',
160 'efl_ui_win_inlined.eo',
161 'efl_ui_win_socket.eo',
162 'efl_ui_box.eo',
163 'efl_ui_box_flow.eo',
164 'efl_ui_box_stack.eo',
165 'efl_ui_table.eo',
166 'efl_ui_table_static.eo',
167 'efl_text_interactive.eo',
168 'efl_ui_text.eo',
169 'efl_ui_popup.eo',
170 'efl_ui_popup_part_backwall.eo',
171 'efl_ui_popup_alert.eo',
172 'efl_ui_popup_alert_part.eo',
173 'efl_ui_popup_alert_scroll.eo',
174 'efl_ui_popup_alert_scroll_part.eo',
175 'efl_ui_popup_alert_text.eo',
176 'efl_ui_popup_alert_text_part.eo',
177 'efl_ui_popup_anchor.eo',
178 'efl_ui_text_editable.eo',
179 'efl_ui_text_async.eo',
180 'efl_ui_text_factory_images.eo',
181 'efl_ui_text_factory_emoticons.eo',
182 'efl_ui_text_factory_fallback.eo',
183 'efl_ui_textpath.eo',
184 'efl_ui_translatable.eo',
185 'efl_ui_clock.eo',
186 'efl_ui_cursor.eo',
187 'efl_ui_image_factory.eo',
188 'efl_ui_focus_manager.eo',
189 'efl_ui_focus_manager_calc.eo',
190 'efl_ui_focus_manager_sub.eo',
191 'efl_ui_focus_manager_root_focus.eo',
192 'efl_ui_focus_object.eo',
193 'efl_ui_focus_layer.eo',
194 'efl_ui_focus_composition.eo',
195 'efl_ui_focus_util.eo',
196 'efl_ui_flip_part.eo',
197 'efl_ui_layout_factory.eo',
198 'efl_ui_layout_part.eo',
199 'efl_ui_layout_part_box.eo',
200 'efl_ui_layout_part_content.eo',
201 'efl_ui_layout_part_text.eo',
202 'efl_ui_layout_part_table.eo',
203 'efl_ui_layout_part_bg.eo',
204 'efl_ui_layout_part_legacy.eo',
205 'efl_ui_view_list.eo',
206 'efl_ui_view_list_model.eo',
207 'efl_ui_view_list_pan.eo',
208 'efl_ui_view_list_segarray.eo',
209 'efl_ui_view_list_relayout.eo',
210 'efl_ui_item.eo',
211 'efl_ui_list_item.eo',
212 'efl_ui_list_default_item_part_icon.eo',
213 'efl_ui_list_default_item_part_end.eo',
214 'efl_ui_list_default_item.eo',
215 'efl_ui_list_empty_item.eo',
216 'efl_ui_list.eo',
217 'efl_ui_panes_part.eo',
218 'efl_ui_progressbar_part.eo',
219 'elm_slider.eo',
220 'elm_slider_part_indicator.eo',
221 'efl_ui_textpath_part.eo',
222 'efl_ui_widget_part.eo',
223 'efl_ui_widget_part_bg.eo',
224 'efl_ui_widget_part_shadow.eo',
225 'efl_ui_win_part.eo',
226 'efl_ui_scroller.eo',
227 'efl_ui_scroll_manager.eo',
228 'efl_ui_pan.eo',
229 'efl_access_object.eo',
230 'efl_access_action.eo',
231 'efl_access_component.eo',
232 'efl_access_editable_text.eo',
233 'efl_access_selection.eo',
234 'efl_access_text.eo',
235 'efl_access_value.eo',
236 'efl_access_widget_action.eo',
237 'efl_access_window.eo',
238 'efl_config_global.eo',
239 'elm_code_widget.eo',
240 'efl_selection.eo',
241 'efl_ui_dnd.eo',
242 'efl_ui_dnd_container.eo',
243 'efl_ui_focus_manager_window_root.eo',
244 'efl_ui_pager.eo',
245 'efl_page_transition.eo',
246 'efl_page_transition_scroll.eo',
247 'efl_page_indicator.eo',
248 'efl_page_indicator_icon.eo',
249 'efl_ui_tab_pager.eo',
250 'efl_ui_tab_bar.eo',
251 'efl_ui_tab_page.eo',
252 'efl_ui_tab_page_part_tab.eo',
253 'efl_ui_widget_focus_manager.eo',
254 'efl_ui_legacy.eo',
255 'efl_ui_button_legacy_part.eo',
256 'efl_ui_radio_legacy_part.eo',
257 'efl_ui_check_legacy_part.eo',
258 'efl_ui_progressbar_legacy_part.eo',
259 'elm_spinner.eo',
260 'elm_multibuttonentry.eo',
261 'elm_multibuttonentry_item.eo',
262 'elm_multibuttonentry_part.eo',
263 'elm_interface_scrollable.eo',
264 'elm_atspi_bridge.eo',
265 'elm_atspi_app_object.eo',
266 'efl_ui_image_zoomable_pan.eo',
267 'elm_pan.eo',
268 'elm_toolbar.eo',
269 'elm_toolbar_item.eo',
270 'elm_view_list.eo',
271 'elm_view_form.eo',
272 'elm_web.eo',
273 'elm_widget_item.eo'
274]
275
276foreach eo_file : pub_eo_files
277 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
278 input : eo_file,
279 output : [eo_file + '.h', eo_file + '.legacy.h'],
280 install : true,
281 install_dir : dir_package_include,
282 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
283 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
284 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
285 '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
286 '-gch', '@INPUT@'])
287endforeach
288
289
290pub_eo_types_files = [
291 'elm_general.eot',
292 'efl_ui.eot',
293 'efl_ui_view_list_types.eot',
294 'efl_selection_types.eot',
295 'efl_ui_dnd_types.eot'
296]
297
298foreach eo_file : pub_eo_types_files
299 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
300 input : eo_file,
301 output : [eo_file + '.h'],
302 install : true,
303 install_dir : dir_package_include,
304 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
305 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
306 '-gh', '@INPUT@'])
307endforeach
308
309priv_eo_files = [
310 'efl_ui_internal_text_interactive.eo',
311 'efl_ui_focus_composition_adapter.eo',
312 'efl_ui_focus_parent_provider.eo',
313 'efl_ui_focus_parent_provider_standard.eo',
314 'efl_ui_focus_parent_provider_gen.eo',
315 'efl_ui_model_state.eo',
316 'efl_selection_manager.eo',
317 'efl_datetime_manager.eo',
318]
319
320priv_eo_file_target = []
321foreach eo_file : priv_eo_files
322 priv_eo_file_target += custom_target('eolian_gen_' + eo_file,
323 input : eo_file,
324 output : [eo_file + '.h'],
325 command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
326 '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
327 '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
328 '-gch', '@INPUT@'])
329endforeach
330
331eolian_include_directories += ['-I', meson.current_source_dir()]
332
333elementary_headers_unstable = [
334 'elm_gen_common.h',
335 'elm_atspi_bridge.h',
336 'efl_access_object.h',
337 'efl_access_text.h',
338 'efl_access_widget_action.h',
339 'efl_access_window.h',
340 'elm_interface_fileselector.h',
341 'elm_interface_scrollable.h',
342 'elm_interfaces.h',
343 'elm_widget.h',
344 'elm_widget_actionslider.h',
345 'elm_widget_box.h',
346 'elm_widget_bubble.h',
347 'efl_ui_button_private.h',
348 'efl_ui_bg_widget_private.h',
349 'elm_widget_calendar.h',
350 'efl_ui_calendar_private.h',
351 'efl_ui_check_private.h',
352 'elm_widget_clock.h',
353 'elm_widget_colorselector.h',
354 'elm_widget_conform.h',
355 'elm_widget_container.h',
356 'elm_widget_combobox.h',
357 'elm_widget_ctxpopup.h',
358 'elm_widget_dayselector.h',
359 'elm_widget_diskselector.h',
360 'elm_widget_entry.h',
361 'elm_widget_fileselector.h',
362 'elm_widget_fileselector_button.h',
363 'elm_widget_fileselector_entry.h',
364 'efl_ui_widget_flip.h',
365 'elm_widget_flipselector.h',
366 'efl_ui_widget_frame.h',
367 'efl_ui_stack_private.h',
368 'elm_widget_gengrid.h',
369 'elm_widget_genlist.h',
370 'elm_widget_glview.h',
371 'elm_widget_grid.h',
372 'elm_widget_hover.h',
373 'elm_widget_hoversel.h',
374 'elm_widget_icon.h',
375 'efl_ui_widget_image.h',
376 'efl_ui_popup_private.h',
377 'efl_ui_popup_alert_private.h',
378 'efl_ui_popup_alert_scroll_private.h',
379 'efl_ui_popup_alert_text_private.h',
380 'efl_ui_popup_anchor_private.h',
381 'elm_widget_index.h',
382 'elm_widget_inwin.h',
383 'elm_widget_label.h',
384 'elm_widget_layout.h',
385 'elm_widget_list.h',
386 'elm_widget_map.h',
387 'elm_widget_mapbuf.h',
388 'elm_widget_menu.h',
389 'elm_widget_multibuttonentry.h',
390 'elm_widget_naviframe.h',
391 'efl_ui_navigation_bar_private.h',
392 'efl_ui_navigation_layout_private.h',
393 'elm_widget_notify.h',
394 'elm_widget_panel.h',
395 'efl_ui_panes_private.h',
396 'elm_widget_photo.h',
397 'efl_ui_image_zoomable_private.h',
398 'elm_widget_player.h',
399 'elm_widget_plug.h',
400 'elm_widget_popup.h',
401 'elm_widget_prefs.h',
402 'efl_ui_progressbar_private.h',
403 'efl_ui_radio_private.h',
404 'elm_widget_route.h',
405 'elm_widget_scroller.h',
406 'elm_widget_segment_control.h',
407 'elm_widget_separator.h',
408 'elm_widget_slider.h',
409 'efl_ui_slider_private.h',
410 'efl_ui_slider_interval_private.h',
411 'elm_widget_slideshow.h',
412 'elm_widget_spinner.h',
413 'efl_ui_spin_private.h',
414 'efl_ui_spin_button_private.h',
415 'efl_ui_datepicker_private.h',
416 'efl_ui_timepicker_private.h',
417 'efl_ui_tags_private.h',
418 'elm_widget_table.h',
419 'elm_widget_thumb.h',
420 'elm_widget_toolbar.h',
421 'efl_ui_video_private.h',
422 'efl_ui_item_private.h',
423 'efl_ui_list_item_private.h',
424 'efl_ui_list_private.h',
425 'efl_ui_view_list_private.h',
426 'efl_ui_view_list_segarray.h',
427 'elm_widget_web.h',
428 'efl_ui_clock.h',
429 'elm_code.h',
430 'elm_code_widget_legacy.h',
431 'elm_code_widget_selection.h',
432 'elm_code_diff_widget.h',
433 'elm_code_common.h',
434 'elm_code_line.h',
435 'elm_code_text.h',
436 'elm_code_indent.h',
437 'elm_code_file.h',
438 'elm_code_parse.h',
439 'elm_code_syntax.h',
440 'efl_ui_widget_scroller.h',
441 'efl_ui_widget_scroll_manager.h',
442 'efl_ui_widget_pan.h',
443 'efl_ui_nstate_private.h',
444 'Efl_Ui.h',
445 'efl_ui_widget_pager.h',
446 'efl_page_transition.h',
447 'efl_page_transition_scroll.h',
448 'efl_page_indicator.h',
449 'efl_page_indicator_icon.h',
450 'efl_ui_tab_pager_private.h',
451 'efl_ui_tab_bar_private.h',
452 'efl_ui_tab_page_private.h'
453]
454
455elementary_pub_headers = [
456 'elc_ctxpopup.h',
457 'elc_ctxpopup_legacy.h',
458 'elc_combobox.h',
459 'elc_combobox_legacy.h',
460 'elc_fileselector.h',
461 'elc_fileselector_legacy.h',
462 'elc_fileselector_common.h',
463 'elc_fileselector_button.h',
464 'elc_fileselector_button_legacy.h',
465 'elc_fileselector_entry.h',
466 'elc_fileselector_entry_legacy.h',
467 'elc_hoversel.h',
468 'elc_hoversel_legacy.h',
469 'elc_multibuttonentry.h',
470 'elc_multibuttonentry_eo.h',
471 'elc_multibuttonentry_legacy.h',
472 'elc_multibuttonentry_common.h',
473 'elc_naviframe.h',
474 'elc_naviframe_legacy.h',
475 'elc_naviframe_common.h',
476 'elc_popup.h',
477 'elc_popup_legacy.h',
478 'elm_access.h',
479 'elm_actionslider.h',
480 'elm_actionslider_legacy.h',
481 'elm_app.h',
482 'elm_atspi_app_object.h',
483 'elm_authors.h',
484 'elm_bg.h',
485 'elm_bg_legacy.h',
486 'elm_box.h',
487 'elm_box_legacy.h',
488 'elm_box_common.h',
489 'elm_bubble.h',
490 'elm_bubble_legacy.h',
491 'elm_button.h',
492 'efl_ui_button_eo.h',
493 'elm_button_legacy.h',
494 'elm_cache.h',
495 'elm_calendar.h',
496 'elm_calendar_legacy.h',
497 'elm_calendar_common.h',
498 'efl_ui_calendar.h',
499 'elm_check.h',
500 'efl_ui_check_eo.h',
501 'elm_check_legacy.h',
502 'elm_clock.h',
503 'elm_clock_legacy.h',
504 'elm_cnp.h',
505 'elm_colorselector.h',
506 'elm_colorselector_legacy.h',
507 'elm_colorselector_common.h',
508 'elm_color_class.h',
509 'elm_config.h',
510 'elm_conform.h',
511 'elm_conform_legacy.h',
512 'elm_cursor.h',
513 'elm_datetime.h',
514 'elm_dayselector.h',
515 'elm_dayselector_legacy.h',
516 'elm_debug.h',
517 'elm_deprecated.h',
518 'elm_diskselector.h',
519 'elm_diskselector_common.h',
520 'elm_diskselector_legacy.h',
521 'elm_entry.h',
522 'elm_entry_common.h',
523 'elm_entry_eo.h',
524 'elm_entry_legacy.h',
525 'elm_finger.h',
526 'elm_flip.h',
527 'efl_ui_flip_eo.h',
528 'efl_ui_flip_legacy.h',
529 'elm_flipselector.h',
530 'elm_flipselector_legacy.h',
531 'elm_focus.h',
532 'elm_focus_item.h',
533 'elm_font.h',
534 'elm_frame.h',
535 'efl_ui_frame_eo.h',
536 'efl_ui_frame_legacy.h',
537 'elm_gen.h',
538 'elm_general.h',
539 'elm_gengrid.h',
540 'elm_gengrid_common.h',
541 'elm_gengrid_legacy.h',
542 'elm_genlist.h',
543 'elm_genlist_common.h',
544 'elm_genlist_legacy.h',
545 'elm_gesture_layer.h',
546 'elm_gesture_layer_common.h',
547 'elm_gesture_layer_legacy.h',
548 'elm_getting_started.h',
549 'elm_glview.h',
550 'elm_glview_common.h',
551 'elm_glview_legacy.h',
552 'elm_grid.h',
553 'elm_grid_legacy.h',
554 'elm_hover.h',
555 'elm_hover_legacy.h',
556 'elm_icon.h',
557 'elm_icon_legacy.h',
558 'elm_image.h',
559 'elm_image_eo.h',
560 'elm_image_legacy.h',
561 'elm_index.h',
562 'elm_index_legacy.h',
563 'elm_inwin.h',
564 'elm_inwin_legacy.h',
565 'elm_label.h',
566 'elm_label_legacy.h',
567 'elm_layout.h',
568 'elm_layout_common.h',
569 'elm_layout_legacy.h',
570 'elm_list.h',
571 'elm_list_legacy.h',
572 'elm_macros.h',
573 'elm_map.h',
574 'elm_map_common.h',
575 'elm_map_legacy.h',
576 'elm_mapbuf.h',
577 'elm_mapbuf_legacy.h',
578 'elm_menu.h',
579 'elm_menu_legacy.h',
580 'elm_mirroring.h',
581 'elm_need.h',
582 'elm_notify.h',
583 'elm_notify_common.h',
584 'elm_notify_legacy.h',
585 'efl_ui_nstate.h',
586 'elm_object.h',
587 'elm_object_item.h',
588 'elm_panel.h',
589 'elm_panel_common.h',
590 'elm_panel_legacy.h',
591 'elm_panes.h',
592 'efl_ui_panes_eo.h',
593 'elm_panes_legacy.h',
594 'elm_photo.h',
595 'elm_photo_legacy.h',
596 'elm_photocam.h',
597 'efl_ui_image_zoomable_eo.h',
598 'elm_photocam_legacy.h',
599 'elm_plug.h',
600 'elm_plug_legacy.h',
601 'elm_prefs.h',
602 'elm_prefs_common.h',
603 'elm_prefs_legacy.h',
604 'elm_prefs_data.h',
605 'elm_progressbar.h',
606 'elm_progressbar_common.h',
607 'efl_ui_progressbar_eo.h',
608 'elm_progressbar_legacy.h',
609 'elm_radio.h',
610 'efl_ui_radio_eo.h',
611 'elm_radio_legacy.h',
612 'elm_route.h',
613 'elm_route_legacy.h',
614 'elm_scale.h',
615 'elm_scroll.h',
616 'elm_scroller.h',
617 'elm_scroller_legacy.h',
618 'elm_segment_control.h',
619 'elm_segment_control_legacy.h',
620 'elm_separator.h',
621 'elm_separator_legacy.h',
622 'elm_slider.h',
623 'elm_slider_common.h',
624 'elm_slider_legacy.h',
625 'elm_slideshow.h',
626 'elm_slideshow_common.h',
627 'elm_slideshow_legacy.h',
628 'elm_spinner.h',
629 'elm_spinner_legacy.h',
630 'elm_store.h',
631 'elm_systray.h',
632 'elm_systray_common.h',
633 'elm_systray_watcher.h',
634 'elm_sys_notify.h',
635 'elm_table.h',
636 'elm_table_legacy.h',
637 'elm_theme.h',
638 'elm_thumb.h',
639 'elm_thumb_common.h',
640 'elm_thumb_legacy.h',
641 'elm_toolbar.h',
642 'elm_toolbar_common.h',
643 'elm_toolbar_eo.h',
644 'elm_toolbar_legacy.h',
645 'elm_tooltip.h',
646 'elm_transit.h',
647 'efl_ui_video.h',
648 'efl_ui_video_eo.h',
649 'efl_ui_video_legacy.h',
650 'elm_view_list.h',
651 'elm_view_form.h',
652 'elm_web.h',
653 'elm_web_common.h',
654 'elm_web_eo.h',
655 'elm_web_legacy.h',
656 'elm_win.h',
657 'elm_win_common.h',
658 'elm_win_eo.h',
659 'elm_win_legacy.h',
660 'elm_helper.h',
661 'elm_part_helper.h',
662]
663
664elementary_header_src = [
665 'Elementary.h',
666 'Elementary_Cursor.h'
667] + elementary_pub_headers + elementary_headers_unstable
668
669elementary_src = [
670 'elm_priv.h',
671 'elementary_config.h',
672 'els_box.h',
673 'elc_ctxpopup.c',
674 'elc_fileselector.c',
675 'elc_fileselector_button.c',
676 'elc_fileselector_entry.c',
677 'elc_hoversel.c',
678 'elc_multibuttonentry.c',
679 'elc_naviframe.c',
680 'efl_ui_navigation_bar.c',
681 'efl_ui_navigation_layout.c',
682 'elc_player.c',
683 'elc_popup.c',
684 'elc_scrolled_entry.c',
685 'elm_access.c',
686 'elm_actionslider.c',
687 'elm_atspi_app_object.c',
688 'elm_atspi_bridge.c',
689 'efl_ui_legacy.c',
690 'efl_ui_bg.c',
691 'efl_ui_bg_widget.c',
692 'elm_box.c',
693 'elm_bubble.c',
694 'efl_ui_button.c',
695 'elm_calendar.c',
696 'efl_ui_calendar.c',
697 'efl_ui_check.c',
698 'elm_clock.c',
699 'elm_code_line.c',
700 'elm_code_text.c',
701 'elm_code_indent.c',
702 'elm_code_file.c',
703 'elm_code_parse.c',
704 'elm_code_syntax.c',
705 'elm_code_widget_selection.c',
706 'elm_code_widget.c',
707 'elm_code_diff_widget.c',
708 'elm_code.c',
709 'elm_code_private.h',
710 'elm_code_widget_private.h',
711 'elm_colorselector.c',
712 'elm_color_class.c',
713 'elc_combobox.c',
714 'elm_config.c',
715 'elm_conform.c',
716 'elm_datetime.c',
717 'elm_dayselector.c',
718 'elm_dbus_menu.c',
719 'elm_diskselector.c',
720 'elm_entry.c',
721 'efl_ui_flip.c',
722 'efl_ui_internal_text_interactive.c',
723 'efl_ui_internal_text_interactive.h',
724 'elm_flipselector.c',
725 'elm_font.c',
726 'efl_ui_frame.c',
727 'efl_ui_stack.c',
728 'elm_gengrid.c',
729 'elm_genlist.c',
730 'elm_gesture_layer.c',
731 'elm_gesture_layer_extra_gestures.c',
732 'elm_glview.c',
733 'elm_grid.c',
734 'elm_hover.c',
735 'elm_icon.c',
736 'efl_ui_image.c',
737 'elm_index.c',
738 'efl_access_object.c',
739 'efl_access_action.c',
740 'efl_access_component.c',
741 'efl_access_editable_text.c',
742 'efl_access_selection.c',
743 'efl_access_text.c',
744 'efl_access_value.c',
745 'efl_access_widget_action.c',
746 'efl_access_window.c',
747 'elm_interface_fileselector.c',
748 'elm_interface_scrollable.c',
749 'elm_inwin.c',
750 'elm_label.c',
751 'efl_ui_layout_object.c',
752 'efl_ui_layout_pack.c',
753 'elm_list.c',
754 'elm_main.c',
755 'elm_map.c',
756 'elm_mapbuf.c',
757 'elm_menu.c',
758 'elm_module.c',
759 'elm_notify.c',
760 'efl_ui_nstate.c',
761 'elm_panel.c',
762 'efl_ui_panes.c',
763 'elm_photo.c',
764 'efl_ui_image_zoomable.c',
765 'elm_plug.c',
766 'elm_prefs.c',
767 'elm_prefs_data.c',
768 'efl_ui_progressbar.c',
769 'efl_ui_radio.c',
770 'elm_route.c',
771 'elm_scroller.c',
772 'elm_segment_control.c',
773 'elm_separator.c',
774 'elm_slider.c',
775 'efl_ui_slider.c',
776 'efl_ui_slider_interval.c',
777 'efl_ui_spin.c',
778 'efl_ui_spin_button.c',
779 'efl_ui_datepicker.c',
780 'efl_ui_timepicker.c',
781 'efl_ui_tags.c',
782 'elm_slideshow.c',
783 'elm_spinner.c',
784 'elm_store.c',
785 'elm_systray.c',
786 'elm_systray_watcher.c',
787 'elm_sys_notify_interface.c',
788 'elm_sys_notify.c',
789 'elm_sys_notify_dbus.c',
790 'elm_table.c',
791 'elm_theme.c',
792 'elm_thumb.c',
793 'elm_toolbar.c',
794 'elm_transit.c',
795 'elm_util.c',
796 'efl_ui_video.c',
797 'elm_view_list.c',
798 'elm_view_form.c',
799 'elm_web2.c',
800 'efl_ui_widget.c',
801 'efl_ui_win.c',
802 'efl_ui_win_inlined.c',
803 'efl_ui_win_socket.c',
804 'elm_helper.c',
805 'els_box.c',
806 'els_cursor.c',
807 'els_tooltip.c',
808 'elu_ews_wm.c',
809 'efl_ui_box.c',
810 'efl_ui_box_flow.c',
811 'efl_ui_box_stack.c',
812 'efl_ui_box_layout.c',
813 'efl_ui_box_private.h',
814 'efl_ui_popup.c',
815 'efl_ui_popup_alert.c',
816 'efl_ui_popup_alert_scroll.c',
817 'efl_ui_popup_alert_text.c',
818 'efl_ui_popup_anchor.c',
819 'efl_ui_table.c',
820 'efl_ui_table_static.c',
821 'efl_ui_table_private.h',
822 'efl_ui_text.c',
823 'efl_ui_text_factory_images.c',
824 'efl_ui_text_factory_emoticons.c',
825 'efl_ui_text_factory_fallback.c',
826 'efl_ui_clock.c',
827 'efl_ui_clock_private.h',
828 'efl_ui_image_factory.c',
829 'efl_ui_focus_manager.c',
830 'efl_ui_focus_manager_calc.c',
831 'efl_ui_focus_manager_sub.c',
832 'efl_ui_focus_object.c',
833 'efl_ui_focus_manager_root_focus.c',
834 'efl_ui_textpath.c',
835 'efl_ui_focus_layer.c',
836 'efl_ui_focus_composition.c',
837 'efl_ui_focus_parent_provider.c',
838 'efl_ui_focus_parent_provider_standard.c',
839 'efl_ui_focus_parent_provider_gen.c',
840 'efl_ui_focus_util.c',
841 'elm_widget_item_static_focus.c',
842 'efl_ui_item.c',
843 'efl_ui_list_item.c',
844 'efl_ui_list_default_item.c',
845 'efl_ui_list_empty_item.c',
846 'efl_ui_list.c',
847 'efl_ui_view_list.c',
848 'efl_ui_view_list_precise_layouter.c',
849 'efl_ui_view_list_segarray.c',
850 'efl_ui_layout_factory.c',
851 'efl_ui_scroller.c',
852 'efl_ui_scroll_manager.c',
853 'efl_ui_pan.c',
854 'efl_selection_manager.c',
855 'efl_selection_manager_private.h',
856 'efl_selection.c',
857 'efl_datetime_manager.c',
858 'efl_ui_dnd.c',
859 'elm_focus_legacy.c',
860 'efl_ui_pager.c',
861 'efl_page_transition.c',
862 'efl_page_transition_scroll.c',
863 'efl_page_indicator.c',
864 'efl_page_indicator_icon.c',
865 'efl_ui_focus_graph.h',
866 'efl_ui_focus_graph.c',
867 'efl_ui_tab_pager.c',
868 'efl_ui_tab_bar.c',
869 'efl_ui_tab_page.c',
870 'efl_ui_widget_focus_manager.c'
871]
872
873elementary_deps = [emile, eo, efl, edje, ethumb, ethumb_client, emotion, ecore_imf, ecore_con, eldbus, efreet, efreet_mime, efreet_trash, eio, atspi, dl, intl]
874elementary_pub_deps = [eina, eet, evas, ecore, ecore_evas, ecore_file, ecore_input, ecore_imf, ecore_con,
875 edje, eldbus, efreet, efreet_mime, efreet_trash, ethumb_client, efl, elocation]
876
877elm_options = configuration_data()
878
879config_h.set_quoted('ELM_TOP_BUILD_DIR', meson.build_root())
880config_h.set_quoted('MODULES_PATH', join_paths(dir_lib, 'modules'))
881config_h.set_quoted('ELEMENTARY_BASE_DIR', '.data')
882config_h.set_quoted('ICON_DIR', join_paths(dir_lib, 'icons'))
883
884elm_options.set('ELM_UNIX', '1')
885elm_options.set('ELM_ELOCATION', '1')
886
887if config_h.has('HAVE_ALLOCA_H')
888 elm_options.set('ELM_ALLOCA_H', '1')
889endif
890
891if config_h.has('HAVE_LIBINTL_H')
892 elm_options.set('ELM_LIBINTL_H', '1')
893endif
894
895if config_h.has('HAVE_DIRENT_H')
896 elm_options.set('ELM_DIRENT_H', '1')
897endif
898
899if get_option('x11')
900 config_h.set('HAVE_ELEMENTARY_X', '1')
901 elementary_deps += ecore_x
902endif
903
904if get_option('wl')
905 config_h.set('HAVE_ELEMENTARY_WL2', '1')
906 elementary_deps += ecore_wl2
907endif
908
909if get_option('drm')
910 config_h.set('HAVE_ELEMENTARY_DRM', '1')
911 elementary_deps += ecore_drm2
912endif
913
914if get_option('cocoa')
915 config_h.set('HAVE_ELEMENTARY_COCOA', '1')
916 elementary_deps += ecore_cocoa
917endif
918
919c = configure_file(
920 output: 'Elementary_Options.h',
921 install : true,
922 install_dir : dir_package_include,
923 configuration: elm_options)
924
925elm_package_c_args = package_c_args + ['-DELEMENTARY_BUILD=1']
926
927elementary_lib = library('elementary',
928 elementary_src, pub_eo_file_target, priv_eo_file_target, c,
929 dependencies: elementary_pub_deps + elementary_deps,
930 include_directories : config_dir + [include_directories('.')] + [include_directories(join_paths('..', '..', '..'))] + [ecore_evas_wayland_engine_include_dir],
931 install: true,
932 c_args : elm_package_c_args,
933 version : meson.project_version()
934)
935
936elementary = declare_dependency(
937 include_directories: [include_directories('.')],
938 link_with: elementary_lib,
939 sources : pub_eo_file_target + priv_eo_file_target,
940 dependencies: elementary_pub_deps,
941)
942
943install_data(pub_eo_files + pub_eo_types_files,
944 install_dir: join_paths(eolian_include_dir, package_version_name)
945)
946
947install_headers(elementary_header_src,
948 install_dir : dir_package_include,
949)
950
951elementary_config_dir = include_directories('.')
diff --git a/src/lib/elocation/gen/meson.build b/src/lib/elocation/gen/meson.build
new file mode 100644
index 0000000..58de776
--- /dev/null
+++ b/src/lib/elocation/gen/meson.build
@@ -0,0 +1,5 @@
1
2elocation_src += files([
3 'eldbus_geo_clue2_client.c',
4 'eldbus_geo_clue2_location.c',
5 'eldbus_geo_clue2_manager.c'])
diff --git a/src/lib/elocation/meson.build b/src/lib/elocation/meson.build
new file mode 100644
index 0000000..080ea57
--- /dev/null
+++ b/src/lib/elocation/meson.build
@@ -0,0 +1,28 @@
1elocation_deps = [eina, eo, efl, ecore, eldbus]
2elocation_pub_deps = [ecore, eldbus]
3
4elocation_src = files(['elocation.c'])
5
6subdir('gen')
7
8elocation_header_src = ['Elocation.h']
9
10
11elocation_lib = library('elocation',
12 elocation_src,
13 dependencies: [m] + elocation_deps + elocation_pub_deps,
14 include_directories : config_dir + [include_directories(join_paths('..','..'))],
15 install: true,
16 c_args : package_c_args,
17 version : meson.project_version()
18)
19
20elocation = declare_dependency(
21 include_directories: [include_directories('.')],
22 link_with: elocation_lib,
23 dependencies: elocation_pub_deps,
24)
25
26install_headers(elocation_header_src,
27 install_dir : dir_package_include,
28)
diff --git a/src/lib/elput/meson.build b/src/lib/elput/meson.build
new file mode 100644
index 0000000..c812ad7
--- /dev/null
+++ b/src/lib/elput/meson.build
@@ -0,0 +1,43 @@
1elput_deps = [ecore, ecore_input, eeze, eo, m]
2elput_pub_deps = [eina, eldbus]
3pub_eo_file_target = []
4
5elput_header_src = [
6 'Elput.h'
7]
8
9elput_src = [
10 'elput_touch.c',
11 'elput_evdev.c',
12 'elput_input.c',
13 'elput_logind.c',
14 'elput_manager.c',
15 'elput.c',
16 'elput_private.h'
17]
18
19elput_deps += dependency('libinput', version : ['>=1.7.0'])
20elput_deps += dependency('xkbcommon', version : ['>=0.3.0'])
21elput_deps += dependency('libudev')
22if get_option('systemd')
23 elput_deps += systemd
24endif
25
26elput_lib = library('elput',
27 elput_src, pub_eo_file_target,
28 dependencies: elput_pub_deps + elput_deps,
29 include_directories : config_dir,
30 install: true,
31 version : meson.project_version()
32)
33
34elput = declare_dependency(
35 include_directories: [include_directories('.')],
36 link_with: elput_lib,
37 sources : pub_eo_file_target + priv_eo_file_target,
38 dependencies: elput_pub_deps,
39)
40
41install_headers(elput_header_src,
42 install_dir : dir_package_include,
43)
diff --git a/src/lib/elua/meson.build b/src/lib/elua/meson.build
new file mode 100644
index 0000000..7e0c3af
--- /dev/null
+++ b/src/lib/elua/meson.build
@@ -0,0 +1,24 @@
1elua_deps = [eina, eo, efl, ecore, ecore_file, intl]
2elua_pub_deps = [luajit]
3
4elua_src = ['elua.c', 'io.c', 'cache.c']
5elua_header_src = ['Elua.h']
6
7elua_lib = library('elua',
8 elua_src,
9 dependencies: [m, dl] + elua_deps + elua_pub_deps,
10 include_directories : config_dir + [include_directories(join_paths('..','..'))],
11 install: true,
12 c_args : package_c_args,
13 version : meson.project_version()
14)
15
16elua = declare_dependency(
17 include_directories: [include_directories('.')],
18 link_with: elua_lib,
19 dependencies: elua_pub_deps,
20)
21
22install_headers(elua_header_src,
23 install_dir : dir_package_include,
24)
diff --git a/src/lib/embryo/meson.build b/src/lib/embryo/meson.build
new file mode 100644
index 0000000..6ab8af8
--- /dev/null
+++ b/src/lib/embryo/meson.build
@@ -0,0 +1,40 @@
1embryo_deps = [ecore]
2embryo_pub_deps = [eina, eo, efl]
3
4
5embryo_header_src = [
6 'Embryo.h'
7]
8
9embryo_src = [
10 'embryo_amx.c',
11 'embryo_args.c',
12 'embryo_float.c',
13 'embryo_main.c',
14 'embryo_rand.c',
15 'embryo_str.c',
16 'embryo_time.c',
17 'embryo_private.h'
18]
19
20embryo_deps = [eina, m]
21
22embryo_lib = library('embryo',
23 embryo_src,
24 dependencies: [m, buildsystem] + embryo_deps,
25 include_directories : config_dir + [include_directories(join_paths('..','..'))],
26 install: true,
27 c_args : package_c_args,
28 version : meson.project_version()
29)
30
31embryo = declare_dependency(
32 include_directories: [include_directories('.')],
33 link_with: embryo_lib,
34 sources : pub_eo_file_target + priv_eo_file_target,
35 dependencies: embryo_pub_deps,
36)
37
38install_headers(embryo_header_src,
39 install_dir : dir_package_include,
40)
diff --git a/src/lib/emile/meson.build b/src/lib/emile/meson.build
new file mode 100644
index 0000000..4ae888c
--- /dev/null
+++ b/src/lib/emile/meson.build
@@ -0,0 +1,42 @@
1emile_deps = [jpeg, crypto, dependency('zlib')]
2emile_pub_deps = [eina, efl]
3
4emile_headers = [
5 'Emile.h',
6 'emile_cipher.h',
7 'emile_compress.h',
8 'emile_image.h',
9 'emile_base64.h'
10]
11
12emile_src = [
13 'emile_private.h',
14 'emile_main.c',
15 'emile_compress.c',
16 'emile_image.c',
17 'emile_base64.c',
18]
19
20if (get_option('crypto') == 'gnutls')
21 emile_src += 'emile_cipher_gnutls.c'
22elif (get_option('crypto') == 'openssl')
23 emile_src += 'emile_cipher_openssl.c'
24endif
25
26emile_lib = library('emile',
27 emile_src,
28 include_directories: config_dir,
29 dependencies: emile_pub_deps + emile_deps + [lz4, rg_etc, m],
30 install: true,
31 version : meson.project_version()
32)
33
34emile = declare_dependency(
35 include_directories: include_directories('.'),
36 link_with: emile_lib,
37 dependencies: [eina, efl],
38)
39
40install_headers(emile_headers,
41 install_dir: dir_package_include
42)
diff --git a/src/lib/emotion/meson.build b/src/lib/emotion/meson.build
new file mode 100644
index 0000000..56fda43
--- /dev/null
+++ b/src/lib/emotion/meson.build
@@ -0,0 +1,70 @@
1pub_legacy_eo_files = [
2 'efl_canvas_video.eo'
3]
4