]> code.delx.au - pulseaudio/blobdiff - src/Makefile.am
tests: modify utf8-test to use new 'check' test framework
[pulseaudio] / src / Makefile.am
index c2b8224ae532dbecab15efff8a4f5e24adaf89ae..0132274855c92fa12bb51516c5dea3fa474f74b0 100644 (file)
@@ -48,11 +48,19 @@ AM_CFLAGS = \
        $(PTHREAD_CFLAGS) \
        -DPA_ALSA_PATHS_DIR=\"$(alsapathsdir)\" \
        -DPA_ALSA_PROFILE_SETS_DIR=\"$(alsaprofilesetsdir)\"
+AM_CXXFLAGS = $(AM_CFLAGS)
+SERVER_CFLAGS = -D__INCLUDED_FROM_PULSE_AUDIO
 
 AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)
 AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
 AM_LDFLAGS = $(NODELETE_LDFLAGS)
 
+if HAVE_GCOV
+AM_CFLAGS+=$(GCOV_CFLAGS)
+AM_CXXFLAGS+=$(GCOV_CFLAGS)
+AM_LDFLAGS+=$(GCOV_LIBS)
+endif
+
 if STATIC_BINS
 BINLDFLAGS = -static
 endif
@@ -81,12 +89,11 @@ EXTRA_DIST = \
                daemon/daemon.conf.in \
                daemon/default.pa.in \
                daemon/system.pa.in \
-               daemon/default.pa.win32 \
                depmod.py \
                daemon/esdcompat.in \
                daemon/start-pulseaudio-x11.in \
                daemon/start-pulseaudio-kde.in \
-               utils/padsp \
+               utils/padsp.in \
                utils/qpaeq \
                modules/module-defs.h.m4 \
                daemon/pulseaudio.desktop.in \
@@ -214,12 +221,10 @@ pax11publish_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 #         Test programs           #
 ###################################
 
-TESTS = \
+TESTS_default = \
                mainloop-test \
                strlist-test \
                close-test \
-               voltest \
-               vector-test \
                memblockq-test \
                channelmap-test \
                thread-mainloop-test \
@@ -233,35 +238,44 @@ TESTS = \
                asyncmsgq-test \
                queue-test \
                rtpoll-test \
-               sig2str-test \
                resampler-test \
                smoother-test \
+               thread-test \
+               volume-test \
                mix-test \
-               remix-test \
                proplist-test \
-               lock-autospawn-test \
-               prioq-test
+               cpu-test \
+               lock-autospawn-test
 
 TESTS_norun = \
                mcalign-test \
-               once-test \
                pacat-simple \
                parec-simple \
-               extended-test \
-               sync-playback \
-               interpol-test \
-               thread-test \
                flist-test \
+               remix-test \
                rtstutter \
+               sig2str-test \
                stripnul \
-               connect-stress
+               echo-cancel-test
+
+# These tests need a running pulseaudio daemon
+TESTS_daemon = \
+               connect-stress \
+               extended-test \
+               interpol-test \
+               sync-playback
 
 if !OS_IS_WIN32
-TESTS += \
+TESTS_default += \
                sigbus-test \
                usergroup-test
 endif
 
+if !OS_IS_DARWIN
+TESTS_default += \
+               once-test
+endif
+
 if HAVE_SIGXCPU
 TESTS_norun += \
                cpulimit-test \
@@ -269,7 +283,7 @@ TESTS_norun += \
 endif
 
 if HAVE_GLIB20
-TESTS += \
+TESTS_default += \
                mainloop-test-glib
 endif
 
@@ -283,16 +297,22 @@ TESTS_norun += \
                alsa-time-test
 endif
 
+TESTS_ENVIRONMENT=MAKE_CHECK=1
+TESTS = $(TESTS_default)
+
 if BUILD_TESTS_DEFAULT
-noinst_PROGRAMS = $(TESTS) $(TESTS_norun)
+noinst_PROGRAMS = $(TESTS_default) $(TESTS_norun) $(TESTS_daemon)
 else
