• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1configure_file(
2  input : 'version.h.in',
3  output : 'version.h',
4  configuration : cdata,
5  install_dir : join_paths(includedir, 'pulse'),
6)
7
8libpulse_sources = [
9  'channelmap.c',
10  'context.c',
11  'direction.c',
12  'error.c',
13  'ext-device-manager.c',
14  'ext-device-restore.c',
15  'ext-stream-restore.c',
16  'format.c',
17  'internal.h',
18  'introspect.c',
19  'mainloop-api.c',
20  'mainloop-signal.c',
21  'mainloop.c',
22  'operation.c',
23  'proplist.c',
24  'rtclock.c',
25  'sample.c',
26  'scache.c',
27  'stream.c',
28  'subscribe.c',
29  'thread-mainloop.c',
30  'timeval.c',
31  'utf8.c',
32  'util.c',
33  'volume.c',
34  'xmalloc.c',
35]
36
37libpulse_headers = [
38  'cdecl.h',
39  'channelmap.h',
40  'context.h',
41  'def.h',
42  'direction.h',
43  'error.h',
44  'ext-device-manager.h',
45  'ext-device-restore.h',
46  'ext-stream-restore.h',
47  'format.h',
48  'gccmacro.h',
49  'introspect.h',
50  'mainloop-api.h',
51  'mainloop-signal.h',
52  'mainloop.h',
53  'operation.h',
54  'proplist.h',
55  'pulseaudio.h',
56  'rtclock.h',
57  'sample.h',
58  'scache.h',
59  'stream.h',
60  'subscribe.h',
61  'thread-mainloop.h',
62  'timeval.h',
63  'utf8.h',
64  'util.h',
65  'volume.h',
66  'xmalloc.h',
67]
68
69if glib_dep.found()
70  libpulse_headers += 'glib-mainloop.h'
71endif
72
73if host_machine.system() != 'windows' and host_machine.system() != 'darwin'
74  run_target('update-map-file',
75    command : [ join_paths(meson.source_root(), 'scripts/generate-map-file.sh'), 'map-file', 'libpulse.def',
76                [ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ])
77
78  versioning_link_args = ['-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')]
79else
80  versioning_link_args = []
81endif
82
83libpulse = shared_library('pulse',
84  libpulse_sources,
85  libpulse_headers,
86  version : libpulse_version,
87  include_directories : [configinc, topinc],
88  c_args : [pa_c_args],
89  link_args : [nodelete_link_args, versioning_link_args],
90  install : true,
91  install_rpath : privlibdir,
92  dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep, libintl_dep, platform_dep, platform_socket_dep, libatomic_ops_dep],
93  implicit_include_directories : false,
94  vs_module_defs : 'libpulse.def',
95)
96
97libpulse_dep = declare_dependency(link_with: libpulse)
98
99install_headers(
100  libpulse_headers, 'simple.h',
101  subdir : 'pulse'
102)
103
104libpulse_simple = shared_library('pulse-simple',
105  'simple.c',
106  'simple.h',
107  version : libpulse_simple_version,
108  c_args : [pa_c_args],
109  link_args : [nodelete_link_args, versioning_link_args],
110  include_directories : [configinc, topinc],
111  dependencies : [libpulse_dep, libpulsecommon_dep],
112  install : true,
113  install_rpath : privlibdir,
114)
115
116libpulse_simple_dep = declare_dependency(link_with: libpulse_simple)
117
118if glib_dep.found()
119  libpulse_mainloop_glib = shared_library('pulse-mainloop-glib',
120    'glib-mainloop.c',
121    'glib-mainloop.h',
122    version : libpulse_mainloop_glib_version,
123    c_args : [pa_c_args],
124    link_args : [nodelete_link_args, versioning_link_args],
125    include_directories : [configinc, topinc],
126    dependencies : [libpulse_dep, libpulsecommon_dep, glib_dep],
127    install : true,
128    install_rpath : privlibdir,
129  )
130
131  libpulse_mainloop_glib_dep = declare_dependency(link_with: libpulse_mainloop_glib)
132endif
133
134# Configuration files
135
136client_conf = configuration_data()
137client_conf.set('PA_BINARY', cdata.get_unquoted('PA_BINARY'))
138
139client_conf_file = configure_file(
140  input : 'client.conf.in',
141  output : 'client.conf',
142  configuration : client_conf,
143  install_dir : pulsesysconfdir,
144)