a40c45a5e393e4f52ac30461ec7214a23c7d78b6
[platform/upstream/efl.git] / src / lib / ecore / meson.build
1 ecore_deps = [intl]
2 ecore_pub_deps = [eina, eo, efl]
3
4 pub_legacy_eo_files = [
5   'ecore_event_message.eo',
6   'ecore_event_message_handler.eo',
7 ]
8
9 pub_eo_file_target = []
10 foreach eo_file : pub_legacy_eo_files
11   pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
12     input : eo_file,
13     output : [eo_file + '.h'],
14     depfile : eo_file + '.d',
15     install : true,
16     install_dir : dir_package_include,
17     command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
18                            '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
19                            '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
20                            '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
21                            '-gchd', '@INPUT@'])
22 endforeach
23
24 pub_eo_files = [
25   'efl_app.eo',
26   'efl_loop.eo',
27   'efl_loop_consumer.eo',
28   'efl_loop_fd.eo',
29   'efl_loop_handler.eo',
30   'efl_loop_message.eo',
31   'efl_loop_message_handler.eo',
32   'efl_exe.eo',
33   'efl_thread.eo',
34   'efl_threadio.eo',
35   'efl_appthread.eo',
36   'efl_task.eo',
37   'efl_io_closer_fd.eo',
38   'efl_io_positioner_fd.eo',
39   'efl_io_reader_fd.eo',
40   'efl_io_sizer_fd.eo',
41   'efl_io_writer_fd.eo',
42   'efl_io_stdin.eo',
43   'efl_io_stdout.eo',
44   'efl_io_stderr.eo',
45   'efl_io_file.eo',
46   'efl_io_copier.eo',
47   'efl_io_buffered_stream.eo',
48   'efl_linear_interpolator.eo',
49   'efl_accelerate_interpolator.eo',
50   'efl_decelerate_interpolator.eo',
51   'efl_sinusoidal_interpolator.eo',
52   'efl_divisor_interpolator.eo',
53   'efl_bounce_interpolator.eo',
54   'efl_spring_interpolator.eo',
55   'efl_cubic_bezier_interpolator.eo',
56   'efl_loop_message_future_handler.eo',
57   'efl_loop_message_future.eo',
58   'efl_loop_model.eo',
59   'efl_generic_model.eo',
60   'efl_container_model.eo',
61   'efl_boolean_model.eo',
62   'efl_select_model.eo',
63   'efl_composite_model.eo',
64   'efl_view_model.eo',
65   'efl_core_env.eo',
66   'efl_core_proc_env.eo',
67   'efl_core_command_line.eo',
68   'efl_loop_timer.eo',
69 ]
70
71 foreach 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     depfile : eo_file + '.d',
76     install : true,
77     install_dir : dir_package_include,
78     command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
79                            '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
80                            '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
81                            '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
82                            '-gchd', '@INPUT@'])
83 endforeach
84
85 pub_eo_types_files = []
86
87 eolian_include_directories += ['-I', meson.current_source_dir()]
88
89 ecore_header_src = [
90   'Ecore.h',
91   'Ecore_Common.h',
92   'Ecore_Legacy.h',
93   'Ecore_Eo.h',
94   'Efl_Core.h',
95   'efl_general.h',
96   'Ecore_Getopt.h',
97   'ecore_exe_eo.h',
98   'ecore_exe_eo.legacy.h',
99   'efl_loop_timer_eo.legacy.h',
100 ]
101
102 ecore_src = [
103   'efl_app.c',
104   'ecore.c',
105   'ecore_alloc.c',
106   'ecore_anim.c',
107   'ecore_app.c',
108   'ecore_events.c',
109   'ecore_getopt.c',
110   'ecore_glib.c',
111   'ecore_idle_enterer.c',
112   'ecore_idle_exiter.c',
113   'ecore_idler.c',
114   'ecore_job.c',
115   'ecore_main.c',
116   'ecore_event_message.c',
117   'ecore_event_message_handler.c',
118   'efl_loop.c',
119   'efl_loop_consumer.c',
120   'efl_loop_fd.c',
121   'efl_loop_handler.c',
122   'efl_loop_message.c',
123   'efl_loop_message_future.c',
124   'efl_loop_message_handler.c',
125   'efl_loop_message_future_handler.c',
126   'efl_task.c',
127   'efl_io_closer_fd.c',
128   'efl_io_positioner_fd.c',
129   'efl_io_reader_fd.c',
130   'efl_io_sizer_fd.c',
131   'efl_io_writer_fd.c',
132   'efl_io_stdin.c',
133   'efl_io_stdout.c',
134   'efl_io_stderr.c',
135   'efl_io_file.c',
136   'efl_io_copier.c',
137   'efl_io_buffered_stream.c',
138   'efl_loop_model.c',
139   'efl_generic_model.c',
140   'efl_container_model.c',
141   'efl_composite_model.c',
142   'efl_boolean_model.c',
143   'efl_select_model.c',
144   'efl_composite_model_private.h',
145   'efl_model_accessor_view.c',
146   'efl_model_accessor_view_private.h',
147   'efl_view_model.c',
148   'efl_linear_interpolator.c',
149   'efl_accelerate_interpolator.c',
150   'efl_decelerate_interpolator.c',
151   'efl_sinusoidal_interpolator.c',
152   'efl_divisor_interpolator.c',
153   'efl_bounce_interpolator.c',
154   'efl_spring_interpolator.c',
155   'efl_cubic_bezier_interpolator.c',
156   'ecore_main_timechanges.c',
157   'ecore_pipe.c',
158   'ecore_poller.c',
159   'ecore_time.c',
160   'ecore_timer.c',
161   'ecore_thread.c',
162   'ecore_throttle.c',
163   'ecore_exe.c',
164   'ecore_exe_private.h',
165   'ecore_private.h',
166   'ecore_internal.h',
167   'ecore_main_common.h',
168   'efl_exe.c',
169   'efl_thread.c',
170   'efl_appthread.c',
171   'efl_threadio.c',
172   'efl_appthread.c',
173   'efl_core_env.c',
174   'efl_core_proc_env.c',
175   'efl_core_command_line.c',
176 ]
177
178 if sys_windows == true
179   #nothing for now ... needs testing
180   ecore_src += ['ecore_exe_win32.c']
181 else
182   ecore_src += ['ecore_signal.c', 'ecore_exe_posix.c']
183 endif
184
185 if get_option('glib') == true and sys_windows == false
186   ecore_deps += dependency('glib-2.0')
187   ecore_deps += dependency('gthread-2.0')
188   config_h.set('GLIB_INTEGRATION_ALWAYS', '1')
189   config_h.set('HAVE_GLIB', '1')
190 endif
191
192 if get_option('g-mainloop') == true
193   config_h.set('USE_G_MAIN_LOOP', '1')
194 endif
195
196 if get_option('gstreamer') == true
197   gstreamer = dependency('gstreamer-1.0')
198   ecore_deps += gstreamer
199 endif
200
201 if get_option('systemd') == true
202   ecore_deps += systemd
203 endif
204
205 ecore_lib = library('ecore',
206     ecore_src, pub_eo_file_target,
207     dependencies: ecore_pub_deps + [m, buildsystem, ecore_deps],
208     include_directories : config_dir + [include_directories(join_paths('..','..'))],
209     install: true,
210     c_args : package_c_args,
211     version : meson.project_version()
212 )
213
214 ecore = declare_dependency(
215   include_directories: [include_directories('.')],
216   link_with: ecore_lib,
217   sources : pub_eo_file_target + priv_eo_file_target,
218   dependencies: ecore_pub_deps,
219 )
220
221 eolian_ecore_dir = join_paths(eolian_include_dir, package_version_name)
222
223 install_data(pub_eo_files + pub_eo_types_files,
224   install_dir: eolian_ecore_dir
225 )
226
227 install_headers(ecore_header_src,
228   install_dir : dir_package_include,
229 )
230
231 #TODO:
232 # HAVE_TIZEN_CONFIGUREATION_MANAGER
233 # avahi