-check_PROGRAMS = $(TESTS) $(TESTS_norun)
+check_PROGRAMS = $(TESTS_default) $(TESTS_norun) $(TESTS_daemon)
 endif
 
+check-daemon:
+       $(MAKE) check TESTS="$(TESTS_daemon)"
+
 mainloop_test_SOURCES = tests/mainloop-test.c
-mainloop_test_CFLAGS = $(AM_CFLAGS)
+mainloop_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
 mainloop_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
-mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
 
 thread_mainloop_test_SOURCES = tests/thread-mainloop-test.c
 thread_mainloop_test_CFLAGS = $(AM_CFLAGS)
@@ -300,9 +320,9 @@ thread_mainloop_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpuls
 thread_mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 utf8_test_SOURCES = tests/utf8-test.c
-utf8_test_CFLAGS = $(AM_CFLAGS)
-utf8_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
-utf8_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+utf8_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+utf8_test_LDADD = $(AM_LDADD) libpulse.la
+utf8_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
 
 format_test_SOURCES = tests/format-test.c
 format_test_CFLAGS = $(AM_CFLAGS)
@@ -370,17 +390,17 @@ mcalign_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@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 libpulsecommon-@PA_MAJORMINOR@.la
+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 libpulsecommon-@PA_MAJORMINOR@.la
+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 libpulsecommon-@PA_MAJORMINOR@.la
+extended_test_LDADD = $(AM_LDADD) libpulse.la
 extended_test_CFLAGS = $(AM_CFLAGS)
 extended_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
@@ -394,19 +414,14 @@ 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)
 
-voltest_SOURCES = tests/voltest.c
-voltest_CFLAGS = $(AM_CFLAGS)
-voltest_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
-voltest_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
-
-vector_test_SOURCES = tests/vector-test.c
-vector_test_CFLAGS = $(AM_CFLAGS)
-vector_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
-vector_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+volume_test_SOURCES = tests/volume-test.c
+volume_test_CFLAGS = $(AM_CFLAGS)
+volume_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+volume_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 channelmap_test_SOURCES = tests/channelmap-test.c
 channelmap_test_CFLAGS = $(AM_CFLAGS)
-channelmap_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+channelmap_test_LDADD = $(AM_LDADD) libpulse.la
 channelmap_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 cpulimit_test_SOURCES = tests/cpulimit-test.c daemon/cpulimit.c daemon/cpulimit.h
@@ -420,9 +435,9 @@ cpulimit_test2_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la l
 cpulimit_test2_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 mainloop_test_glib_SOURCES = $(mainloop_test_SOURCES)
-mainloop_test_glib_CFLAGS = $(mainloop_test_CFLAGS) $(GLIB20_CFLAGS) -DGLIB_MAIN_LOOP
+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)
+mainloop_test_glib_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(LIBCHECK_LIBS)
 
 memblockq_test_SOURCES = tests/memblockq-test.c
 memblockq_test_CFLAGS = $(AM_CFLAGS)
@@ -430,12 +445,12 @@ memblockq_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@PA_MAJORMINOR@.
 memblockq_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 sync_playback_SOURCES = tests/sync-playback.c
-sync_playback_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+sync_playback_LDADD = $(AM_LDADD) libpulse.la
 sync_playback_CFLAGS = $(AM_CFLAGS)
 sync_playback_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 interpol_test_SOURCES = tests/interpol-test.c
-interpol_test_LDADD = $(AM_LDADD) libpulse.la libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+interpol_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
 interpol_test_CFLAGS = $(AM_CFLAGS)
 interpol_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
@@ -451,8 +466,8 @@ 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)
-mix_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+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
@@ -469,6 +484,11 @@ proplist_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la li
 proplist_test_CFLAGS = $(AM_CFLAGS)
 proplist_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
+cpu_test_SOURCES = tests/cpu-test.c
+cpu_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+cpu_test_CFLAGS = $(AM_CFLAGS) $(LIBCHECK_CFLAGS)
+cpu_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)
@@ -484,25 +504,20 @@ lock_autospawn_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse
 lock_autospawn_test_CFLAGS = $(AM_CFLAGS)
 lock_autospawn_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
