diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2018-08-12 15:26:29 +0200 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2018-10-02 17:22:50 +0200 |
commit | 46d464e5bfc10398461a33a2256c1c58d509dd1a (patch) | |
tree | 8c1a9272c05f14033a4430bc122632461bd73608 /src/lib/efl/interfaces | |
parent | 70ecf1056bb4be5a68b63044f938ccc2fe0a58c0 (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/efl/interfaces')
-rw-r--r-- | src/lib/efl/interfaces/meson.build | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/src/lib/efl/interfaces/meson.build b/src/lib/efl/interfaces/meson.build new file mode 100644 index 0000000000..8d29c404a8 --- /dev/null +++ b/src/lib/efl/interfaces/meson.build | |||
@@ -0,0 +1,155 @@ | |||
1 | pub_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 | |||
17 | pub_eo_file_target = [] | ||
18 | foreach 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 | |||
30 | endforeach | ||
31 | |||
32 | pub_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 | |||
96 | eolian_include_directories += ['-I', join_paths(meson.source_root(), 'src', 'lib', 'evas', 'canvas')] | ||
97 | |||
98 | foreach 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@']) | ||
108 | endforeach | ||
109 | |||
110 | pub_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 | |||
118 | foreach 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@']) | ||
127 | endforeach | ||
128 | |||
129 | pub_eo_files = files(pub_eo_files + pub_legacy_eo_files + pub_eo_types_files) | ||
130 | |||
131 | efl_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 | |||
155 | eolian_include_directories += ['-I', meson.current_source_dir()] | ||