• 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
73run_target('update-map-file',
74  command : [ join_paths(meson.source_root(), 'scripts/generate-map-file.sh'), 'map-file',
75              [ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ])
76
77versioning_link_args = '-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')
78
79libpulse = shared_library('pulse',
80  libpulse_sources,
81  libpulse_headers,
82  version : libpulse_version,
83  include_directories : [configinc, topinc],
84  c_args : [pa_c_args],
85  link_args : [nodelete_link_args, versioning_link_args],
86  install : true,
87  install_rpath : privlibdir,
88  dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep, libintl_dep, platform_dep, platform_socket_dep],
89  implicit_include_directories : false)
90
91libpulse_dep = declare_dependency(link_with: libpulse)
92
93install_headers(
94  libpulse_headers, 'simple.h',
95  subdir : 'pulse'
96)
97
98libpulse_simple = shared_library('pulse-simple',
99  'simple.c',
100  'simple.h',
101  version : libpulse_simple_version,
102  c_args : [pa_c_args],
103  link_args : [nodelete_link_args, versioning_link_args],
104  include_directories : [configinc, topinc],
105  dependencies : [libpulse_dep, libpulsecommon_dep],
106  install : true,
107  install_rpath : privlibdir,
108)
109
110libpulse_simple_dep = declare_dependency(link_with: libpulse_simple)
111
112if glib_dep.found()
113  libpulse_mainloop_glib = shared_library('pulse-mainloop-glib',
114    'glib-mainloop.c',
115    'glib-mainloop.h',
116    version : libpulse_mainloop_glib_version,
117    c_args : [pa_c_args],
118    link_args : [nodelete_link_args, versioning_link_args],
119    include_directories : [configinc, topinc],
120    dependencies : [libpulse_dep, libpulsecommon_dep, glib_dep],
121    install : true,
122    install_rpath : privlibdir,
123  )
124
125  libpulse_mainloop_glib_dep = declare_dependency(link_with: libpulse_mainloop_glib)
126endif
127
128# Configuration files
129
130client_conf = configuration_data()
131client_conf.set('PA_BINARY', cdata.get_unquoted('PA_BINARY'))
132
133client_conf_file = configure_file(
134  input : 'client.conf.in',
135  output : 'client.conf',
136  configuration : client_conf,
137  install_dir : pulsesysconfdir,
138)
139