pulsecoreincludedir=$(includedir)/pulsecore
pulseconfdir=$(sysconfdir)/pulse
pulselibexecdir=$(libexecdir)/pulse
+if HAVE_X11
xdgautostartdir=$(sysconfdir)/xdg/autostart
+endif
+if HAVE_ALSA
alsaprofilesetsdir=$(datadir)/pulseaudio/alsa-mixer/profile-sets
alsapathsdir=$(datadir)/pulseaudio/alsa-mixer/paths
+endif
+if HAVE_DBUS
dbuspolicydir=$(sysconfdir)/dbus-1/system.d
+endif
###################################
# Defines #
###################################
PA_BINARY=$(bindir)/pulseaudio$(EXEEXT)
-if OS_IS_WIN32
-PA_DEFAULT_CONFIG_DIR=%PULSE_ROOT%
-else
PA_DEFAULT_CONFIG_DIR=$(pulseconfdir)
-endif
###################################
# Compiler/linker flags #
WINSOCK_LIBS=-lwsock32 -lws2_32 -lwininet
endif
+if OS_IS_DARWIN
+AM_LDFLAGS+=-headerpad_max_install_names
+endif
+
FOREIGN_CFLAGS = -w
MODULE_LDFLAGS = $(AM_LDFLAGS) -module -disable-static -avoid-version $(LDFLAGS_NOUNDEFINED)
MODULE_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
xdgautostart_in_files = \
daemon/pulseaudio.desktop.in \
daemon/pulseaudio-kde.desktop.in
-endif
xdgautostart_DATA = $(xdgautostart_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
+endif
###################################
# Test programs #
###################################
-# missing: mcalign-test flist-test pacat-simple parec-simple sync-playback rtstutter stripnul interpol-test thread-test
+# missing: mcalign-test flist-test pacat-simple parec-simple sync-playback rtstutter stripnul interpol-test thread-test connect-stress
TESTS = \
mainloop-test \
rtstutter \
stripnul \
lock-autospawn-test \
- prioq-test
+ prioq-test \
+ connect-stress
if !OS_IS_WIN32
TESTS += \
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_CFLAGS = $(AM_CFLAGS)
+connect_stress_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
+
+
###################################
# Common library #
###################################
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 \
pulsecore/flist.c pulsecore/flist.h \
pulsecore/hashmap.c pulsecore/hashmap.h \
pulsecore/idxset.c pulsecore/idxset.h \
- pulsecore/inet_ntop.c pulsecore/inet_ntop.h \
- pulsecore/inet_pton.c pulsecore/inet_pton.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 \
pulse/error.h \
pulse/ext-device-manager.h \
pulse/ext-stream-restore.h \
+ pulse/format.h \
pulse/gccmacro.h \
pulse/introspect.h \
pulse/mainloop-api.h \
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-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-cork-music-on-phone.la \
module-loopback.la \
module-virtual-sink.la \
- module-virtual-source.la
+ module-virtual-source.la \
+ module-switch-on-connect.la \
+ module-filter-apply.la \
+ module-filter-heuristics.la
# See comment at librtp.la above
if !OS_IS_WIN32
module-native-protocol-fd-symdef.h \
module-sine-symdef.h \
module-combine-symdef.h \
+ module-combine-sink-symdef.h \
module-remap-sink-symdef.h \
module-ladspa-sink-symdef.h \
module-equalizer-sink-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-dbus-protocol-symdef.h \
module-loopback-symdef.h \
module-virtual-sink-symdef.h \
- module-virtual-source-symdef.h
+ module-virtual-source-symdef.h \
+ module-switch-on-connect-symdef.h \
+ module-filter-apply-symdef.h \
+ module-filter-heuristics-symdef.h
EXTRA_DIST += $(SYMDEF_FILES)
BUILT_SOURCES += $(SYMDEF_FILES) builddirs
module_null_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
module_null_sink_la_LIBADD = $(MODULE_LIBADD)
+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_sine_source_la_SOURCES = modules/module-sine-source.c
module_sine_source_la_LDFLAGS = $(MODULE_LDFLAGS)
module_sine_source_la_LIBADD = $(MODULE_LIBADD)
module_combine_la_LDFLAGS = $(MODULE_LDFLAGS)
module_combine_la_LIBADD = $(MODULE_LIBADD)
+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_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_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_heuristics_la_SOURCES = modules/module-filter-heuristics.c
+module_filter_heuristics_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_filter_heuristics_la_LIBADD = $(MODULE_LIBADD)
+
module_remap_sink_la_SOURCES = modules/module-remap-sink.c
module_remap_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
module_remap_sink_la_LIBADD = $(MODULE_LIBADD)
# COREAUDIO
-module_coreaudio_detect_la_SOURCES = modules/coreaudio/module-coreaudio-detect.c
+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_device_la_SOURCES = modules/coreaudio/module-coreaudio-device.c
+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
# Bonjour
-module_bonjour_publish_la_SOURCES = modules/module-bonjour-publish.c
+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)
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/ipc.c modules/bluetooth/ipc.h
+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)
$(AM_V_GEN) sed -e 's,@PA_DLSEARCHPATH\@,$(modlibexecdir),g' \
-e 's,@PA_DEFAULT_CONFIG_FILE\@,$(DEFAULT_CONFIG_DIR),g' < $< > $@
+if OS_IS_WIN32
+SYMLINK_PROGRAM=cd $(DESTDIR)$(bindir) && cp
+else
+SYMLINK_PROGRAM=ln -sf
+endif
install-exec-hook:
+if HAVE_BLUEZ
-chown root $(DESTDIR)$(pulselibexecdir)/proximity-helper
-chmod u+s $(DESTDIR)$(pulselibexecdir)/proximity-helper
- ln -sf pacat $(DESTDIR)$(bindir)/parec
- ln -sf pacat $(DESTDIR)$(bindir)/pamon
- ln -sf pacat $(DESTDIR)$(bindir)/paplay
- ln -sf pacat $(DESTDIR)$(bindir)/parecord
+endif
+ $(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
- rm -f $(DESTDIR)$(bindir)/pamon
- rm -f $(DESTDIR)$(bindir)/paplay
- rm -f $(DESTDIR)$(bindir)/parecord
+ 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
# We get things twice here, because sometimes gitweb will us just give a "Generating..." otherwise.
update-sbc:
for i in $(BLUETOOTH_SBC_FILES) ; do \
- wget -O /dev/null http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=sbc/$$i ; \
- wget -O modules/bluetooth/$$i http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=sbc/$$i ; \
+ 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 modules/bluetooth/$$i 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 \
- wget -O modules/$$i http://git.0pointer.de/\?p=reserve.git\;a=blob_plain\;f=$$i\;hb=master ; \
+ 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 pulsecore/$$i http://git.0pointer.de/\?p=rtkit.git\;a=blob_plain\;f=$$i\;hb=master ; \
+ 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