-prioq_test_SOURCES = tests/prioq-test.c
-prioq_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
-prioq_test_CFLAGS = $(AM_CFLAGS)
-prioq_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
-
 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)
 sigbus_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 gtk_test_SOURCES = tests/gtk-test.c
-gtk_test_LDADD = $(AM_LDADD) libpulse.la libpulse-mainloop-glib.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+gtk_test_LDADD = $(AM_LDADD) $(GTK20_LIBS) libpulse-mainloop-glib.la libpulse.la
 gtk_test_CFLAGS = $(AM_CFLAGS) $(GTK20_CFLAGS)
-gtk_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(GTK20_LIBS)
+gtk_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 alsa_time_test_SOURCES = tests/alsa-time-test.c
-alsa_time_test_LDADD = $(AM_LDADD)
+alsa_time_test_LDADD = $(AM_LDADD) $(ASOUNDLIB_LIBS)
 alsa_time_test_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
-alsa_time_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(ASOUNDLIB_LIBS)
+alsa_time_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 usergroup_test_SOURCES = tests/usergroup-test.c
 usergroup_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
@@ -510,21 +525,28 @@ usergroup_test_CFLAGS = $(AM_CFLAGS)
 usergroup_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
 connect_stress_SOURCES = tests/connect-stress.c
-connect_stress_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
+connect_stress_LDADD = $(AM_LDADD) libpulse.la
 connect_stress_CFLAGS = $(AM_CFLAGS)
 connect_stress_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
 
+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)
 
 ###################################
 #         Common library          #
 ###################################
 
-lib_LTLIBRARIES = \
+pkglib_LTLIBRARIES = \
                libpulsecommon-@PA_MAJORMINOR@.la
 
 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
                pulse/client-conf.c pulse/client-conf.h \
-               pulse/i18n.c pulse/i18n.h \
                pulse/fork-detect.c pulse/fork-detect.h \
                pulse/xmalloc.c pulse/xmalloc.h \
                pulse/proplist.c pulse/proplist.h \
@@ -534,7 +556,6 @@ libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
                pulse/util.c pulse/util.h \
                pulse/timeval.c pulse/timeval.h \
                pulse/rtclock.c pulse/rtclock.h \
-               pulse/format.c pulse/format.h \
                pulsecore/atomic.h \
                pulsecore/authkey.c pulsecore/authkey.h \
                pulsecore/conf-parser.c pulsecore/conf-parser.h \
@@ -546,16 +567,17 @@ libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
                pulsecore/endianmacros.h \
                pulsecore/flist.c pulsecore/flist.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.h pulsecore/ipacl.c \
+               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/vector.h \
+               pulsecore/macro.h \
                pulsecore/mcalign.c pulsecore/mcalign.h \
                pulsecore/memblock.c pulsecore/memblock.h \
                pulsecore/memblockq.c pulsecore/memblockq.h \
@@ -568,7 +590,6 @@ libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
                pulsecore/pid.c pulsecore/pid.h \
                pulsecore/pipe.c pulsecore/pipe.h \
                pulsecore/poll.c pulsecore/poll.h \
-               pulsecore/prioq.c pulsecore/prioq.h \
                pulsecore/memtrap.c pulsecore/memtrap.h \
                pulsecore/aupdate.c pulsecore/aupdate.h \
                pulsecore/proplist-util.c pulsecore/proplist-util.h \
@@ -591,9 +612,9 @@ libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
                pulsecore/sndfile-util.c pulsecore/sndfile-util.h \
                pulsecore/socket.h
 
-libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSNDFILE_CFLAGS) $(LIBJSON_CFLAGS)
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBSNDFILE_CFLAGS)
 libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
-libpulsecommon_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBWRAP_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS) $(LIBJSON_LIBS)
+libpulsecommon_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBWRAP_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBSNDFILE_LIBS)
 
 if HAVE_X11
 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
