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 \
mainloop-test \
strlist-test \
close-test \
- vector-test \
memblockq-test \
channelmap-test \
thread-mainloop-test \
volume-test \
mix-test \
proplist-test \
- lock-autospawn-test \
- prioq-test
+ lock-autospawn-test
TESTS_norun = \
mcalign-test \
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_LDADD = $(AM_LDADD) libpulse.la
utf8_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
format_test_SOURCES = tests/format-test.c
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)
volume_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
volume_test_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)
-
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
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)
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) $(GTK20_LIBS) 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)
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)
# Common library #
###################################
-lib_LTLIBRARIES = \
+pkglib_LTLIBRARIES = \
libpulsecommon-@PA_MAJORMINOR@.la
libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
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 \
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 \
pulse/volume.h \
pulse/xmalloc.h
-lib_LTLIBRARIES += \
+lib_LTLIBRARIES = \
libpulse.la \
libpulse-simple.la
###################################
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
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 \
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
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 \
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-loopback.la \
module-virtual-sink.la \
module-virtual-source.la \
+ module-virtual-surround-sink.la \
module-switch-on-connect.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 += \
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 += \
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-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 \
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-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-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
# 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)
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
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
# 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/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) $(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 = \
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
module_echo_cancel_la_SOURCES += modules/echo-cancel/webrtc.cc
module_echo_cancel_la_CFLAGS += -DHAVE_WEBRTC=1
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 install 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: padsp massif update-all update-ffmpeg update-sbc update-map-file