summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile.am')
-rw-r--r--src/Makefile.am2314
1 files changed, 2314 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..454b644
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,2314 @@
+# This file is part of PulseAudio.
+#
+# Copyright 2004-2006 Lennart Poettering
+# Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
+# Copyright 2006 Diego Pettenò
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
+
+###################################
+# Extra directories #
+###################################
+
+pulseincludedir=$(includedir)/pulse
+pulsecoreincludedir=$(includedir)/pulsecore
+pulselibexecdir=$(libexecdir)/pulse
+if HAVE_X11
+xdgautostartdir=$(sysconfdir)/xdg/autostart
+endif
+if HAVE_ALSA
+alsaprofilesetsdir=$(alsadatadir)/profile-sets
+alsapathsdir=$(alsadatadir)/paths
+endif
+if HAVE_DBUS
+dbuspolicydir=$(sysconfdir)/dbus-1/system.d
+endif
+if HAVE_GSETTINGS
+gsettingsdataconvertdir=$(datadir)/GConf/gsettings
+endif
+
+###################################
+# Compiler/linker flags #
+###################################
+
+AM_CPPFLAGS = \
+ -I$(top_srcdir)/src \
+ -I$(top_srcdir)/src/modules \
+ -I$(top_builddir)/src/modules \
+ -DPA_ALSA_PATHS_DIR=\"$(alsapathsdir)\" \
+ -DPA_ALSA_PROFILE_SETS_DIR=\"$(alsaprofilesetsdir)\" \
+ -DPA_SRCDIR=\"$(abs_srcdir)\" \
+ -DPA_BUILDDIR=\"$(abs_builddir)\" \
+ -DPULSE_LOCALEDIR=\"$(localedir)\"
+AM_CFLAGS = -std=gnu11 \
+ $(PTHREAD_CFLAGS)
+AM_CXXFLAGS = -std=c++11 \
+ $(PTHREAD_CFLAGS)
+SERVER_CFLAGS = -D__INCLUDED_FROM_PULSE_AUDIO
+
+AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)
+AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
+AM_LDFLAGS =
+# Should only be applied to libraries.
+AM_LIBLDFLAGS = $(NODELETE_LDFLAGS)
+
+if HAVE_GCOV
+AM_CFLAGS+=$(GCOV_CFLAGS)
+AM_CXXFLAGS+=$(GCOV_CFLAGS)
+AM_LDFLAGS+=$(GCOV_LIBS)
+endif
+
+if STATIC_BINS
+BINLDFLAGS = -static
+endif
+
+if OS_IS_WIN32
+AM_LDFLAGS+=-Wl,--export-all-symbols,--enable-auto-import -no-undefined
+WINSOCK_LIBS=-lwsock32 -lws2_32 -lwininet
+endif
+
+if OS_IS_DARWIN
+AM_LDFLAGS+=-Wl,-headerpad_max_install_names -headerpad_max_install_names
+endif
+
+FOREIGN_CFLAGS = -w
+
+MODULE_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -module -disable-static -avoid-version $(NOUNDEFINED_LDFLAGS)
+MODULE_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+
+###################################
+# Extra files #
+###################################
+
+EXTRA_DIST = \
+ pulse/client.conf.in \
+ pulse/version.h.in \
+ pulsecore/filter/LICENSE.WEBKIT \
+ daemon/daemon.conf.in \
+ daemon/default.pa.in \
+ daemon/system.pa.in \
+ depmod.py \
+ daemon/esdcompat.in \
+ daemon/start-pulseaudio-x11.in \
+ daemon/systemd/user/pulseaudio.service.in \
+ daemon/systemd/user/pulseaudio.socket \
+ utils/padsp.in \
+ utils/qpaeq \
+ utils/pa-info \
+ daemon/pulseaudio.desktop.in \
+ map-file \
+ daemon/pulseaudio-system.conf \
+ modules/echo-cancel/adrian-license.txt \
+ modules/gsettings/org.freedesktop.pulseaudio.gschema.xml \
+ modules/gsettings/pulseaudio.convert
+
+pulseconf_DATA = \
+ default.pa \
+ system.pa \
+ daemon.conf \
+ client.conf
+
+if HAVE_DBUS
+dbuspolicy_DATA = \
+ daemon/pulseaudio-system.conf
+endif
+
+if HAVE_X11
+xdgautostart_in_files = \
+ daemon/pulseaudio.desktop.in
+xdgautostart_DATA = $(xdgautostart_in_files:.desktop.in=.desktop)
+$(xdgautostart_DATA): $(xdgautostart_in_files)
+ $(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
+
+endif
+
+
+###################################
+# Includes #
+###################################
+
+BUILT_SOURCES =
+CLEANFILES =
+include $(top_srcdir)/orc.mak
+ORC_SOURCE =
+
+###################################
+# Main daemon #
+###################################
+
+bin_PROGRAMS = pulseaudio
+
+pulseaudio_SOURCES = \
+ daemon/caps.c daemon/caps.h \
+ daemon/cmdline.c daemon/cmdline.h \
+ daemon/cpulimit.c daemon/cpulimit.h \
+ daemon/daemon-conf.c daemon/daemon-conf.h \
+ daemon/dumpmodules.c daemon/dumpmodules.h \
+ daemon/ltdl-bind-now.c daemon/ltdl-bind-now.h \
+ daemon/main.c
+
+pulseaudio_CFLAGS = $(AM_CFLAGS) $(CAP_CFLAGS)
+pulseaudio_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(LIBLTDL) $(CAP_LIBS)
+# This is needed because automake doesn't properly expand the foreach below
+pulseaudio_DEPENDENCIES = libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(PREOPEN_LIBS)
+
+if HAVE_DBUS
+pulseaudio_CFLAGS += $(DBUS_CFLAGS)
+pulseaudio_SOURCES += daemon/server-lookup.c daemon/server-lookup.h
+pulseaudio_LDADD += $(DBUS_LIBS)
+endif
+
+if PREOPEN_MODS
+PREOPEN_LIBS = $(PREOPEN_MODS)
+else
+PREOPEN_LIBS = $(modlibexec_LTLIBRARIES)
+endif
+
+if FORCE_PREOPEN
+pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -ffast-math -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f))
+else
+pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -ffast-math -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f))
+endif
+
+if HAVE_SYSTEMD_DAEMON
+pulseaudio_CFLAGS += $(SYSTEMD_FLAGS) $(SYSTEMDDAEMON_FLAGS)
+pulseaudio_LDFLAGS += $(SYSTEMD_LIBS) $(SYSTEMDDAEMON_LIBS)
+endif
+
+###################################
+# Utility programs #
+###################################
+
+bin_SCRIPTS = \
+ utils/pa-info
+
+if HAVE_ESOUND
+bin_SCRIPTS += esdcompat
+endif
+
+bin_PROGRAMS += \
+ pacat \
+ pactl
+
+if !OS_IS_WIN32
+bin_PROGRAMS += pasuspender
+endif
+
+if HAVE_AF_UNIX
+bin_PROGRAMS += pacmd
+endif
+
+if HAVE_X11
+bin_PROGRAMS += pax11publish
+bin_SCRIPTS += start-pulseaudio-x11
+endif
+
+pacat_SOURCES = utils/pacat.c
+pacat_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la $(LIBSNDFILE_LIBS)
+pacat_CFLAGS = $(AM_CFLAGS) $(LIBSNDFILE_CFLAGS)
+pacat_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+pactl_SOURCES = utils/pactl.c
+pactl_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la $(LIBSNDFILE_LIBS)
+pactl_CFLAGS = $(AM_CFLAGS) $(LIBSNDFILE_CFLAGS)
+pactl_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+pasuspender_SOURCES = utils/pasuspender.c
+pasuspender_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+pasuspender_CFLAGS = $(AM_CFLAGS)
+pasuspender_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+pacmd_SOURCES = utils/pacmd.c
+pacmd_CFLAGS = $(AM_CFLAGS)
+pacmd_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+pacmd_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+pax11publish_SOURCES = utils/pax11publish.c
+pax11publish_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
+pax11publish_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la $(X11_LIBS)
+pax11publish_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+if HAVE_SYSTEMD_DAEMON
+
+systemduserunit_DATA = \
+ pulseaudio.service \
+ daemon/systemd/user/pulseaudio.socket
+
+endif
+
+###################################
+# Test programs #
+###################################
+noinst_LTLIBRARIES =
+
+TESTS_default = \
+ asyncmsgq-test \
+ asyncq-test \
+ channelmap-test \
+ close-test \
+ core-util-test \
+ cpu-mix-test \
+ cpu-remap-test \
+ cpu-sconv-test \
+ cpu-volume-test \
+ format-test \
+ get-binary-name-test \
+ hashmap-test \
+ hook-list-test \
+ json-test \
+ lfe-filter-test \
+ lock-autospawn-test \
+ mainloop-test \
+ memblock-test \
+ memblockq-test \
+ mix-test \
+ mult-s16-test \
+ proplist-test \
+ queue-test \
+ resampler-test \
+ rtpoll-test \
+ smoother-test \
+ strlist-test \
+ thread-mainloop-test \
+ thread-test \
+ utf8-test \
+ volume-test
+
+TESTS_norun = \
+ ipacl-test \
+ mcalign-test \
+ pacat-simple \
+ parec-simple \
+ flist-test \
+ remix-test \
+ rtstutter \
+ sig2str-test \
+ stripnul \
+ echo-cancel-test \
+ lo-latency-test
+
+# These tests need a running pulseaudio daemon
+TESTS_daemon = \
+ extended-test \
+ passthrough-test \
+ sync-playback
+
+# These tests need a running daemon and take a while to complete
+TESTS_daemon_long = \
+ connect-stress \
+ interpol-test
+
+if !OS_IS_WIN32
+TESTS_default += \
+ sigbus-test \
+ usergroup-test
+endif
+
+if HAVE_PTHREAD_SETAFFINITY_NP
+TESTS_norun += \
+ atomic-test
+endif
+
+if HAVE_SYS_EVENTFD_H
+TESTS_default += \
+ srbchannel-test
+endif
+
+if !OS_IS_DARWIN
+TESTS_default += \
+ once-test
+endif
+
+if HAVE_SIGXCPU
+TESTS_norun += \
+ cpulimit-test \
+ cpulimit-test2
+endif
+
+if HAVE_GLIB20
+TESTS_default += \
+ mainloop-test-glib
+
+if HAVE_GTK30
+# gtk-test depends on both glib and gtk
+TESTS_norun += \
+ gtk-test
+endif
+endif
+
+if HAVE_ALSA
+TESTS_norun += \
+ alsa-time-test
+TESTS_default += \
+ alsa-mixer-path-test
+endif
+
+if HAVE_TESTS
+TESTS_ENVIRONMENT=MAKE_CHECK=1
+TESTS = $(TESTS_default)
+
+if BUILD_TESTS_DEFAULT
+noinst_PROGRAMS = $(TESTS_default) $(TESTS_norun) $(TESTS_daemon) $(TESTS_daemon_long)
+else
+check_PROGRAMS = $(TESTS_default) $(TESTS_norun)
+endif
+
+check-daemon: $(TESTS_daemon)
+ PATH=$(builddir):${PATH} $(top_srcdir)/src/tests/test-daemon.sh $(TESTS_daemon)
+
+check-daemon-long: $(TESTS_daemon_long)
+ PATH=$(builddir):${PATH} $(top_srcdir)/src/tests/test-daemon.sh $(TESTS_daemon_long)
+
+else
+TESTS_ENVIRONMENT=
+TESTS =
+noinst_PROGRAMS =
+check_PROGRAMS =
+
+check-daemon:
+ @echo "Tests are disabled!"
+ @echo "Pass option \"--enable-tests\" to configure and install \"check\" library properly!"
+ false
+
+check-daemon-long: check-daemon
+
+endif
+
+core_util_test_SOURCES = tests/core-util-test.c
+core_util_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+core_util_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+core_util_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+hashmap_test_SOURCES = tests/hashmap-test.c
+hashmap_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+hashmap_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+hashmap_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+mainloop_test_SOURCES = tests/mainloop-test.c
+mainloop_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+mainloop_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+thread_mainloop_test_SOURCES = tests/thread-mainloop-test.c
+thread_mainloop_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+thread_mainloop_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+thread_mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+utf8_test_SOURCES = tests/utf8-test.c
+utf8_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+utf8_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+utf8_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+format_test_SOURCES = tests/format-test.c
+format_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+format_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+format_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+json_test_SOURCES = tests/json-test.c
+json_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+json_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+json_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+srbchannel_test_SOURCES = tests/srbchannel-test.c
+srbchannel_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+srbchannel_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+srbchannel_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+atomic_test_SOURCES = tests/atomic-test.c
+atomic_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+atomic_test_LDADD = $(AM_LDADD) libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+atomic_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+get_binary_name_test_SOURCES = tests/get-binary-name-test.c
+get_binary_name_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+get_binary_name_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+get_binary_name_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+ipacl_test_SOURCES = tests/ipacl-test.c
+ipacl_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+ipacl_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+ipacl_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+hook_list_test_SOURCES = tests/hook-list-test.c
+hook_list_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+hook_list_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+hook_list_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+memblock_test_SOURCES = tests/memblock-test.c
+memblock_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+memblock_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+memblock_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+thread_test_SOURCES = tests/thread-test.c
+thread_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+thread_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+thread_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+once_test_SOURCES = tests/once-test.c
+once_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+once_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+once_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+flist_test_SOURCES = tests/flist-test.c
+flist_test_CFLAGS = $(AM_CFLAGS)
+flist_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+flist_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+asyncq_test_SOURCES = tests/asyncq-test.c
+asyncq_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+asyncq_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+asyncq_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+asyncmsgq_test_SOURCES = tests/asyncmsgq-test.c
+asyncmsgq_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+asyncmsgq_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+asyncmsgq_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+queue_test_SOURCES = tests/queue-test.c
+queue_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+queue_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+queue_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+rtpoll_test_SOURCES = tests/rtpoll-test.c
+rtpoll_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+rtpoll_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+rtpoll_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+mcalign_test_SOURCES = tests/mcalign-test.c
+mcalign_test_CFLAGS = $(AM_CFLAGS)
+mcalign_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+mcalign_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+pacat_simple_SOURCES = tests/pacat-simple.c
+pacat_simple_LDADD = $(AM_LDADD) libpulse.la libpulse-simple.la
+pacat_simple_CFLAGS = $(AM_CFLAGS)
+pacat_simple_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+parec_simple_SOURCES = tests/parec-simple.c
+parec_simple_LDADD = $(AM_LDADD) libpulse.la libpulse-simple.la
+parec_simple_CFLAGS = $(AM_CFLAGS)
+parec_simple_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+extended_test_SOURCES = tests/extended-test.c
+extended_test_LDADD = $(AM_LDADD) libpulse.la
+extended_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+extended_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+passthrough_test_SOURCES = tests/passthrough-test.c
+passthrough_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+passthrough_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+passthrough_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+strlist_test_SOURCES = tests/strlist-test.c
+strlist_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+strlist_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+strlist_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+close_test_SOURCES = tests/close-test.c
+close_test_CFLAGS = $(AM_CFLAGS)
+close_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+close_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+volume_test_SOURCES = tests/volume-test.c
+volume_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+volume_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+volume_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+channelmap_test_SOURCES = tests/channelmap-test.c
+channelmap_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+channelmap_test_LDADD = $(AM_LDADD) libpulse.la
+channelmap_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+cpulimit_test_SOURCES = tests/cpulimit-test.c daemon/cpulimit.c daemon/cpulimit.h
+cpulimit_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+cpulimit_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+cpulimit_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+cpulimit_test2_SOURCES = tests/cpulimit-test.c daemon/cpulimit.c daemon/cpulimit.h
+cpulimit_test2_CFLAGS = $(AM_CFLAGS) -DTEST2 $(LIBCHECK_CFLAGS)
+cpulimit_test2_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+cpulimit_test2_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+mainloop_test_glib_SOURCES = $(mainloop_test_SOURCES)
+mainloop_test_glib_CFLAGS = $(mainloop_test_CFLAGS) $(LIBCHECK_CFLAGS) $(GLIB20_CFLAGS) -DGLIB_MAIN_LOOP
+mainloop_test_glib_LDADD = $(mainloop_test_LDADD) $(GLIB20_LIBS) libpulse-mainloop-glib.la
+mainloop_test_glib_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+memblockq_test_SOURCES = tests/memblockq-test.c
+memblockq_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+memblockq_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+memblockq_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+sync_playback_SOURCES = tests/sync-playback.c
+sync_playback_LDADD = $(AM_LDADD) libpulse.la
+sync_playback_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+sync_playback_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+interpol_test_SOURCES = tests/interpol-test.c
+interpol_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+interpol_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+interpol_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+sig2str_test_SOURCES = tests/sig2str-test.c
+sig2str_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+sig2str_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+sig2str_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+resampler_test_SOURCES = tests/resampler-test.c
+resampler_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+resampler_test_CFLAGS = $(AM_CFLAGS)
+resampler_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+mix_test_SOURCES = tests/mix-test.c
+mix_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+mix_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+mix_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+remix_test_SOURCES = tests/remix-test.c
+remix_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+remix_test_CFLAGS = $(AM_CFLAGS)
+remix_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+smoother_test_SOURCES = tests/smoother-test.c
+smoother_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+smoother_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+smoother_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+proplist_test_SOURCES = tests/proplist-test.c
+proplist_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+proplist_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+proplist_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+cpu_mix_test_SOURCES = tests/cpu-mix-test.c tests/runtime-test-util.h
+cpu_mix_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+cpu_mix_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+cpu_mix_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+cpu_remap_test_SOURCES = tests/cpu-remap-test.c tests/runtime-test-util.h
+cpu_remap_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+cpu_remap_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+cpu_remap_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+cpu_sconv_test_SOURCES = tests/cpu-sconv-test.c tests/runtime-test-util.h
+cpu_sconv_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+cpu_sconv_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+cpu_sconv_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+cpu_volume_test_SOURCES = tests/cpu-volume-test.c tests/runtime-test-util.h
+cpu_volume_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+cpu_volume_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+cpu_volume_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+mult_s16_test_SOURCES = tests/mult-s16-test.c tests/runtime-test-util.h
+mult_s16_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+mult_s16_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+mult_s16_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+lfe_filter_test_SOURCES = tests/lfe-filter-test.c
+lfe_filter_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+lfe_filter_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+lfe_filter_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+rtstutter_SOURCES = tests/rtstutter.c
+rtstutter_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+rtstutter_CFLAGS = $(AM_CFLAGS)
+rtstutter_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+stripnul_SOURCES = tests/stripnul.c
+stripnul_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+stripnul_CFLAGS = $(AM_CFLAGS)
+stripnul_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+lock_autospawn_test_SOURCES = tests/lock-autospawn-test.c
+lock_autospawn_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+lock_autospawn_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+lock_autospawn_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+sigbus_test_SOURCES = tests/sigbus-test.c
+sigbus_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+sigbus_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+sigbus_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+gtk_test_SOURCES = tests/gtk-test.c
+gtk_test_LDADD = $(AM_LDADD) $(GTK30_LIBS) libpulse-mainloop-glib.la libpulse.la
+gtk_test_CFLAGS = $(AM_CFLAGS) $(GTK30_CFLAGS)
+gtk_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+alsa_time_test_SOURCES = tests/alsa-time-test.c
+alsa_time_test_LDADD = $(AM_LDADD) $(ASOUNDLIB_LIBS)
+alsa_time_test_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
+alsa_time_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+alsa_mixer_path_test_SOURCES = tests/alsa-mixer-path-test.c
+alsa_mixer_path_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS) $(ASOUNDLIB_CFLAGS)
+alsa_mixer_path_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la libalsa-util.la
+alsa_mixer_path_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+usergroup_test_SOURCES = tests/usergroup-test.c
+usergroup_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+usergroup_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+usergroup_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+connect_stress_SOURCES = tests/connect-stress.c
+connect_stress_LDADD = $(AM_LDADD) libpulse.la
+connect_stress_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+connect_stress_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+echo_cancel_test_SOURCES = $(module_echo_cancel_la_SOURCES)
+nodist_echo_cancel_test_SOURCES = $(nodist_module_echo_cancel_la_SOURCES)
+echo_cancel_test_LDADD = $(module_echo_cancel_la_LIBADD)
+echo_cancel_test_CFLAGS = $(module_echo_cancel_la_CFLAGS) -DECHO_CANCEL_TEST=1
+if HAVE_WEBRTC
+echo_cancel_test_CXXFLAGS = $(module_echo_cancel_la_CXXFLAGS) -DECHO_CANCEL_TEST=1
+endif
+echo_cancel_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+liblo_test_util_la_SOURCES = tests/lo-test-util.h tests/lo-test-util.c
+liblo_test_util_la_LIBADD = libpulsecore-@PA_MAJORMINOR@.la
+liblo_test_util_la_LDFLAGS = -avoid-version
+noinst_LTLIBRARIES += liblo-test-util.la
+
+lo_latency_test_SOURCES = tests/lo-latency-test.c
+lo_latency_test_LDADD = $(AM_LDADD) libpulse.la liblo-test-util.la
+lo_latency_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+lo_latency_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
+
+###################################
+# Common library #
+###################################
+
+commonlibdir = $(pkglibdir)
+commonlib_LTLIBRARIES = \
+ libpulsecommon-@PA_MAJORMINOR@.la
+
+# We duplicate files from pulse/ in this to allow as-needed linking. If we did
+# not do this, in situations where code in libpulsecommon uses code in
+# libpulse, we would then need to link libpulsecommon to libpulse (in addition
+# to the existing libpulse being linked to libpulsecommon). Duplicating the
+# code allows us to prevent this circular linking.
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
+ pulse/client-conf.c pulse/client-conf.h \
+ pulse/fork-detect.c pulse/fork-detect.h \
+ pulse/format.c pulse/format.h \
+ pulse/json.c pulse/json.h \
+ pulse/xmalloc.c pulse/xmalloc.h \
+ pulse/proplist.c pulse/proplist.h \
+ pulse/utf8.c pulse/utf8.h \
+ pulse/channelmap.c pulse/channelmap.h \
+ pulse/sample.c pulse/sample.h \
+ pulse/util.c pulse/util.h \
+ pulse/timeval.c pulse/timeval.h \
+ pulse/rtclock.c pulse/rtclock.h \
+ pulse/volume.c pulse/volume.h \
+ pulsecore/atomic.h \
+ pulsecore/authkey.c pulsecore/authkey.h \
+ pulsecore/conf-parser.c pulsecore/conf-parser.h \
+ pulsecore/core-error.c pulsecore/core-error.h \
+ pulsecore/core-format.c pulsecore/core-format.h \
+ pulsecore/core-rtclock.c pulsecore/core-rtclock.h \
+ pulsecore/core-util.c pulsecore/core-util.h \
+ pulsecore/creds.h \
+ pulsecore/dynarray.c pulsecore/dynarray.h \
+ pulsecore/endianmacros.h \
+ pulsecore/fdsem.c pulsecore/fdsem.h \
+ pulsecore/flist.c pulsecore/flist.h \
+ pulsecore/g711.c pulsecore/g711.h \
+ pulsecore/hashmap.c pulsecore/hashmap.h \
+ pulsecore/i18n.c pulsecore/i18n.h \
+ pulsecore/idxset.c pulsecore/idxset.h \
+ pulsecore/arpa-inet.c pulsecore/arpa-inet.h \
+ pulsecore/iochannel.c pulsecore/iochannel.h \
+ pulsecore/ioline.c pulsecore/ioline.h \
+ pulsecore/ipacl.c pulsecore/ipacl.h \
+ pulsecore/llist.h \
+ pulsecore/lock-autospawn.c pulsecore/lock-autospawn.h \
+ pulsecore/log.c pulsecore/log.h \
+ pulsecore/ratelimit.c pulsecore/ratelimit.h \
+ pulsecore/macro.h \
+ pulsecore/mcalign.c pulsecore/mcalign.h \
+ pulsecore/memblock.c pulsecore/memblock.h \
+ pulsecore/memblockq.c pulsecore/memblockq.h \
+ pulsecore/memchunk.c pulsecore/memchunk.h \
+ pulsecore/native-common.c pulsecore/native-common.h \
+ pulsecore/once.c pulsecore/once.h \
+ pulsecore/packet.c pulsecore/packet.h \
+ pulsecore/parseaddr.c pulsecore/parseaddr.h \
+ pulsecore/pdispatch.c pulsecore/pdispatch.h \
+ pulsecore/pid.c pulsecore/pid.h \
+ pulsecore/pipe.c pulsecore/pipe.h \
+ pulsecore/memtrap.c pulsecore/memtrap.h \
+ pulsecore/aupdate.c pulsecore/aupdate.h \
+ pulsecore/proplist-util.c pulsecore/proplist-util.h \
+ pulsecore/pstream-util.c pulsecore/pstream-util.h \
+ pulsecore/pstream.c pulsecore/pstream.h \
+ pulsecore/queue.c pulsecore/queue.h \
+ pulsecore/random.c pulsecore/random.h \
+ pulsecore/refcnt.h \
+ pulsecore/srbchannel.c pulsecore/srbchannel.h \
+ pulsecore/sample-util.c pulsecore/sample-util.h \
+ pulsecore/mem.h \
+ pulsecore/shm.c pulsecore/shm.h \
+ pulsecore/bitset.c pulsecore/bitset.h \
+ pulsecore/socket-client.c pulsecore/socket-client.h \
+ pulsecore/socket-server.c pulsecore/socket-server.h \
+ pulsecore/socket-util.c pulsecore/socket-util.h \
+ pulsecore/strbuf.c pulsecore/strbuf.h \
+ pulsecore/strlist.c pulsecore/strlist.h \
+ pulsecore/tagstruct.c pulsecore/tagstruct.h \
+ pulsecore/time-smoother.c pulsecore/time-smoother.h \
+ pulsecore/tokenizer.c pulsecore/tokenizer.h \
+ pulsecore/usergroup.c pulsecore/usergroup.h \
+ pulsecore/sndfile-util.c pulsecore/sndfile-util.h \
+ pulsecore/socket.h
+
+if OS_IS_WIN32
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
+ pulsecore/poll-win32.c pulsecore/poll.h \
+ pulsecore/winerrno.h
+else
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += pulsecore/poll-posix.c pulsecore/poll.h
+endif
+
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBSNDFILE_CFLAGS)
+libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libpulsecommon_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBWRAP_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBSNDFILE_LIBS)
+
+if HAVE_MEMFD
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
+ pulsecore/memfd-wrappers.h
+endif
+
+if HAVE_X11
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
+ pulse/client-conf-x11.c pulse/client-conf-x11.h \
+ pulsecore/x11prop.c pulsecore/x11prop.h
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(X11_CFLAGS)
+libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS += $(X11_LIBS)
+endif
+
+if HAVE_SYSTEMD_DAEMON
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(SYSTEMD_FLAGS) $(SYSTEMDDAEMON_FLAGS)
+libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS += $(SYSTEMD_LIBS) $(SYSTEMDDAEMON_LIBS)
+endif
+if HAVE_SYSTEMD_JOURNAL
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(SYSTEMD_FLAGS) $(SYSTEMDJOURNAL_FLAGS)
+libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS += $(SYSTEMD_LIBS) $(SYSTEMDJOURNAL_LIBS)
+endif
+
+# proplist-util.h uses these header files, but not the library itself!
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(GLIB20_CFLAGS) $(GTK30_CFLAGS)
+
+## Please note that libpulsecommon implicitly also depends on<
+## libpulse! i.e. we have a cyclic dependency here. Which is intended
+## since libpulse only includes stable, official APIs, while
+## libpulsecommon only includes unofficial APIs.
+
+if OS_IS_WIN32
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
+ pulsecore/mutex-win32.c pulsecore/mutex.h \
+ pulsecore/thread-win32.c pulsecore/thread.h \
+ pulsecore/semaphore-win32.c pulsecore/semaphore.h
+else !OS_IS_WIN32
+if OS_IS_DARWIN
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
+ pulsecore/mutex-posix.c pulsecore/mutex.h \
+ pulsecore/thread-posix.c pulsecore/thread.h \
+ pulsecore/semaphore-osx.c pulsecore/semaphore.h
+else !OS_IS_DARWIN
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
+ pulsecore/mutex-posix.c pulsecore/mutex.h \
+ pulsecore/thread-posix.c pulsecore/thread.h \
+ pulsecore/semaphore-posix.c pulsecore/semaphore.h
+endif !OS_IS_DARWIN
+endif !OS_IS_WIN32
+
+if HAVE_LIBASYNCNS
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(LIBASYNCNS_CFLAGS)
+libpulsecommon_@PA_MAJORMINOR@_la_LIBADD += $(LIBASYNCNS_LIBS)
+endif
+
+if OS_IS_WIN32
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += pulsecore/dllmain.c
+endif
+
+if HAVE_DBUS
+libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
+ pulsecore/dbus-util.c pulsecore/dbus-util.h \
+ pulsecore/rtkit.c pulsecore/rtkit.h
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(DBUS_CFLAGS)
+libpulsecommon_@PA_MAJORMINOR@_la_LIBADD += $(DBUS_LIBS)
+endif
+
+###################################
+# Client library #
+###################################
+
+pulseinclude_HEADERS = \
+ pulse/cdecl.h \
+ pulse/channelmap.h \
+ pulse/context.h \
+ pulse/def.h \
+ pulse/direction.h \
+ pulse/error.h \
+ pulse/ext-device-manager.h \
+ pulse/ext-device-restore.h \
+ pulse/ext-stream-restore.h \
+ pulse/format.h \
+ pulse/gccmacro.h \
+ pulse/introspect.h \
+ pulse/mainloop-api.h \
+ pulse/mainloop-signal.h \
+ pulse/mainloop.h \
+ pulse/operation.h \
+ pulse/proplist.h \
+ pulse/pulseaudio.h \
+ pulse/rtclock.h \
+ pulse/sample.h \
+ pulse/scache.h \
+ pulse/simple.h \
+ pulse/stream.h \
+ pulse/subscribe.h \
+ pulse/thread-mainloop.h \
+ pulse/timeval.h \
+ pulse/utf8.h \
+ pulse/util.h \
+ pulse/version.h \
+ pulse/volume.h \
+ pulse/xmalloc.h
+
+lib_LTLIBRARIES = \
+ libpulse.la \
+ libpulse-simple.la
+
+if HAVE_GLIB20
+pulseinclude_HEADERS += \
+ pulse/glib-mainloop.h
+
+lib_LTLIBRARIES += \
+ libpulse-mainloop-glib.la
+endif
+
+# Public interface
+libpulse_la_SOURCES = \
+ pulse/cdecl.h \
+ pulse/channelmap.c pulse/channelmap.h \
+ pulse/context.c pulse/context.h \
+ pulse/def.h \
+ pulse/direction.c pulse/direction.h \
+ pulse/error.c pulse/error.h \
+ pulse/ext-device-manager.c pulse/ext-device-manager.h \
+ pulse/ext-device-restore.c pulse/ext-device-restore.h \
+ pulse/ext-stream-restore.c pulse/ext-stream-restore.h \
+ pulse/format.c pulse/format.h \
+ pulse/gccmacro.h \
+ pulse/internal.h \
+ pulse/introspect.c pulse/introspect.h \
+ pulse/mainloop-api.c pulse/mainloop-api.h \
+ pulse/mainloop-signal.c pulse/mainloop-signal.h \
+ pulse/mainloop.c pulse/mainloop.h \
+ pulse/operation.c pulse/operation.h \
+ pulse/proplist.c pulse/proplist.h \
+ pulse/pulseaudio.h \
+ pulse/rtclock.c pulse/rtclock.h \
+ pulse/sample.c pulse/sample.h \
+ pulse/scache.c pulse/scache.h \
+ pulse/stream.c pulse/stream.h \
+ pulse/subscribe.c pulse/subscribe.h \
+ pulse/thread-mainloop.c pulse/thread-mainloop.h \
+ pulse/timeval.c pulse/timeval.h \
+ pulse/utf8.c pulse/utf8.h \
+ pulse/util.c pulse/util.h \
+ pulse/volume.c pulse/volume.h \
+ pulse/xmalloc.c pulse/xmalloc.h
+
+libpulse_la_CFLAGS = $(AM_CFLAGS)
+libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINOR@.la
+libpulse_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO)
+
+if HAVE_DBUS
+libpulse_la_CFLAGS += $(DBUS_CFLAGS)
+libpulse_la_LIBADD += $(DBUS_LIBS)
+endif
+
+libpulse_simple_la_SOURCES = pulse/simple.c pulse/simple.h
+libpulse_simple_la_CFLAGS = $(AM_CFLAGS)
+libpulse_simple_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO)
+
+libpulse_mainloop_glib_la_SOURCES = pulse/glib-mainloop.h pulse/glib-mainloop.c
+libpulse_mainloop_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB20_CFLAGS)
+libpulse_mainloop_glib_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la $(GLIB20_LIBS)
+libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO)
+
+###################################
+# OSS emulation #
+###################################
+
+if HAVE_OSS_WRAPPER
+padsplibdir = $(pkglibdir)
+padsplib_LTLIBRARIES = libpulsedsp.la
+bin_SCRIPTS += padsp
+
+edit = @SED@ \
+ -e 's|@PULSEDSP_LOCATION[@]|$(PULSEDSP_LOCATION)|g'
+
+padsp: utils/padsp.in
+ $(edit) $< > $@
+
+CLEANFILES += padsp
+
+endif
+
+libpulsedsp_la_SOURCES = utils/padsp.c
+libpulsedsp_la_CFLAGS = $(AM_CFLAGS)
+libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+libpulsedsp_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version -disable-static
+
+###################################
+# Daemon core library #
+###################################
+
+pkglib_LTLIBRARIES = libpulsecore-@PA_MAJORMINOR@.la
+
+# Pure core stuff
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES = \
+ pulsecore/filter/lfe-filter.c pulsecore/filter/lfe-filter.h \
+ pulsecore/filter/biquad.c pulsecore/filter/biquad.h \
+ pulsecore/filter/crossover.c pulsecore/filter/crossover.h \
+ pulsecore/asyncmsgq.c pulsecore/asyncmsgq.h \
+ pulsecore/asyncq.c pulsecore/asyncq.h \
+ pulsecore/auth-cookie.c pulsecore/auth-cookie.h \
+ pulsecore/cli-command.c pulsecore/cli-command.h \
+ pulsecore/cli-text.c pulsecore/cli-text.h \
+ pulsecore/client.c pulsecore/client.h \
+ pulsecore/typedefs.h \
+ pulsecore/card.c pulsecore/card.h \
+ pulsecore/core-scache.c pulsecore/core-scache.h \
+ pulsecore/core-subscribe.c pulsecore/core-subscribe.h \
+ pulsecore/core.c pulsecore/core.h \
+ pulsecore/message-handler.c pulsecore/message-handler.h \
+ pulsecore/hook-list.c pulsecore/hook-list.h \
+ pulsecore/ltdl-helper.c pulsecore/ltdl-helper.h \
+ pulsecore/modargs.c pulsecore/modargs.h \
+ pulsecore/modinfo.c pulsecore/modinfo.h \
+ pulsecore/module.c pulsecore/module.h \
+ pulsecore/msgobject.c pulsecore/msgobject.h \
+ pulsecore/namereg.c pulsecore/namereg.h \
+ pulsecore/object.c pulsecore/object.h \
+ pulsecore/play-memblockq.c pulsecore/play-memblockq.h \
+ pulsecore/play-memchunk.c pulsecore/play-memchunk.h \
+ pulsecore/remap.c pulsecore/remap.h \
+ pulsecore/remap_mmx.c pulsecore/remap_sse.c \
+ pulsecore/resampler.c pulsecore/resampler.h \
+ pulsecore/resampler/ffmpeg.c pulsecore/resampler/peaks.c \
+ pulsecore/resampler/trivial.c \
+ pulsecore/rtpoll.c pulsecore/rtpoll.h \
+ pulsecore/stream-util.c pulsecore/stream-util.h \
+ pulsecore/svolume_c.c pulsecore/svolume_arm.c \
+ pulsecore/svolume_mmx.c pulsecore/svolume_sse.c \
+ pulsecore/mix.c pulsecore/mix.h \
+ pulsecore/cpu.c pulsecore/cpu.h \
+ pulsecore/cpu-arm.c pulsecore/cpu-arm.h \
+ pulsecore/cpu-x86.c pulsecore/cpu-x86.h \
+ pulsecore/cpu-orc.c pulsecore/cpu-orc.h \
+ pulsecore/sconv-s16be.c pulsecore/sconv-s16be.h \
+ pulsecore/sconv-s16le.c pulsecore/sconv-s16le.h \
+ pulsecore/sconv_sse.c \
+ pulsecore/sconv.c pulsecore/sconv.h \
+ pulsecore/shared.c pulsecore/shared.h \
+ pulsecore/sink-input.c pulsecore/sink-input.h \
+ pulsecore/sink.c pulsecore/sink.h \
+ pulsecore/device-port.c pulsecore/device-port.h \
+ pulsecore/sioman.c pulsecore/sioman.h \
+ pulsecore/sound-file-stream.c pulsecore/sound-file-stream.h \
+ pulsecore/sound-file.c pulsecore/sound-file.h \
+ pulsecore/source-output.c pulsecore/source-output.h \
+ pulsecore/source.c pulsecore/source.h \
+ pulsecore/start-child.c pulsecore/start-child.h \
+ pulsecore/thread-mq.c pulsecore/thread-mq.h \
+ pulsecore/database.c pulsecore/database.h
+
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(LIBSNDFILE_CFLAGS) $(WINSOCK_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libpulsecore-foreign.la
+
+if HAVE_NEON
+noinst_LTLIBRARIES += libpulsecore_sconv_neon.la libpulsecore_mix_neon.la libpulsecore_remap_neon.la
+libpulsecore_sconv_neon_la_SOURCES = pulsecore/sconv_neon.c
+libpulsecore_sconv_neon_la_CFLAGS = $(AM_CFLAGS) $(NEON_CFLAGS)
+libpulsecore_mix_neon_la_SOURCES = pulsecore/mix_neon.c
+libpulsecore_mix_neon_la_CFLAGS = $(AM_CFLAGS) $(NEON_CFLAGS)
+libpulsecore_remap_neon_la_SOURCES = pulsecore/remap_neon.c
+libpulsecore_remap_neon_la_CFLAGS = $(AM_CFLAGS) $(NEON_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD += libpulsecore_sconv_neon.la libpulsecore_mix_neon.la libpulsecore_remap_neon.la
+endif
+
+ORC_SOURCE += pulsecore/svolume
+if HAVE_ORC
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/svolume_orc.c
+nodist_libpulsecore_@PA_MAJORMINOR@_la_SOURCES = pulsecore/svolume-orc-gen.c pulsecore/svolume-orc-gen.h
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(ORC_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(ORC_LIBS)
+endif
+
+if HAVE_X11
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/x11wrap.c pulsecore/x11wrap.h
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(X11_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS += $(X11_LIBS)
+endif
+
+if HAVE_DBUS
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES += \
+ pulsecore/dbus-shared.c pulsecore/dbus-shared.h \
+ pulsecore/protocol-dbus.c pulsecore/protocol-dbus.h
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(DBUS_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(DBUS_LIBS)
+endif
+
+if HAVE_GDBM
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/database-gdbm.c
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(GDBM_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(GDBM_LIBS)
+endif
+
+if HAVE_TDB
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/database-tdb.c
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(TDB_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(TDB_LIBS)
+endif
+
+if HAVE_SIMPLEDB
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/database-simple.c
+endif
+
+if HAVE_SPEEX
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/resampler/speex.c
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(LIBSPEEX_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(LIBSPEEX_LIBS)
+endif
+
+if HAVE_SOXR
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/resampler/soxr.c
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(LIBSOXR_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(LIBSOXR_LIBS)
+endif
+
+if HAVE_LIBSAMPLERATE
+libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/resampler/libsamplerate.c
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(LIBSAMPLERATE_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(LIBSAMPLERATE_LIBS)
+endif
+
+# We split the foreign code off to not be annoyed by warnings we don't care about
+noinst_LTLIBRARIES += libpulsecore-foreign.la
+
+libpulsecore_foreign_la_SOURCES = \
+ pulsecore/ffmpeg/resample2.c pulsecore/ffmpeg/avcodec.h pulsecore/ffmpeg/dsputil.h
+
+libpulsecore_foreign_la_CFLAGS = $(AM_CFLAGS) $(FOREIGN_CFLAGS)
+
+###################################
+# Plug-in support libraries #
+###################################
+
+### Warning! Due to an obscure bug in libtool/automake it is required
+### that the libraries in modlibexec_LTLIBRARIES are specified in-order,
+### i.e. libraries near the end of the list depend on libraries near
+### the head, and not the other way!
+
+modlibexec_LTLIBRARIES = \
+ libcli.la \
+ libprotocol-cli.la \
+ libprotocol-simple.la \
+ libprotocol-http.la \
+ libprotocol-native.la
+
+if HAVE_WEBRTC
+modlibexec_LTLIBRARIES += libwebrtc-util.la
+endif
+
+if HAVE_ESOUND
+modlibexec_LTLIBRARIES += \
+ libprotocol-esound.la
+endif
+
+# We need to emulate sendmsg/recvmsg to support this on Win32
+if !OS_IS_WIN32
+modlibexec_LTLIBRARIES += \
+ librtp.la
+endif
+
+if HAVE_AVAHI
+modlibexec_LTLIBRARIES += \
+ libavahi-wrap.la
+endif
+
+libprotocol_simple_la_SOURCES = pulsecore/protocol-simple.c pulsecore/protocol-simple.h
+libprotocol_simple_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libprotocol_simple_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+
+libcli_la_SOURCES = pulsecore/cli.c pulsecore/cli.h
+libcli_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libcli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+
+libprotocol_cli_la_SOURCES = pulsecore/protocol-cli.c pulsecore/protocol-cli.h
+libprotocol_cli_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libprotocol_cli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libcli.la
+
+libprotocol_http_la_SOURCES = pulsecore/protocol-http.c pulsecore/protocol-http.h pulsecore/mime-type.c pulsecore/mime-type.h
+libprotocol_http_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libprotocol_http_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+
+libprotocol_native_la_SOURCES = pulsecore/protocol-native.c pulsecore/protocol-native.h pulsecore/native-common.h
+libprotocol_native_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
+libprotocol_native_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libprotocol_native_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+if HAVE_DBUS
+libprotocol_native_la_CFLAGS += $(DBUS_CFLAGS)
+libprotocol_native_la_LIBADD += $(DBUS_LIBS)
+endif
+
+if HAVE_ESOUND
+libprotocol_esound_la_SOURCES = pulsecore/protocol-esound.c pulsecore/protocol-esound.h pulsecore/esound.h
+libprotocol_esound_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libprotocol_esound_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+endif
+
+librtp_la_SOURCES = \
+ modules/rtp/rtp-common.c modules/rtp/rtp.h \
+ modules/rtp/sdp.c modules/rtp/sdp.h \
+ modules/rtp/sap.c modules/rtp/sap.h \
+ modules/rtp/rtsp_client.c modules/rtp/rtsp_client.h \
+ modules/rtp/headerlist.c modules/rtp/headerlist.h
+librtp_la_CFLAGS = $(AM_CFLAGS)
+librtp_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+librtp_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+if HAVE_GSTREAMER
+librtp_la_SOURCES += modules/rtp/rtp-gstreamer.c
+librtp_la_CFLAGS += $(GSTREAMER_CFLAGS)
+librtp_la_LIBADD += $(GSTREAMER_LIBS)
+else
+librtp_la_SOURCES += modules/rtp/rtp-native.c
+endif
+
+libraop_la_SOURCES = \
+ modules/raop/raop-util.c modules/raop/raop-util.h \
+ modules/raop/raop-crypto.c modules/raop/raop-crypto.h \
+ modules/raop/raop-packet-buffer.h modules/raop/raop-packet-buffer.c \
+ modules/raop/raop-client.c modules/raop/raop-client.h \
+ modules/raop/raop-sink.c modules/raop/raop-sink.h
+
+libraop_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS) -I$(top_srcdir)/src/modules/rtp
+libraop_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libraop_la_LIBADD = $(AM_LIBADD) $(OPENSSL_LIBS) libpulsecore-@PA_MAJORMINOR@.la librtp.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+
+# Avahi
+libavahi_wrap_la_SOURCES = pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h
+libavahi_wrap_la_LDFLAGS = $(AM_LDFLAGS) $(AM_LIBLDFLAGS) -avoid-version
+libavahi_wrap_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
+libavahi_wrap_la_LIBADD = $(AM_LIBADD) $(AVAHI_CFLAGS) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
+
+###################################
+# Plug-in libraries #
+###################################
+
+if HAVE_DBUS
+# Serveral module (e.g. libalsa-util.la)
+modlibexec_LTLIBRARIES += \
+ module-console-kit.la
+endif
+
+modlibexec_LTLIBRARIES += \
+ module-cli.la \
+ module-cli-protocol-tcp.la \
+ module-simple-protocol-tcp.la \
+ module-null-sink.la \
+ module-null-source.la \
+ module-sine-source.la \
+ module-detect.la \
+ module-volume-restore.la \
+ module-device-manager.la \
+ module-device-restore.la \
+ module-stream-restore.la \
+ module-card-restore.la \
+ module-default-device-restore.la \
+ module-always-sink.la \
+ module-always-source.la \
+ module-rescue-streams.la \
+ module-intended-roles.la \
+ module-suspend-on-idle.la \
+ module-echo-cancel.la \
+ module-http-protocol-tcp.la \
+ module-sine.la \
+ module-native-protocol-tcp.la \
+ module-native-protocol-fd.la \
+ module-combine.la \
+ module-combine-sink.la \
+ module-remap-sink.la \
+ module-remap-source.la \
+ module-ladspa-sink.la \
+ module-tunnel-sink-new.la \
+ module-tunnel-source-new.la \
+ module-tunnel-sink.la \
+ module-tunnel-source.la \
+ module-position-event-sounds.la \
+ module-augment-properties.la \
+ module-role-cork.la \
+ module-loopback.la \
+ module-virtual-sink.la \
+ module-virtual-source.la \
+ module-virtual-surround-sink.la \
+ module-switch-on-connect.la \
+ module-switch-on-port-available.la \
+ module-filter-apply.la \
+ module-filter-heuristics.la \
+ module-role-ducking.la \
+ module-allow-passthrough.la
+
+if HAVE_ESOUND
+modlibexec_LTLIBRARIES += \
+ module-esound-protocol-tcp.la \
+ module-esound-sink.la
+endif
+
+# See comment at librtp.la above
+if !OS_IS_WIN32
+modlibexec_LTLIBRARIES += \
+ module-rtp-send.la \
+ module-rtp-recv.la
+endif
+
+if HAVE_AF_UNIX
+modlibexec_LTLIBRARIES += \
+ module-cli-protocol-unix.la \
+ module-simple-protocol-unix.la \
+ module-http-protocol-unix.la \
+ module-native-protocol-unix.la
+if HAVE_ESOUND
+modlibexec_LTLIBRARIES += \
+ module-esound-protocol-unix.la
+endif
+endif
+
+if HAVE_MKFIFO
+modlibexec_LTLIBRARIES += \
+ module-pipe-sink.la \
+ module-pipe-source.la
+endif
+
+if !OS_IS_WIN32
+if HAVE_ESOUND
+modlibexec_LTLIBRARIES += \
+ module-esound-compat-spawnfd.la \
+ module-esound-compat-spawnpid.la
+endif
+endif
+
+if HAVE_REGEX
+modlibexec_LTLIBRARIES += \
+ module-match.la
+endif
+
+if HAVE_X11
+modlibexec_LTLIBRARIES += \
+ module-x11-bell.la \
+ module-x11-publish.la \
+ module-x11-xsmp.la \
+ module-x11-cork-request.la
+endif
+
+if HAVE_OSS_OUTPUT
+modlibexec_LTLIBRARIES += \
+ liboss-util.la \
+ module-oss.la
+endif
+
+if HAVE_COREAUDIO
+modlibexec_LTLIBRARIES += \
+ module-coreaudio-detect.la \
+ module-coreaudio-device.la
+endif
+
+pulselibexec_PROGRAMS =
+
+if HAVE_ALSA
+modlibexec_LTLIBRARIES += \
+ libalsa-util.la \
+ module-alsa-sink.la \
+ module-alsa-source.la \
+ module-alsa-card.la
+
+dist_alsaprofilesets_DATA = \
+ modules/alsa/mixer/profile-sets/default.conf \
+ modules/alsa/mixer/profile-sets/force-speaker.conf \
+ modules/alsa/mixer/profile-sets/force-speaker-and-int-mic.conf \
+ modules/alsa/mixer/profile-sets/audigy.conf \
+ modules/alsa/mixer/profile-sets/maudio-fasttrack-pro.conf \
+ modules/alsa/mixer/profile-sets/native-instruments-audio4dj.conf \
+ modules/alsa/mixer/profile-sets/native-instruments-audio8dj.conf \
+ modules/alsa/mixer/profile-sets/native-instruments-traktor-audio2.conf \
+ modules/alsa/mixer/profile-sets/native-instruments-traktor-audio6.conf \
+ modules/alsa/mixer/profile-sets/native-instruments-traktor-audio10.conf \
+ modules/alsa/mixer/profile-sets/native-instruments-traktorkontrol-s4.conf \
+ modules/alsa/mixer/profile-sets/native-instruments-korecontroller.conf \
+ modules/alsa/mixer/profile-sets/kinect-audio.conf \
+ modules/alsa/mixer/profile-sets/sb-omni-surround-5.1.conf \
+ modules/alsa/mixer/profile-sets/steelseries-arctis-common-usb-audio.conf \
+ modules/alsa/mixer/profile-sets/usb-gaming-headset.conf \
+ modules/alsa/mixer/profile-sets/dell-dock-tb16-usb-audio.conf \
+ modules/alsa/mixer/profile-sets/cmedia-high-speed-true-hdaudio.conf
+
+if HAVE_UDEV
+dist_udevrules_DATA = \
+ modules/alsa/90-pulseaudio.rules
+endif
+
+dist_alsapaths_DATA = \
+ modules/alsa/mixer/paths/analog-input-aux.conf \
+ modules/alsa/mixer/paths/analog-input.conf \
+ modules/alsa/mixer/paths/analog-input.conf.common \
+ modules/alsa/mixer/paths/analog-input-fm.conf \
+ modules/alsa/mixer/paths/analog-input-linein.conf \
+ modules/alsa/mixer/paths/analog-input-mic.conf \
+ modules/alsa/mixer/paths/analog-input-dock-mic.conf \
+ modules/alsa/mixer/paths/analog-input-front-mic.conf \
+ modules/alsa/mixer/paths/analog-input-headphone-mic.conf \
+ modules/alsa/mixer/paths/analog-input-headset-mic.conf \
+ modules/alsa/mixer/paths/analog-input-internal-mic.conf \
+ modules/alsa/mixer/paths/analog-input-internal-mic-always.conf \
+ modules/alsa/mixer/paths/analog-input-rear-mic.conf \
+ modules/alsa/mixer/paths/analog-input-mic.conf.common \
+ modules/alsa/mixer/paths/analog-input-mic-line.conf \
+ modules/alsa/mixer/paths/analog-input-tvtuner.conf \
+ modules/alsa/mixer/paths/analog-input-video.conf \
+ modules/alsa/mixer/paths/analog-output.conf \
+ modules/alsa/mixer/paths/analog-output-speaker.conf \
+ modules/alsa/mixer/paths/analog-output-speaker-always.conf \
+ modules/alsa/mixer/paths/analog-output.conf.common \
+ modules/alsa/mixer/paths/analog-output-headphones.conf \
+ modules/alsa/mixer/paths/analog-output-headphones-2.conf \
+ modules/alsa/mixer/paths/analog-output-lineout.conf \
+ modules/alsa/mixer/paths/analog-output-mono.conf \
+ modules/alsa/mixer/paths/iec958-stereo-input.conf \
+ modules/alsa/mixer/paths/iec958-stereo-output.conf \
+ modules/alsa/mixer/paths/hdmi-output-0.conf \
+ modules/alsa/mixer/paths/hdmi-output-1.conf \
+ modules/alsa/mixer/paths/hdmi-output-2.conf \
+ modules/alsa/mixer/paths/hdmi-output-3.conf \
+ modules/alsa/mixer/paths/hdmi-output-4.conf \
+ modules/alsa/mixer/paths/hdmi-output-5.conf \
+ modules/alsa/mixer/paths/hdmi-output-6.conf \
+ modules/alsa/mixer/paths/hdmi-output-7.conf \
+ modules/alsa/mixer/paths/steelseries-arctis-output-chat-common.conf \
+ modules/alsa/mixer/paths/steelseries-arctis-output-game-common.conf \
+ modules/alsa/mixer/paths/usb-gaming-headset-input.conf \
+ modules/alsa/mixer/paths/usb-gaming-headset-output-mono.conf \
+ modules/alsa/mixer/paths/usb-gaming-headset-output-stereo.conf
+
+endif
+
+if HAVE_SOLARIS
+modlibexec_LTLIBRARIES += \
+ module-solaris.la
+endif
+
+if HAVE_AVAHI
+modlibexec_LTLIBRARIES += \
+ module-zeroconf-publish.la \
+ module-zeroconf-discover.la
+endif
+
+if HAVE_BONJOUR
+modlibexec_LTLIBRARIES += \
+ module-bonjour-publish.la
+endif
+
+if HAVE_LIRC
+modlibexec_LTLIBRARIES += \
+ module-lirc.la
+endif
+
+if HAVE_EVDEV
+modlibexec_LTLIBRARIES += \
+ module-mmkbd-evdev.la
+endif
+
+if HAVE_JACK
+modlibexec_LTLIBRARIES += \
+ module-jack-sink.la \
+ module-jack-source.la
+
+if HAVE_DBUS
+modlibexec_LTLIBRARIES += \
+ module-jackdbus-detect.la
+endif
+
+endif
+
+if HAVE_GCONF
+modlibexec_LTLIBRARIES += \
+ module-gconf.la
+
+pulselibexec_PROGRAMS += \
+ gconf-helper
+endif
+
+if HAVE_GSETTINGS
+modlibexec_LTLIBRARIES += \
+ module-gsettings.la
+
+pulselibexec_PROGRAMS += \
+ gsettings-helper
+
+gsettingsdataconvert_DATA = \
+ modules/gsettings/pulseaudio.convert
+endif
+
+if HAVE_WAVEOUT
+modlibexec_LTLIBRARIES += \
+ module-waveout.la
+endif
+
+if HAVE_HAL_COMPAT
+modlibexec_LTLIBRARIES += \
+ module-hal-detect.la
+endif
+
+if HAVE_UDEV
+modlibexec_LTLIBRARIES += \
+ module-udev-detect.la
+endif
+
+if HAVE_SYSTEMD_LOGIN
+modlibexec_LTLIBRARIES += \
+ module-systemd-login.la
+endif
+
+if HAVE_DBUS
+modlibexec_LTLIBRARIES += \
+ module-rygel-media-server.la \
+ module-dbus-protocol.la
+endif
+
+if HAVE_BLUEZ
+modlibexec_LTLIBRARIES += \
+ module-bluetooth-discover.la \
+ module-bluetooth-policy.la
+endif
+
+if HAVE_BLUEZ_5
+modlibexec_LTLIBRARIES += \
+ libbluez5-util.la \
+ module-bluez5-discover.la \
+ module-bluez5-device.la
+endif
+
+# RAOP depends on RTP, and we don't support RTP on Windows, see comment at
+# librtp.la above.
+if !OS_IS_WIN32
+if HAVE_OPENSSL
+modlibexec_LTLIBRARIES += \
+ libraop.la \
+ module-raop-sink.la
+if HAVE_AVAHI
+modlibexec_LTLIBRARIES += \
+ module-raop-discover.la
+endif
+endif
+endif
+
+if HAVE_DBUS
+if HAVE_FFTW
+modlibexec_LTLIBRARIES += \
+ module-equalizer-sink.la
+bin_SCRIPTS += utils/qpaeq
+endif
+endif
+
+# Simple protocol
+
+module_simple_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
+module_simple_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS) -DPA_MODULE_NAME=module_simple_protocol_tcp
+module_simple_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_simple_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-simple.la
+
+module_simple_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
+module_simple_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS) -DPA_MODULE_NAME=module_simple_protocol_unix
+module_simple_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_simple_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-simple.la
+
+# CLI protocol
+
+module_cli_la_SOURCES = modules/module-cli.c
+module_cli_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_cli_la_LIBADD = $(MODULE_LIBADD) libcli.la
+module_cli_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_cli
+
+module_cli_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
+module_cli_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS) -DPA_MODULE_NAME=module_cli_protocol_tcp
+module_cli_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_cli_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-cli.la
+
+module_cli_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
+module_cli_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS) -DPA_MODULE_NAME=module_cli_protocol_unix
+module_cli_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_cli_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-cli.la
+
+# HTTP protocol
+
+module_http_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
+module_http_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS) -DPA_MODULE_NAME=module_http_protocol_tcp
+module_http_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_http_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-http.la
+
+module_http_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
+module_http_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS) -DPA_MODULE_NAME=module_http_protocol_unix
+module_http_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_http_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-http.la
+
+# D-Bus protocol
+
+module_dbus_protocol_la_SOURCES = \
+ modules/dbus/iface-card.c modules/dbus/iface-card.h \
+ modules/dbus/iface-card-profile.c modules/dbus/iface-card-profile.h \
+ modules/dbus/iface-client.c modules/dbus/iface-client.h \
+ modules/dbus/iface-core.c modules/dbus/iface-core.h \
+ modules/dbus/iface-device.c modules/dbus/iface-device.h \
+ modules/dbus/iface-device-port.c modules/dbus/iface-device-port.h \
+ modules/dbus/iface-memstats.c modules/dbus/iface-memstats.h \
+ modules/dbus/iface-module.c modules/dbus/iface-module.h \
+ modules/dbus/iface-sample.c modules/dbus/iface-sample.h \
+ modules/dbus/iface-stream.c modules/dbus/iface-stream.h \
+ modules/dbus/module-dbus-protocol.c
+module_dbus_protocol_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_dbus_protocol
+module_dbus_protocol_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_dbus_protocol_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
+
+# Native protocol
+
+module_native_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
+module_native_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS) -DPA_MODULE_NAME=module_native_protocol_tcp
+module_native_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_native_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
+
+module_native_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
+module_native_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS) -DPA_MODULE_NAME=module_native_protocol_unix
+module_native_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_native_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
+
+module_native_protocol_fd_la_SOURCES = modules/module-native-protocol-fd.c
+module_native_protocol_fd_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_native_protocol_fd
+module_native_protocol_fd_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_native_protocol_fd_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
+
+# EsounD protocol
+
+if HAVE_ESOUND
+module_esound_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
+module_esound_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_protocol_tcp
+module_esound_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_esound_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-esound.la
+
+module_esound_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
+module_esound_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_protocol_unix
+module_esound_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_esound_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-esound.la
+
+module_esound_compat_spawnfd_la_SOURCES = modules/module-esound-compat-spawnfd.c
+module_esound_compat_spawnfd_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_compat_spawnfd
+module_esound_compat_spawnfd_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_esound_compat_spawnfd_la_LIBADD = $(MODULE_LIBADD)
+
+module_esound_compat_spawnpid_la_SOURCES = modules/module-esound-compat-spawnpid.c
+module_esound_compat_spawnpid_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_compat_spawnpid
+module_esound_compat_spawnpid_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_esound_compat_spawnpid_la_LIBADD = $(MODULE_LIBADD)
+
+module_esound_sink_la_SOURCES = modules/module-esound-sink.c
+module_esound_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_esound_sink
+module_esound_sink_la_LDFLAGS = $(MODULE_LDFLAGS) $(WINSOCK_LIBS)
+module_esound_sink_la_LIBADD = $(MODULE_LIBADD)
+endif
+
+# Pipes
+
+module_pipe_sink_la_SOURCES = modules/module-pipe-sink.c
+module_pipe_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_pipe_sink_la_LIBADD = $(MODULE_LIBADD)
+module_pipe_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_pipe_sink
+
+module_pipe_source_la_SOURCES = modules/module-pipe-source.c
+module_pipe_source_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_pipe_source_la_LIBADD = $(MODULE_LIBADD)
+module_pipe_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_pipe_source
+
+# Fake sources/sinks
+
+module_sine_la_SOURCES = modules/module-sine.c
+module_sine_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_sine_la_LIBADD = $(MODULE_LIBADD)
+module_sine_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_sine
+
+module_null_sink_la_SOURCES = modules/module-null-sink.c
+module_null_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_null_sink_la_LIBADD = $(MODULE_LIBADD)
+module_null_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_null_sink
+
+module_null_source_la_SOURCES = modules/module-null-source.c
+module_null_source_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_null_source_la_LIBADD = $(MODULE_LIBADD)
+module_null_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_null_source
+
+module_sine_source_la_SOURCES = modules/module-sine-source.c
+module_sine_source_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_sine_source_la_LIBADD = $(MODULE_LIBADD)
+module_sine_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_sine_source
+
+# Couplings
+
+module_combine_la_SOURCES = modules/module-combine.c
+module_combine_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_combine_la_LIBADD = $(MODULE_LIBADD)
+module_combine_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_combine
+
+module_combine_sink_la_SOURCES = modules/module-combine-sink.c
+module_combine_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_combine_sink_la_LIBADD = $(MODULE_LIBADD)
+module_combine_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_combine_sink
+
+module_switch_on_connect_la_SOURCES = modules/module-switch-on-connect.c
+module_switch_on_connect_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_switch_on_connect_la_LIBADD = $(MODULE_LIBADD)
+module_switch_on_connect_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_switch_on_connect
+
+module_switch_on_port_available_la_SOURCES = modules/module-switch-on-port-available.c
+module_switch_on_port_available_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_switch_on_port_available_la_LIBADD = $(MODULE_LIBADD)
+module_switch_on_port_available_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_switch_on_port_available
+
+module_filter_apply_la_SOURCES = modules/module-filter-apply.c
+module_filter_apply_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_filter_apply_la_LIBADD = $(MODULE_LIBADD)
+module_filter_apply_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_filter_apply
+
+module_filter_heuristics_la_SOURCES = modules/module-filter-heuristics.c
+module_filter_heuristics_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_filter_heuristics_la_LIBADD = $(MODULE_LIBADD)
+module_filter_heuristics_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_filter_heuristics
+
+module_remap_sink_la_SOURCES = modules/module-remap-sink.c
+module_remap_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_remap_sink_la_LIBADD = $(MODULE_LIBADD)
+module_remap_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_remap_sink
+
+module_remap_source_la_SOURCES = modules/module-remap-source.c
+module_remap_source_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_remap_source_la_LIBADD = $(MODULE_LIBADD)
+module_remap_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_remap_source
+
+module_ladspa_sink_la_SOURCES = modules/module-ladspa-sink.c modules/ladspa.h
+module_ladspa_sink_la_CFLAGS = -DLADSPA_PATH="$(libdir)/ladspa:/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/local/lib64/ladspa:/usr/lib64/ladspa" $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_ladspa_sink
+module_ladspa_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_ladspa_sink_la_LIBADD = $(MODULE_LIBADD) $(LIBLTDL)
+
+if HAVE_DBUS
+module_ladspa_sink_la_CFLAGS += $(DBUS_CFLAGS)
+module_ladspa_sink_la_LIBADD += $(DBUS_LIBS)
+endif
+
+module_equalizer_sink_la_SOURCES = modules/module-equalizer-sink.c
+module_equalizer_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(DBUS_CFLAGS) $(FFTW_CFLAGS) -DPA_MODULE_NAME=module_equalizer_sink
+module_equalizer_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_equalizer_sink_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) $(FFTW_LIBS)
+
+module_match_la_SOURCES = modules/module-match.c
+module_match_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_match_la_LIBADD = $(MODULE_LIBADD)
+module_match_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_match
+
+module_tunnel_sink_new_la_SOURCES = modules/module-tunnel-sink-new.c
+module_tunnel_sink_new_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_tunnel_sink_new_la_LIBADD = $(MODULE_LIBADD)
+module_tunnel_sink_new_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_tunnel_sink_new
+
+module_tunnel_source_new_la_SOURCES = modules/module-tunnel-source-new.c
+module_tunnel_source_new_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_tunnel_source_new_la_LIBADD = $(MODULE_LIBADD)
+module_tunnel_source_new_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_tunnel_source_new
+
+module_tunnel_sink_la_SOURCES = modules/module-tunnel.c
+module_tunnel_sink_la_CFLAGS = -DTUNNEL_SINK=1 $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_tunnel_sink
+module_tunnel_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_tunnel_sink_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
+
+module_tunnel_source_la_SOURCES = modules/module-tunnel.c
+module_tunnel_source_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_tunnel_source_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
+module_tunnel_source_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_tunnel_source
+
+module_loopback_la_SOURCES = modules/module-loopback.c
+module_loopback_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_loopback_la_LIBADD = $(MODULE_LIBADD)
+module_loopback_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_loopback
+
+module_virtual_sink_la_SOURCES = modules/module-virtual-sink.c
+module_virtual_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_virtual_sink
+module_virtual_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_virtual_sink_la_LIBADD = $(MODULE_LIBADD)
+
+module_virtual_source_la_SOURCES = modules/module-virtual-source.c
+module_virtual_source_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_virtual_source
+module_virtual_source_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_virtual_source_la_LIBADD = $(MODULE_LIBADD)
+
+module_virtual_surround_sink_la_SOURCES = modules/module-virtual-surround-sink.c
+module_virtual_surround_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_virtual_surround_sink
+module_virtual_surround_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_virtual_surround_sink_la_LIBADD = $(MODULE_LIBADD)
+
+# X11
+
+module_x11_bell_la_SOURCES = modules/x11/module-x11-bell.c
+module_x11_bell_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_x11_bell
+module_x11_bell_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_x11_bell_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
+
+module_x11_publish_la_SOURCES = modules/x11/module-x11-publish.c
+module_x11_publish_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_x11_publish
+module_x11_publish_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_x11_publish_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la $(X11_LIBS)
+
+module_x11_xsmp_la_SOURCES = modules/x11/module-x11-xsmp.c
+module_x11_xsmp_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_x11_xsmp
+module_x11_xsmp_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_x11_xsmp_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
+
+module_x11_cork_request_la_SOURCES = modules/x11/module-x11-cork-request.c
+module_x11_cork_request_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) -DPA_MODULE_NAME=module_x11_cork_request
+module_x11_cork_request_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_x11_cork_request_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
+
+# OSS
+
+liboss_util_la_SOURCES = modules/oss/oss-util.c modules/oss/oss-util.h
+liboss_util_la_LDFLAGS = -avoid-version
+liboss_util_la_LIBADD = $(MODULE_LIBADD)
+
+module_oss_la_SOURCES = modules/oss/module-oss.c
+module_oss_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_oss_la_LIBADD = $(MODULE_LIBADD) liboss-util.la
+module_oss_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_oss
+
+# COREAUDIO
+
+module_coreaudio_detect_la_SOURCES = modules/macosx/module-coreaudio-detect.c
+module_coreaudio_detect_la_LDFLAGS = $(MODULE_LDFLAGS) \
+ -Wl,-framework -Wl,Cocoa -framework CoreAudio \
+ -Wl,-framework -Wl,AudioUnit -framework AudioUnit
+module_coreaudio_detect_la_LIBADD = $(MODULE_LIBADD)
+module_coreaudio_detect_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_coreaudio_detect
+
+module_coreaudio_device_la_SOURCES = modules/macosx/module-coreaudio-device.c
+module_coreaudio_device_la_LDFLAGS = $(MODULE_LDFLAGS) \
+ -Wl,-framework -Wl,Cocoa -framework CoreAudio \
+ -Wl,-framework -Wl,AudioUnit -framework AudioUnit
+module_coreaudio_device_la_LIBADD = $(MODULE_LIBADD)
+module_coreaudio_device_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_coreaudio_device
+
+# ALSA
+
+libalsa_util_la_SOURCES = \
+ modules/alsa/alsa-util.c modules/alsa/alsa-util.h \
+ modules/alsa/alsa-ucm.c modules/alsa/alsa-ucm.h \
+ modules/alsa/alsa-mixer.c modules/alsa/alsa-mixer.h \
+ modules/alsa/alsa-sink.c modules/alsa/alsa-sink.h \
+ modules/alsa/alsa-source.c modules/alsa/alsa-source.h \
+ modules/reserve-wrap.c modules/reserve-wrap.h
+libalsa_util_la_LDFLAGS = -avoid-version
+libalsa_util_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS)
+libalsa_util_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(ASOUNDLIB_CFLAGS)
+
+if HAVE_UDEV
+libalsa_util_la_SOURCES += modules/udev-util.h modules/udev-util.c
+libalsa_util_la_LIBADD += $(UDEV_LIBS)
+libalsa_util_la_CFLAGS += $(UDEV_CFLAGS)
+endif
+
+if HAVE_DBUS
+libalsa_util_la_SOURCES += modules/reserve.h modules/reserve.c modules/reserve-monitor.h modules/reserve-monitor.c
+libalsa_util_la_LIBADD += $(DBUS_LIBS)
+libalsa_util_la_CFLAGS += $(DBUS_CFLAGS)
+endif
+
+module_alsa_sink_la_SOURCES = modules/alsa/module-alsa-sink.c
+module_alsa_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_alsa_sink_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
+module_alsa_sink_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) -DPA_MODULE_NAME=module_alsa_sink
+
+module_alsa_source_la_SOURCES = modules/alsa/module-alsa-source.c
+module_alsa_source_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_alsa_source_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
+module_alsa_source_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) -DPA_MODULE_NAME=module_alsa_source
+
+module_alsa_card_la_SOURCES = modules/alsa/module-alsa-card.c
+module_alsa_card_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_alsa_card_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
+module_alsa_card_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) -DPA_MODULE_NAME=module_alsa_card
+
+# Solaris
+
+module_solaris_la_SOURCES = modules/module-solaris.c
+module_solaris_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_solaris_la_LIBADD = $(MODULE_LIBADD)
+module_solaris_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_solaris
+
+# Avahi
+
+module_zeroconf_publish_la_SOURCES = modules/module-zeroconf-publish.c
+module_zeroconf_publish_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_zeroconf_publish_la_LIBADD = $(MODULE_LIBADD) $(AVAHI_LIBS) $(DBUS_LIBS) libavahi-wrap.la libprotocol-native.la
+module_zeroconf_publish_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_zeroconf_publish
+
+module_zeroconf_discover_la_SOURCES = modules/module-zeroconf-discover.c
+module_zeroconf_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_zeroconf_discover_la_LIBADD = $(MODULE_LIBADD) $(AVAHI_LIBS) libavahi-wrap.la
+module_zeroconf_discover_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS) -DPA_MODULE_NAME=module_zeroconf_discover
+
+# Bonjour
+
+module_bonjour_publish_la_SOURCES = modules/macosx/module-bonjour-publish.c
+module_bonjour_publish_la_LDFLAGS = $(MODULE_LDFLAGS) \
+ -Wl,-framework -Wl,CoreFoundation -framework CoreFoundation
+module_bonjour_publish_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
+module_bonjour_publish_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_bonjour_publish
+
+# LIRC
+
+module_lirc_la_SOURCES = modules/module-lirc.c
+module_lirc_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_lirc_la_LIBADD = $(MODULE_LIBADD) $(LIRC_LIBS)
+module_lirc_la_CFLAGS = $(AM_CFLAGS) $(LIRC_CFLAGS) -DPA_MODULE_NAME=module_lirc
+
+
+# Linux evdev
+
+module_mmkbd_evdev_la_SOURCES = modules/module-mmkbd-evdev.c
+module_mmkbd_evdev_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_mmkbd_evdev_la_LIBADD = $(MODULE_LIBADD)
+module_mmkbd_evdev_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_mmkbd_evdev
+
+# Windows waveout
+module_waveout_la_SOURCES = modules/module-waveout.c
+module_waveout_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_waveout_la_LIBADD = $(MODULE_LIBADD) -lwinmm
+module_waveout_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_waveout
+
+# Hardware autodetection module
+module_detect_la_SOURCES = modules/module-detect.c
+module_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_detect_la_LIBADD = $(MODULE_LIBADD)
+module_detect_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_detect
+
+# Volume restore module
+module_volume_restore_la_SOURCES = modules/module-volume-restore.c
+module_volume_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_volume_restore_la_LIBADD = $(MODULE_LIBADD)
+module_volume_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_volume_restore
+
+# Position event sounds in space
+module_position_event_sounds_la_SOURCES = modules/module-position-event-sounds.c
+module_position_event_sounds_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_position_event_sounds_la_LIBADD = $(MODULE_LIBADD)
+module_position_event_sounds_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_position_event_sounds
+
+# Ducking effect based on stream roles
+module_role_ducking_la_SOURCES = modules/module-role-ducking.c \
+ modules/stream-interaction.c modules/stream-interaction.h
+module_role_ducking_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_role_ducking_la_LIBADD = $(MODULE_LIBADD)
+module_role_ducking_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_role_ducking
+
+# Augment properties from XDG .desktop files
+module_augment_properties_la_SOURCES = modules/module-augment-properties.c
+module_augment_properties_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_augment_properties_la_LIBADD = $(MODULE_LIBADD)
+#module_augment_properties_la_CFLAGS = $(AM_CFLAGS) -DDESKTOPFILEDIR=\"$(datadir)/applications\"
+module_augment_properties_la_CFLAGS = $(AM_CFLAGS) -DDESKTOPFILEDIR=\"/usr/share/applications\" -DPA_MODULE_NAME=module_augment_properties
+
+# Cork certain streams while others are active (e.g. cork music when phone streams appear)
+module_role_cork_la_SOURCES = modules/module-role-cork.c \
+ modules/stream-interaction.c modules/stream-interaction.h
+module_role_cork_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_role_cork_la_LIBADD = $(MODULE_LIBADD)
+module_role_cork_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_role_cork
+
+# Device description restore module
+module_device_manager_la_SOURCES = modules/module-device-manager.c
+module_device_manager_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_device_manager_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
+module_device_manager_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_device_manager
+
+# Device volume/muted restore module
+module_device_restore_la_SOURCES = modules/module-device-restore.c
+module_device_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_device_restore_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
+module_device_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_device_restore
+
+if HAVE_DBUS
+module_device_restore_la_LIBADD += $(DBUS_LIBS)
+module_device_restore_la_CFLAGS += $(DBUS_CFLAGS)
+endif
+
+# Stream volume/muted/device restore module
+module_stream_restore_la_SOURCES = modules/module-stream-restore.c
+module_stream_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_stream_restore_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
+module_stream_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_stream_restore
+
+if HAVE_DBUS
+module_stream_restore_la_LIBADD += $(DBUS_LIBS)
+module_stream_restore_la_CFLAGS += $(DBUS_CFLAGS)
+endif
+
+# Card profile restore module
+module_card_restore_la_SOURCES = modules/module-card-restore.c
+module_card_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_card_restore_la_LIBADD = $(MODULE_LIBADD)
+module_card_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_card_restore
+
+# Default sink/source restore module
+module_default_device_restore_la_SOURCES = modules/module-default-device-restore.c
+module_default_device_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_default_device_restore_la_LIBADD = $(MODULE_LIBADD)
+module_default_device_restore_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_default_device_restore
+
+# Always Sink module
+module_always_sink_la_SOURCES = modules/module-always-sink.c
+module_always_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_always_sink_la_LIBADD = $(MODULE_LIBADD)
+module_always_sink_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_always_sink
+
+# Always Source module
+module_always_source_la_SOURCES = modules/module-always-source.c
+module_always_source_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_always_source_la_LIBADD = $(MODULE_LIBADD)
+module_always_source_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_always_source
+
+# Rescue streams module
+module_rescue_streams_la_SOURCES = modules/module-rescue-streams.c
+module_rescue_streams_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_rescue_streams_la_LIBADD = $(MODULE_LIBADD)
+module_rescue_streams_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_rescue_streams
+
+# Automatically move streams to devices that are intended for their roles
+module_intended_roles_la_SOURCES = modules/module-intended-roles.c
+module_intended_roles_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_intended_roles_la_LIBADD = $(MODULE_LIBADD)
+module_intended_roles_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_intended_roles
+
+# Suspend-on-idle module
+module_suspend_on_idle_la_SOURCES = modules/module-suspend-on-idle.c
+module_suspend_on_idle_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_suspend_on_idle_la_LIBADD = $(MODULE_LIBADD)
+module_suspend_on_idle_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_suspend_on_idle
+
+# echo-cancel module
+module_echo_cancel_la_SOURCES = \
+ modules/echo-cancel/module-echo-cancel.c \
+ modules/echo-cancel/null.c \
+ modules/echo-cancel/echo-cancel.h
+module_echo_cancel_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_echo_cancel_la_LIBADD = $(MODULE_LIBADD)
+module_echo_cancel_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) -DPA_MODULE_NAME=module_echo_cancel
+if HAVE_ADRIAN_EC
+module_echo_cancel_la_SOURCES += \
+ modules/echo-cancel/adrian-aec.c modules/echo-cancel/adrian-aec.h \
+ modules/echo-cancel/adrian.c modules/echo-cancel/adrian.h
+module_echo_cancel_la_CFLAGS += -DHAVE_ADRIAN_EC=1
+ORC_SOURCE += modules/echo-cancel/adrian-aec
+if HAVE_ORC
+nodist_module_echo_cancel_la_SOURCES = \
+ modules/echo-cancel/adrian-aec-orc-gen.c \
+ modules/echo-cancel/adrian-aec-orc-gen.h
+module_echo_cancel_la_LIBADD += $(ORC_LIBS)
+module_echo_cancel_la_CFLAGS += $(ORC_CFLAGS) -I$(top_builddir)/src/modules/echo-cancel
+endif
+endif
+if HAVE_SPEEX
+module_echo_cancel_la_SOURCES += modules/echo-cancel/speex.c
+module_echo_cancel_la_CFLAGS += $(LIBSPEEX_CFLAGS)
+module_echo_cancel_la_LIBADD += $(LIBSPEEX_LIBS)
+endif
+if HAVE_WEBRTC
+# The webrtc code is split off into a helper library to avoid having automake
+# link module-echo-cancel with C++ (which it does if there are any C++ deps,
+# even conditional ones).
+
+libwebrtc_util_la_SOURCES = modules/echo-cancel/webrtc.cc
+libwebrtc_util_la_CXXFLAGS = $(AM_CXXFLAGS) $(SERVER_CFLAGS) $(WEBRTC_CFLAGS) -DHAVE_WEBRTC=1
+libwebrtc_util_la_LIBADD = libpulsecore-@PA_MAJORMINOR@.la $(WEBRTC_LIBS)
+libwebrtc_util_la_LDFLAGS = -avoid-version
+
+module_echo_cancel_la_CFLAGS += -DHAVE_WEBRTC=1
+module_echo_cancel_la_LIBADD += libwebrtc-util.la
+endif
+
+# RTP modules
+module_rtp_send_la_SOURCES = modules/rtp/module-rtp-send.c
+module_rtp_send_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_rtp_send_la_LIBADD = $(MODULE_LIBADD) librtp.la
+module_rtp_send_la_CFLAGS = $(AM_CFLAGS) $(GSTREAMER_CFLAGS) -DPA_MODULE_NAME=module_rtp_send
+
+module_rtp_recv_la_SOURCES = modules/rtp/module-rtp-recv.c
+module_rtp_recv_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_rtp_recv_la_LIBADD = $(MODULE_LIBADD) librtp.la
+module_rtp_recv_la_CFLAGS = $(AM_CFLAGS) $(GSTREAMER_CFLAGS) -DPA_MODULE_NAME=module_rtp_recv
+
+# JACK
+
+module_jackdbus_detect_la_SOURCES = modules/jack/module-jackdbus-detect.c
+module_jackdbus_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_jackdbus_detect_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) $(JACK_LIBS)
+module_jackdbus_detect_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) $(JACK_CFLAGS) -DPA_MODULE_NAME=module_jackdbus_detect
+
+module_jack_sink_la_SOURCES = modules/jack/module-jack-sink.c
+module_jack_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_jack_sink_la_LIBADD = $(MODULE_LIBADD) $(JACK_LIBS)
+module_jack_sink_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS) -DPA_MODULE_NAME=module_jack_sink
+
+module_jack_source_la_SOURCES = modules/jack/module-jack-source.c
+module_jack_source_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_jack_source_la_LIBADD = $(MODULE_LIBADD) $(JACK_LIBS)
+module_jack_source_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS) -DPA_MODULE_NAME=module_jack_source
+
+module_hal_detect_la_SOURCES = modules/module-hal-detect-compat.c
+module_hal_detect_la_LIBADD = $(MODULE_LIBADD)
+module_hal_detect_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_hal_detect
+module_hal_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
+
+module_udev_detect_la_SOURCES = modules/module-udev-detect.c
+module_udev_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_udev_detect_la_LIBADD = $(MODULE_LIBADD) $(UDEV_LIBS)
+module_udev_detect_la_CFLAGS = $(AM_CFLAGS) $(UDEV_CFLAGS) -DPA_MODULE_NAME=module_udev_detect
+
+module_console_kit_la_SOURCES = modules/module-console-kit.c
+module_console_kit_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_console_kit_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
+module_console_kit_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_console_kit
+
+module_systemd_login_la_SOURCES = modules/module-systemd-login.c
+module_systemd_login_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_systemd_login_la_LIBADD = $(MODULE_LIBADD) $(SYSTEMD_LIBS) $(SYSTEMDLOGIN_LIBS)
+module_systemd_login_la_CFLAGS = $(AM_CFLAGS) $(SYSTEMD_CFLAGS) $(SYSTEMDLOGIN_CFLAGS) -DPA_MODULE_NAME=module_systemd_login
+
+# GConf support
+module_gconf_la_SOURCES = \
+ modules/stdin-util.c modules/stdin-util.h \
+ modules/gconf/module-gconf.c
+
+module_gconf_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_gconf_la_LIBADD = $(MODULE_LIBADD)
+module_gconf_la_CFLAGS = $(AM_CFLAGS) -DPA_GCONF_HELPER=\"$(pulselibexecdir)/gconf-helper\" -DPA_MODULE_NAME=module_gconf
+
+gconf_helper_SOURCES = modules/gconf/gconf-helper.c
+gconf_helper_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(GCONF_LIBS)
+gconf_helper_CFLAGS = $(AM_CFLAGS) $(GCONF_CFLAGS)
+gconf_helper_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+# GSettings support
+module_gsettings_la_SOURCES = \
+ modules/stdin-util.c modules/stdin-util.h \
+ modules/gsettings/module-gsettings.c
+module_gsettings_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_gsettings_la_LIBADD = $(MODULE_LIBADD)
+module_gsettings_la_CFLAGS = $(AM_CFLAGS) -DPA_GSETTINGS_HELPER=\"$(pulselibexecdir)/gsettings-helper\" -DPA_MODULE_NAME=module_gsettings
+
+gsettings_helper_SOURCES = modules/gsettings/gsettings-helper.c
+gsettings_helper_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(GSETTINGS_LIBS)
+gsettings_helper_CFLAGS = $(AM_CFLAGS) $(GSETTINGS_CFLAGS)
+gsettings_helper_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+if HAVE_GSETTINGS
+gsettings_SCHEMAS = modules/gsettings/org.freedesktop.pulseaudio.gschema.xml
+@GSETTINGS_RULES@
+endif
+
+# Bluetooth policy
+module_bluetooth_policy_la_SOURCES = modules/bluetooth/module-bluetooth-policy.c
+module_bluetooth_policy_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_bluetooth_policy_la_LIBADD = $(MODULE_LIBADD)
+module_bluetooth_policy_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_bluetooth_policy
+
+# Bluetooth discover
+module_bluetooth_discover_la_SOURCES = modules/bluetooth/module-bluetooth-discover.c
+module_bluetooth_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_bluetooth_discover_la_LIBADD = $(MODULE_LIBADD)
+module_bluetooth_discover_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_bluetooth_discover
+
+# Bluetooth BlueZ 5 sink / source
+libbluez5_util_la_SOURCES = \
+ modules/bluetooth/bluez5-util.c \
+ modules/bluetooth/bluez5-util.h \
+ modules/bluetooth/a2dp-codec-api.h \
+ modules/bluetooth/a2dp-codec-util.c \
+ modules/bluetooth/a2dp-codec-util.h \
+ modules/bluetooth/a2dp-codecs.h \
+ modules/bluetooth/rtp.h
+if HAVE_BLUEZ_5_OFONO_HEADSET
+libbluez5_util_la_SOURCES += \
+ modules/bluetooth/backend-ofono.c
+endif
+if HAVE_BLUEZ_5_NATIVE_HEADSET
+libbluez5_util_la_SOURCES += \
+ modules/bluetooth/backend-native.c
+endif
+
+libbluez5_util_la_LDFLAGS = -avoid-version
+libbluez5_util_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
+libbluez5_util_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
+libbluez5_util_la_CPPFLAGS = $(AM_CPPFLAGS)
+
+libbluez5_util_la_SOURCES += modules/bluetooth/a2dp-codec-sbc.c
+libbluez5_util_la_LIBADD += $(SBC_LIBS)
+libbluez5_util_la_CFLAGS += $(SBC_CFLAGS)
+
+module_bluez5_discover_la_SOURCES = modules/bluetooth/module-bluez5-discover.c
+module_bluez5_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_bluez5_discover_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libbluez5-util.la
+module_bluez5_discover_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_bluez5_discover
+
+module_bluez5_device_la_SOURCES = modules/bluetooth/module-bluez5-device.c
+module_bluez5_device_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_bluez5_device_la_LIBADD = $(MODULE_LIBADD) libbluez5-util.la
+module_bluez5_device_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_bluez5_device
+
+# Apple Airtunes/RAOP
+module_raop_sink_la_SOURCES = modules/raop/module-raop-sink.c
+module_raop_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_raop_sink_la_LIBADD = $(MODULE_LIBADD) librtp.la libraop.la
+module_raop_sink_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/src/modules/rtp -DPA_MODULE_NAME=module_raop_sink
+
+module_raop_discover_la_SOURCES = modules/raop/module-raop-discover.c
+module_raop_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_raop_discover_la_LIBADD = $(MODULE_LIBADD) $(AVAHI_LIBS) libavahi-wrap.la
+module_raop_discover_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS) -DPA_MODULE_NAME=module_raop_discover
+
+# Rygel
+module_rygel_media_server_la_SOURCES = modules/module-rygel-media-server.c
+module_rygel_media_server_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_rygel_media_server_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libprotocol-http.la
+module_rygel_media_server_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_MODULE_NAME=module_rygel_media_server
+
+# Allow passthrough module
+module_allow_passthrough_la_SOURCES = modules/module-allow-passthrough.c
+module_allow_passthrough_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_allow_passthrough_la_LIBADD = $(MODULE_LIBADD)
+module_allow_passthrough_la_CFLAGS = $(AM_CFLAGS) -DPA_MODULE_NAME=module_allow_passthrough
+
+###################################
+# Some minor stuff #
+###################################
+
+CLEANFILES += daemon/pulseaudio.desktop
+DISTCLEANFILES = esdcompat client.conf default.pa system.pa daemon.conf start-pulseaudio-x11 pulseaudio.service
+
+if OS_IS_WIN32
+SYMLINK_PROGRAM=cd $(DESTDIR)$(bindir) && cp
+else
+SYMLINK_PROGRAM=ln -sf
+endif
+install-exec-hook:
+ $(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/parec$(EXEEXT)
+ $(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/pamon$(EXEEXT)
+ $(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/paplay$(EXEEXT)
+ $(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/parecord$(EXEEXT)
+ rm -f $(DESTDIR)$(libdir)/libpulsedsp.la
+ rm -f $(DESTDIR)$(modlibexecdir)/*.la
+
+uninstall-hook:
+ rm -f $(DESTDIR)$(bindir)/parec$(EXEEXT)
+ rm -f $(DESTDIR)$(bindir)/pamon$(EXEEXT)
+ rm -f $(DESTDIR)$(bindir)/paplay$(EXEEXT)
+ rm -f $(DESTDIR)$(bindir)/parecord$(EXEEXT)
+ rm -f $(DESTDIR)$(libdir)/libpulsedsp.*
+ rm -f $(DESTDIR)$(modlibexecdir)/*.so
+
+massif: pulseaudio
+ libtool --mode=execute valgrind --tool=massif --depth=6 --alloc-fn=pa_xmalloc --alloc-fn=pa_xmalloc0 --alloc-fn=pa_xrealloc --alloc-fn=dbus_realloc --alloc-fn=pa_xnew0_internal --alloc-fn=pa_xnew_internal ./pulseaudio
+
+update-ffmpeg:
+ wget -O pulsecore/ffmpeg/resample2.c http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/resample2.c?view=co
+
+update-reserve:
+ for i in reserve.c reserve.h reserve-monitor.c reserve-monitor.h ; do \
+ wget -O $(top_srcdir)/src/modules/$$i http://git.0pointer.de/\?p=reserve.git\;a=blob_plain\;f=$$i\;hb=master ; \
+ done
+
+update-rtkit:
+ for i in rtkit.c rtkit.h ; do \
+ wget -O $(top_srcdir)/src/pulsecore/$$i http://git.0pointer.de/\?p=rtkit.git\;a=blob_plain\;f=$$i\;hb=master ; \
+ done
+
+# Automatically generate linker version script. We use the same one for all public .sos
+update-map-file:
+ ( echo "PULSE_0 {" ; \
+ echo "global:" ; \
+ ctags -I PA_GCC_MALLOC,PA_GCC_ALLOC_SIZE2,PA_GCC_ALLOC_SIZE,PA_GCC_PURE,PA_GCC_CONST,PA_GCC_DEPRECATED,PA_GCC_PRINTF_ATTR -f - --c-kinds=p $(pulseinclude_HEADERS) | awk '/^pa_/ { print $$1 ";" }' | sort ; \
+ echo "local:" ; \
+ echo "*;" ; \
+ echo "};" ) > $(srcdir)/map-file
+
+update-all: update-ffmpeg update-map-file
+
+# Force installation order of libraries. libtool relinks on install time, in
+# which case libpulsecommon has to be installed before others, but the padsp
+# preload library has to be done after the normal libraries (e.g. libpulse)
+# ...
+# Unfortunately automake behaviour means that rules without commands also
+# override build-in rules, so it's not trivial to add dependencies.
+# See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328 for the workaround
+# ...
+# Isn't libtool/autotools fun!
+
+installlibLTLIBRARIES = install-libLTLIBRARIES
+$(installlibLTLIBRARIES): install-commonlibLTLIBRARIES
+
+installpkglibLTLIBRARIES = install-pkglibLTLIBRARIES
+$(installpkglibLTLIBRARIES): install-libLTLIBRARIES
+
+installmodlibexecLTLIBRARIES = install-modlibexecLTLIBRARIES
+$(installmodlibexecLTLIBRARIES): install-pkglibLTLIBRARIES install-libLTLIBRARIES
+
+installpadsplibLTLIBRARIES = install-padsplibLTLIBRARIES
+$(installpadsplibLTLIBRARIES): install-libLTLIBRARIES
+
+if HAVE_GCOV
+coverage:
+ @echo ""
+ @echo "Don't forget to run 'make check' before generating coverage stats."
+ @echo ""
+ lcov --capture --directory . --output-file $(builddir)/gcov-all.info
+ -rm -r $(builddir)/coverage
+ genhtml --output-directory $(builddir)/coverage gcov-all.info
+ @echo ""
+ @echo "Coverage data now available at: $(abs_builddir)/coverage/index.html"
+else
+coverage:
+ @echo ""
+ @echo "To generate coverage stats, rerun configure with '--enable-gcov',"
+ @echo "and don't forget to disable it again for regular builds."
+ @echo ""
+endif
+
+.PHONY: massif update-all update-ffmpeg update-map-file coverage