@@ -685,7 +706,7 @@ pulseinclude_HEADERS = \
                pulse/volume.h \
                pulse/xmalloc.h
 
-lib_LTLIBRARIES += \
+lib_LTLIBRARIES = \
                libpulse.la \
                libpulse-simple.la
 
@@ -707,6 +728,7 @@ libpulse_la_SOURCES = \
                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 \
@@ -728,8 +750,8 @@ libpulse_la_SOURCES = \
                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_CFLAGS = $(AM_CFLAGS) $(LIBJSON_CFLAGS)
+libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBJSON_LIBS) libpulsecommon-@PA_MAJORMINOR@.la
 libpulse_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO)
 
 if HAVE_DBUS
@@ -752,8 +774,18 @@ libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version
 ###################################
 
 if HAVE_OSS_WRAPPER
-lib_LTLIBRARIES += libpulsedsp.la
-bin_SCRIPTS += utils/padsp
+padsplibdir = $(pkglibdir)
+padsplib_LTLIBRARIES = libpulsedsp.la
+bin_SCRIPTS += padsp
+
+edit = @SED@ \
+       -e "s|@pkglibdir[@]|$(pkglibdir)|g"
+
+padsp: utils/padsp.in
+       $(edit) $< > $@
+
+CLEANFILES += padsp
+
 endif
 
 libpulsedsp_la_SOURCES = utils/padsp.c
@@ -807,9 +839,9 @@ libpulsecore_@PA_MAJORMINOR@_la_SOURCES = \
                pulsecore/sconv_sse.c \
                pulsecore/sconv.c pulsecore/sconv.h \
                pulsecore/shared.c pulsecore/shared.h \
-               pulsecore/shm.c pulsecore/shm.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 \
@@ -817,10 +849,9 @@ libpulsecore_@PA_MAJORMINOR@_la_SOURCES = \
                pulsecore/source.c pulsecore/source.h \
                pulsecore/start-child.c pulsecore/start-child.h \
                pulsecore/thread-mq.c pulsecore/thread-mq.h \
-               pulsecore/time-smoother.c pulsecore/time-smoother.h \
                pulsecore/database.h
 
-libpulsecore_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSPEEX_CFLAGS) $(LIBSNDFILE_CFLAGS) $(WINSOCK_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSPEEX_CFLAGS) $(LIBSNDFILE_CFLAGS) $(WINSOCK_CFLAGS)
 libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libpulsecore_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSPEEX_LIBS) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libpulsecore-foreign.la
 
@@ -884,8 +915,12 @@ modlibexec_LTLIBRARIES = \
                libprotocol-cli.la \
                libprotocol-simple.la \
                libprotocol-http.la \
-               libprotocol-native.la \
+               libprotocol-native.la
+
+if HAVE_ESOUND
+modlibexec_LTLIBRARIES += \
                libprotocol-esound.la
+endif
 
 # We need to emulate sendmsg/recvmsg to support this on Win32
 if !OS_IS_WIN32
@@ -915,7 +950,7 @@ libprotocol_http_la_LDFLAGS = $(AM_LDFLAGS) -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)
+libprotocol_native_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
 libprotocol_native_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libprotocol_native_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 if HAVE_DBUS
@@ -923,9 +958,11 @@ 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) -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.c modules/rtp/rtp.h \
@@ -982,24 +1019,30 @@ modlibexec_LTLIBRARIES += \
                module-sine.la \
                module-native-protocol-tcp.la \
                module-native-protocol-fd.la \
-               module-esound-protocol-tcp.la \
                module-combine.la \
                module-combine-sink.la \
                module-remap-sink.la \
                module-ladspa-sink.la \
-               module-esound-sink.la \
                module-tunnel-sink.la \
                module-tunnel-source.la \
                module-position-event-sounds.la \
                module-augment-properties.la \
-               module-cork-music-on-phone.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
 
+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 += \
@@ -1012,9 +1055,12 @@ modlibexec_LTLIBRARIES += \
                module-cli-protocol-unix.la \
                module-simple-protocol-unix.la \
                module-http-protocol-unix.la \
