summaryrefslogtreecommitdiff
path: root/src/lib/ecore_audio
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/ecore_audio
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/ecore_audio')
-rw-r--r--src/lib/ecore_audio/meson.build92
1 files changed, 92 insertions, 0 deletions
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)