efl
109 строк · 3.0 Кб
1ecore_audio_deps = [ecore]
2ecore_audio_pub_deps = [eina, eo]
3ecore_audio_ext_deps = [m]
4
5pub_eo_files = [
6'ecore_audio.eo',
7'ecore_audio_in.eo',
8'ecore_audio_out.eo',
9'ecore_audio_in_sndfile.eo',
10'ecore_audio_out_sndfile.eo',
11'ecore_audio_out_pulse.eo',
12'ecore_audio_in_tone.eo',
13'ecore_audio_out_wasapi.eo'
14]
15
16foreach eo_file : pub_eo_files
17pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
18input : eo_file,
19output : [eo_file + '.h'],
20depfile : eo_file + '.d',
21install : true,
22install_dir : dir_package_include,
23command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories,
24'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
25'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
26'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
27'-e', 'ECORE_AUDIO_API',
28'-gchd', '@INPUT@'])
29endforeach
30
31pub_eo_types_files = []
32
33ecore_audio_header_src = [
34'Ecore_Audio.h',
35'ecore_audio_obj.h',
36'ecore_audio_obj_in.h',
37'ecore_audio_obj_out.h',
38'ecore_audio_obj_in_tone.h',
39'ecore_audio_protected.h',
40'ecore_audio_obj_out_pulse.h',
41'ecore_audio_obj_in_sndfile.h',
42'ecore_audio_obj_out_sndfile.h',
43'ecore_audio_obj_out_wasapi.h'
44]
45
46ecore_audio_src = files([
47'ecore_audio.c',
48'ecore_audio_obj.c',
49'ecore_audio_obj_in.c',
50'ecore_audio_obj_out.c',
51'ecore_audio_obj_in_tone.c',
52'ecore_audio_private.h'
53])
54
55ecore_audio_src += files([
56'ecore_audio_obj_in_sndfile.c',
57'ecore_audio_obj_out_sndfile.c',
58'ecore_audio_sndfile_vio.c'
59])
60
61ecore_audio_deps += dependency('sndfile')
62config_h.set('HAVE_SNDFILE', '1')
63
64if get_option('pulseaudio')
65ecore_audio_ext_deps += dependency('libpulse')
66
67ecore_audio_src += files([
68'ecore_audio_pulse_ml.c',
69'ecore_audio_obj_out_pulse.c'
70])
71
72config_h.set('HAVE_PULSE', '1')
73endif
74
75if sys_windows == true
76ecore_audio_src += files([
77'ecore_audio_obj_out_wasapi.c'
78])
79ecore_audio_ext_deps += [cc.find_library('ksuser', required: true), cc.find_library('winmm', required: true)]
80endif
81
82ecore_audio_lib = library('ecore_audio',
83ecore_audio_src, pub_eo_file_target,
84c_args : [package_c_args, '-DECORE_AUDIO_BUILD'],
85dependencies: ecore_audio_pub_deps + ecore_audio_deps + ecore_audio_ext_deps,
86include_directories : config_dir,
87install: true,
88version : meson.project_version()
89)
90
91ecore_audio = declare_dependency(
92include_directories: [include_directories('.')],
93link_with: ecore_audio_lib,
94sources : pub_eo_file_target + priv_eo_file_target,
95dependencies: ecore_audio_pub_deps,
96)
97
98#
99# Only enable that again when the namespace problems are fixed. ref T8648
100#
101#if get_option('install-eo-files')
102# install_data(pub_eo_files + pub_eo_types_files,
103# install_dir: eolian_ecore_dir
104# )
105#endif
106
107install_headers(ecore_audio_header_src,
108install_dir : dir_package_include,
109)
110