-               module-native-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 += \
@@ -1023,10 +1069,12 @@ modlibexec_LTLIBRARIES += \
 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 += \
@@ -1064,6 +1112,9 @@ modlibexec_LTLIBRARIES += \
 
 dist_alsaprofilesets_DATA = \
                modules/alsa/mixer/profile-sets/default.conf \
+               modules/alsa/mixer/profile-sets/extra-hdmi.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/maudio-fasttrack-pro.conf \
                modules/alsa/mixer/profile-sets/native-instruments-audio4dj.conf \
                modules/alsa/mixer/profile-sets/native-instruments-audio8dj.conf \
@@ -1071,7 +1122,7 @@ dist_alsaprofilesets_DATA = \
                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/usb-headset.conf
+               modules/alsa/mixer/profile-sets/kinect-audio.conf
 
 if HAVE_UDEV
 dist_udevrules_DATA = \
@@ -1087,7 +1138,9 @@ dist_alsapaths_DATA = \
                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-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 \
@@ -1095,13 +1148,18 @@ dist_alsapaths_DATA = \
                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-desktop-speaker.conf \
                modules/alsa/mixer/paths/analog-output-headphones.conf \
                modules/alsa/mixer/paths/analog-output-headphones-2.conf \
                modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf \
                modules/alsa/mixer/paths/analog-output-mono.conf \
-               modules/alsa/mixer/paths/iec958-stereo-output.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
 
 endif
 
@@ -1126,6 +1184,12 @@ modlibexec_LTLIBRARIES += \
                module-lirc.la
 endif
 
+if HAVE_XEN
+modlibexec_LTLIBRARIES += \
+               module-xenpv-sink.la
+endif
+
+
 if HAVE_EVDEV
 modlibexec_LTLIBRARIES += \
                module-mmkbd-evdev.la
@@ -1156,11 +1220,6 @@ modlibexec_LTLIBRARIES += \
                module-waveout.la
 endif
 
-if HAVE_HAL
-modlibexec_LTLIBRARIES += \
-               module-hal-detect.la
-endif
-
 if HAVE_HAL_COMPAT
 modlibexec_LTLIBRARIES += \
                module-hal-detect.la
@@ -1171,6 +1230,11 @@ modlibexec_LTLIBRARIES += \
                module-udev-detect.la
 endif
 
+if HAVE_SYSTEMD
+modlibexec_LTLIBRARIES += \
+               module-systemd-login.la
+endif
+
 if HAVE_DBUS
 modlibexec_LTLIBRARIES += \
                module-rygel-media-server.la \
@@ -1182,8 +1246,8 @@ modlibexec_LTLIBRARIES += \
                libbluetooth-util.la \
                module-bluetooth-proximity.la \
                module-bluetooth-discover.la \
-               libbluetooth-ipc.la \
                libbluetooth-sbc.la \
+               module-bluetooth-policy.la \
                module-bluetooth-device.la
 
 pulselibexec_PROGRAMS += \
@@ -1200,11 +1264,13 @@ modlibexec_LTLIBRARIES += \
 endif
 endif
 
+if HAVE_DBUS
 if HAVE_FFTW
 modlibexec_LTLIBRARIES += \
                module-equalizer-sink.la
 bin_SCRIPTS += utils/qpaeq
 endif
+endif
 
 # These are generated by an M4 script
 SYMDEF_FILES = \
@@ -1215,8 +1281,6 @@ SYMDEF_FILES = \
                module-pipe-source-symdef.h \
                module-simple-protocol-tcp-symdef.h \
                module-simple-protocol-unix-symdef.h \
-               module-esound-protocol-tcp-symdef.h \
-               module-esound-protocol-unix-symdef.h \
                module-native-protocol-tcp-symdef.h \
                module-native-protocol-unix-symdef.h \
                module-native-protocol-fd-symdef.h \
@@ -1226,19 +1290,17 @@ SYMDEF_FILES = \
                module-remap-sink-symdef.h \
                module-ladspa-sink-symdef.h \
                module-equalizer-sink-symdef.h \
-               module-esound-compat-spawnfd-symdef.h \
-               module-esound-compat-spawnpid-symdef.h \
                module-match-symdef.h \
                module-tunnel-sink-symdef.h \
                module-tunnel-source-symdef.h \
                module-null-sink-symdef.h \
                module-null-source-symdef.h \
                module-sine-source-symdef.h \
-               module-esound-sink-symdef.h \
                module-zeroconf-publish-symdef.h \
                module-zeroconf-discover-symdef.h \
                module-bonjour-publish-symdef.h \
                module-lirc-symdef.h \
+               module-xenpv-sink-symdef.h \
                module-mmkbd-evdev-symdef.h \
                module-http-protocol-tcp-symdef.h \
                module-http-protocol-unix-symdef.h \
@@ -1274,24 +1336,37 @@ SYMDEF_FILES = \
                module-echo-cancel-symdef.h \
                module-hal-detect-symdef.h \
                module-udev-detect-symdef.h \
+               module-systemd-login-symdef.h \
                module-bluetooth-proximity-symdef.h \
                module-bluetooth-discover-symdef.h \
+               module-bluetooth-policy-symdef.h \
                module-bluetooth-device-symdef.h \
                module-raop-sink-symdef.h \
                module-raop-discover-symdef.h \
                module-gconf-symdef.h \
                module-position-event-sounds-symdef.h \
                module-augment-properties-symdef.h \
-               module-cork-music-on-phone-symdef.h \
+               module-role-cork-symdef.h \
                module-console-kit-symdef.h \
                module-dbus-protocol-symdef.h \
                module-loopback-symdef.h \
                module-virtual-sink-symdef.h \
                module-virtual-source-symdef.h \
+               module-virtual-surround-sink-symdef.h \
                module-switch-on-connect-symdef.h \
+               module-switch-on-port-available-symdef.h \
                module-filter-apply-symdef.h \
                module-filter-heuristics-symdef.h
 
+if HAVE_ESOUND
+SYMDEF_FILES += \
+               module-esound-protocol-tcp-symdef.h \
+               module-esound-protocol-unix-symdef.h \
+               module-esound-compat-spawnfd-symdef.h \
+               module-esound-compat-spawnpid-symdef.h \
+               module-esound-sink-symdef.h
+endif
+
 EXTRA_DIST += $(SYMDEF_FILES)
 BUILT_SOURCES += $(SYMDEF_FILES) builddirs
 
@@ -1380,6 +1455,7 @@ 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)
 module_esound_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
@@ -1401,6 +1477,7 @@ module_esound_compat_spawnpid_la_LIBADD = $(MODULE_LIBADD)
 module_esound_sink_la_SOURCES = modules/module-esound-sink.c
 module_esound_sink_la_LDFLAGS = $(MODULE_LDFLAGS) $(WINSOCK_LIBS)
 module_esound_sink_la_LIBADD = $(MODULE_LIBADD)
+endif
 
 # Pipes
 
@@ -1444,6 +1521,10 @@ 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_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_filter_apply_la_SOURCES = modules/module-filter-apply.c
 module_filter_apply_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_filter_apply_la_LIBADD = $(MODULE_LIBADD)
@@ -1461,16 +1542,16 @@ module_ladspa_sink_la_CFLAGS = -DLADSPA_PATH=\"$(libdir)/ladspa:/usr/local/lib/l
 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) $(FFTW_CFLAGS)
+module_equalizer_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(DBUS_CFLAGS) $(FFTW_CFLAGS)
 module_equalizer_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_equalizer_sink_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) $(FFTW_LIBS)
 
-if HAVE_DBUS
-module_equalizer_sink_la_CFLAGS += $(DBUS_CFLAGS)
-module_equalizer_sink_la_LIBADD += $(DBUS_LIBS)
-endif
-
 module_match_la_SOURCES = modules/module-match.c
 module_match_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_match_la_LIBADD = $(MODULE_LIBADD)
@@ -1489,13 +1570,20 @@ module_loopback_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_loopback_la_LIBADD = $(MODULE_LIBADD)
 
 module_virtual_sink_la_SOURCES = modules/module-virtual-sink.c
+module_virtual_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
 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)
 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)
+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
@@ -1546,19 +1634,14 @@ module_coreaudio_device_la_LIBADD = $(MODULE_LIBADD)
 
 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) $(ASOUNDLIB_CFLAGS)
-
-if HAVE_HAL
-libalsa_util_la_SOURCES += modules/hal-util.h modules/hal-util.c
-libalsa_util_la_LIBADD += $(HAL_LIBS)
-libalsa_util_la_CFLAGS += $(HAL_CFLAGS)
-endif
+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
@@ -1610,7 +1693,7 @@ module_zeroconf_discover_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
 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)
+module_bonjour_publish_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
 
 # LIRC
 
@@ -1619,6 +1702,15 @@ module_lirc_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_lirc_la_LIBADD = $(MODULE_LIBADD) $(LIRC_LIBS)
 module_lirc_la_CFLAGS = $(AM_CFLAGS) $(LIRC_CFLAGS)
 
+
+# Xen PV driver
+
+module_xenpv_sink_la_SOURCES = modules/xen/module-xenpv-sink.c modules/xen/gntalloc.h modules/xen/gntdev.h
+module_xenpv_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_xenpv_sink_la_LIBADD = $(MODULE_LIBADD) $(XEN_LIBS)
+module_xenpv_sink_la_CFLAGS = $(AM_CFLAGS) $(XEN_CFLAGS) -I$(top_srcdir)/src/modules/xen
+
+
 # Linux evdev
 
 module_mmkbd_evdev_la_SOURCES = modules/module-mmkbd-evdev.c
@@ -1657,11 +1749,11 @@ 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\"
 
-# Cork music streams while a phone stream is active
-module_cork_music_on_phone_la_SOURCES = modules/module-cork-music-on-phone.c
-module_cork_music_on_phone_la_LDFLAGS = $(MODULE_LDFLAGS)
-module_cork_music_on_phone_la_LIBADD = $(MODULE_LIBADD)
-module_cork_music_on_phone_la_CFLAGS = $(AM_CFLAGS)
+# 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
+module_role_cork_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_role_cork_la_LIBADD = $(MODULE_LIBADD)
+module_role_cork_la_CFLAGS = $(AM_CFLAGS)
 
 # Device description restore module
 module_device_manager_la_SOURCES = modules/module-device-manager.c
@@ -1729,13 +1821,17 @@ module_suspend_on_idle_la_CFLAGS = $(AM_CFLAGS)
 
 # echo-cancel module
 module_echo_cancel_la_SOURCES = \
-               modules/echo-cancel/module-echo-cancel.c modules/echo-cancel/echo-cancel.h \
-               modules/echo-cancel/speex.c \
-               modules/echo-cancel/adrian-aec.c modules/echo-cancel/adrian-aec.h \
-               modules/echo-cancel/adrian.c modules/echo-cancel/adrian.h
+               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) $(LIBSPEEX_LIBS)
-module_echo_cancel_la_CFLAGS = $(AM_CFLAGS) $(LIBSPEEX_CFLAGS)
+module_echo_cancel_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(LIBSPEEX_CFLAGS)
+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
 if HAVE_ORC
 ORC_SOURCE += modules/echo-cancel/adrian-aec
 nodist_module_echo_cancel_la_SOURCES = \
@@ -1744,6 +1840,24 @@ nodist_module_echo_cancel_la_SOURCES = \
 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
+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).
+modlibexec_LTLIBRARIES += libwebrtc-util.la
+
+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 = $(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
@@ -1773,15 +1887,9 @@ 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)
 
-if HAVE_HAL_COMPAT
 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)
-else
-module_hal_detect_la_SOURCES = modules/module-hal-detect.c
-module_hal_detect_la_LIBADD = $(MODULE_LIBADD) $(HAL_LIBS)
-module_hal_detect_la_CFLAGS = $(AM_CFLAGS) $(HAL_CFLAGS)
-endif
 module_hal_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
 
 module_udev_detect_la_SOURCES = modules/module-udev-detect.c
@@ -1791,8 +1899,13 @@ module_udev_detect_la_CFLAGS = $(AM_CFLAGS) $(UDEV_CFLAGS)
 
 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)
+module_console_kit_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) $(SYSTEMD_LIBS)
+module_console_kit_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) $(SYSTEMD_CFLAGS)
+
+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)
+module_systemd_login_la_CFLAGS = $(AM_CFLAGS) $(SYSTEMD_CFLAGS)
 
 # GConf support
 module_gconf_la_SOURCES = modules/gconf/module-gconf.c
@@ -1836,14 +1949,6 @@ libbluetooth_sbc_la_LIBADD = $(MODULE_LIBADD)
 libbluetooth_sbc_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/src/modules/bluetooth/sbc
 BLUETOOTH_SBC_FILES = $(subst modules/bluetooth/,,$(libbluetooth_sbc_la_SOURCES))
 
-libbluetooth_ipc_la_SOURCES = \
-               modules/bluetooth/a2dp-codecs.h \
-               modules/bluetooth/ipc.c modules/bluetooth/ipc.h
-libbluetooth_ipc_la_LDFLAGS = -avoid-version
-libbluetooth_ipc_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
-libbluetooth_ipc_la_CFLAGS = $(AM_CFLAGS)
-BLUETOOTH_IPC_FILES = $(subst modules/bluetooth/,,$(libbluetooth_ipc_la_SOURCES)) rtp.h
-
 libbluetooth_util_la_SOURCES = modules/bluetooth/bluetooth-util.c modules/bluetooth/bluetooth-util.h
 libbluetooth_util_la_LDFLAGS = -avoid-version
 libbluetooth_util_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
@@ -1851,9 +1956,14 @@ libbluetooth_util_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
 
 module_bluetooth_device_la_SOURCES = modules/bluetooth/module-bluetooth-device.c modules/bluetooth/rtp.h
 module_bluetooth_device_la_LDFLAGS = $(MODULE_LDFLAGS)
-module_bluetooth_device_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libbluetooth-util.la libbluetooth-ipc.la libbluetooth-sbc.la
+module_bluetooth_device_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libbluetooth-util.la libbluetooth-sbc.la
 module_bluetooth_device_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -I$(top_srcdir)/src/modules/bluetooth/sbc
 
+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)
+
 # Apple Airtunes/RAOP
 module_raop_sink_la_SOURCES = modules/raop/module-raop-sink.c
 module_raop_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
@@ -1915,10 +2025,6 @@ update-sbc:
                wget -O /dev/null http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=$$i ; \
                wget -O $(top_srcdir)/src/modules/bluetooth/$$i http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=$$i ; \
        done
-       for i in $(BLUETOOTH_IPC_FILES); do \
-               wget -O /dev/null http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=audio/$$i ; \
-               wget -O $(top_srcdir)/src/modules/bluetooth/$$i http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=audio/$$i ; \
-       done
 
 update-reserve:
        for i in reserve.c reserve.h reserve-monitor.c reserve-monitor.h ; do \
@@ -1941,4 +2047,23 @@ update-map-file:
 
 update-all: update-ffmpeg update-sbc update-map-file
 
-.PHONY: utils/padsp massif update-all update-ffmpeg update-sbc 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-pkglibLTLIBRARIES
+
+installmodlibexecLTLIBRARIES = install-modlibexecLTLIBRARIES
+$(installmodlibexecLTLIBRARIES): install-pkglibLTLIBRARIES
+
+installpadsplibLTLIBRARIES = install-padsplibLTLIBRARIES
+$(installpadsplibLTLIBRARIES): install-libLTLIBRARIES
+
+.PHONY: massif update-all update-ffmpeg update-sbc update-map-file