--- configure.ac | 16 ++++++++++++++-- src/daemon/daemon.conf.in | 5 +++++ src/daemon/default.pa.in | 35 +++++++++++++++++++++++++++++------ 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/configure.ac b/configure.ac index 8b4dbef..2a4e656 100644 --- a/configure.ac +++ b/configure.ac @@ -344,7 +344,7 @@ AC_HEADER_STDC # POSIX AC_CHECK_HEADERS_ONCE([arpa/inet.h glob.h grp.h netdb.h netinet/in.h \ netinet/in_systm.h netinet/tcp.h poll.h pwd.h sched.h \ - sys/mman.h sys/resource.h sys/select.h sys/socket.h sys/wait.h \ + sys/mman.h sys/select.h sys/socket.h sys/wait.h \ sys/uio.h syslog.h sys/dl.h dlfcn.h linux/sockios.h]) AC_CHECK_HEADERS([netinet/ip.h], [], [], [#include <sys/types.h> @@ -355,8 +355,11 @@ AC_CHECK_HEADERS([netinet/ip.h], [], [], # include <netinet/in_systm.h> #endif ]) +AC_CHECK_HEADERS([sys/resource.h], [HAVE_SYS_RESOURCE_H=1], [HAVE_SYS_RESOURCE_H=0]) +AC_SUBST(HAVE_SYS_RESOURCE_H) AC_CHECK_HEADERS([sys/un.h], [HAVE_AF_UNIX=1], [HAVE_AF_UNIX=0]) AM_CONDITIONAL(HAVE_AF_UNIX, test "x$HAVE_AF_UNIX" = "x1") +AC_SUBST(HAVE_AF_UNIX) # Linux AC_CHECK_HEADERS([linux/input.h], [HAVE_EVDEV=1], [HAVE_EVDEV=0]) @@ -487,7 +490,7 @@ AC_CHECK_FUNCS_ONCE([chmod chown fstat fchown fchmod clock_gettime getaddrinfo g pipe posix_fadvise posix_madvise posix_memalign setpgid setsid shm_open \ sigaction sleep symlink sysconf uname pthread_setaffinity_np pthread_getname_np pthread_setname_np]) AC_CHECK_FUNCS([mkfifo], [HAVE_MKFIFO=1], [HAVE_MKFIFO=0]) - +AC_SUBST(HAVE_MKFIFO) AM_CONDITIONAL(HAVE_MKFIFO, test "x$HAVE_MKFIFO" = "x1") # X/OPEN @@ -538,6 +541,7 @@ AS_IF([test "x$enable_x11" = "xyes" && test "x$HAVE_X11" = "x0"], AC_SUBST(X11_CFLAGS) AC_SUBST(X11_LIBS) +AC_SUBST(HAVE_X11) AM_CONDITIONAL([HAVE_X11], [test "x$HAVE_X11" = x1]) AS_IF([test "x$HAVE_X11" = "x1"], AC_DEFINE([HAVE_X11], 1, [Have X11?])) @@ -689,6 +693,7 @@ AS_IF([test "x$enable_oss_wrapper" != "xno"], [AS_IF([test "x$HAVE_OSS" = "x1"], HAVE_OSS_WRAPPER=1, HAVE_OSS_WRAPPER=0)], HAVE_OSS_WRAPPER=0) +AC_SUBST(HAVE_OSS_OUTPUT) AM_CONDITIONAL([HAVE_OSS_OUTPUT], [test "x$HAVE_OSS_OUTPUT" = "x1"]) AM_CONDITIONAL([HAVE_OSS_WRAPPER], [test "x$HAVE_OSS_WRAPPER" = "x1"]) AS_IF([test "x$HAVE_OSS_OUTPUT" = "x1"], AC_DEFINE([HAVE_OSS_OUTPUT], 1, [Have OSS output?])) @@ -722,6 +727,7 @@ AS_IF([test "x$enable_alsa" = "xyes" && test "x$HAVE_ALSA" = "x0"], AC_SUBST(ASOUNDLIB_CFLAGS) AC_SUBST(ASOUNDLIB_LIBS) +AC_SUBST(HAVE_ALSA) AM_CONDITIONAL([HAVE_ALSA], [test "x$HAVE_ALSA" = x1]) AS_IF([test "x$HAVE_ALSA" = "x1"], AC_DEFINE([HAVE_ALSA], 1, [Have ALSA?])) @@ -752,6 +758,7 @@ AS_IF([test "x$enable_waveout" != "xno"], AS_IF([test "x$enable_waveout" = "xyes" && test "x$HAVE_WAVEOUT" = "x0"], [AC_MSG_ERROR([*** WaveOut audio support not found])]) +AC_SUBST(HAVE_WAVEOUT) AM_CONDITIONAL([HAVE_WAVEOUT], [test "x$HAVE_WAVEOUT" = x1]) AS_IF([test "x$HAVE_WAVEOUT" = "x1"], AC_DEFINE([HAVE_WAVEOUT], 1, [Have WaveOut audio?])) @@ -819,6 +826,7 @@ AS_IF([test "x$enable_avahi" = "xyes" && test "x$HAVE_AVAHI" = "x0"], AC_SUBST(AVAHI_CFLAGS) AC_SUBST(AVAHI_LIBS) +AC_SUBST(HAVE_AVAHI) AM_CONDITIONAL([HAVE_AVAHI], [test "x$HAVE_AVAHI" = x1]) #### JACK (optional) #### @@ -908,6 +916,7 @@ AS_IF([test "x$enable_hal" = "xyes" && test "x$HAVE_HAL" = "x0"], AC_SUBST(HAL_CFLAGS) AC_SUBST(HAL_LIBS) +AC_SUBST(HAVE_HAL) AM_CONDITIONAL([HAVE_HAL], [test "x$HAVE_HAL" = x1]) AS_IF([test "x$HAVE_HAL" = "x1"], AC_DEFINE([HAVE_HAL], 1, [Have HAL.])) @@ -925,6 +934,7 @@ AS_IF([test "x$enable_udev" = "xyes" && test "x$HAVE_UDEV" = "x0"], AC_SUBST(UDEV_CFLAGS) AC_SUBST(UDEV_LIBS) +AC_SUBST(HAVE_UDEV) AM_CONDITIONAL([HAVE_UDEV], [test "x$HAVE_UDEV" = x1]) AS_IF([test "x$HAVE_UDEV" = "x1"], AC_DEFINE([HAVE_UDEV], 1, [Have UDEV.])) @@ -942,6 +952,7 @@ AS_IF([test "x$enable_bluez" = "xyes" && test "x$HAVE_BLUEZ" = "x0"], AC_SUBST(BLUEZ_CFLAGS) AC_SUBST(BLUEZ_LIBS) +AC_SUBST(HAVE_BLUEZ) AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1]) #### D-Bus support (optional) #### @@ -967,6 +978,7 @@ AS_IF([test "x$HAVE_DBUS" = "x1"], AC_SUBST(DBUS_CFLAGS) AC_SUBST(DBUS_LIBS) +AC_SUBST(HAVE_DBUS) AM_CONDITIONAL([HAVE_DBUS], [test "x$HAVE_DBUS" = x1]) AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.])) diff --git a/src/daemon/daemon.conf.in b/src/daemon/daemon.conf.in index 9eee664..6437f8f 100644 --- a/src/daemon/daemon.conf.in +++ b/src/daemon/daemon.conf.in @@ -18,6 +18,7 @@ ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for ## more information. Default values are commented out. Use either ; or # for ## commenting. +changequote(`[', `]')dnl Set up m4 quoting ; daemonize = no ; fail = yes @@ -25,7 +26,9 @@ ; allow-exit = yes ; use-pid-file = yes ; system-instance = no +ifelse(@HAVE_DBUS@, 1, [dnl ; local-server-type = user +])dnl ; enable-shm = yes ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB ; lock-memory = no @@ -57,6 +60,7 @@ ; flat-volumes = yes +ifelse(@HAVE_SYS_RESOURCE_H@, 1, [dnl ; rlimit-fsize = -1 ; rlimit-data = -1 ; rlimit-stack = -1 @@ -72,6 +76,7 @@ ; rlimit-nice = 31 ; rlimit-rtprio = 9 ; rlimit-rttime = 1000000 +])dnl ; default-sample-format = s16le ; default-sample-rate = 44100 diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in index 3442b21..605f42c 100755 --- a/src/daemon/default.pa.in +++ b/src/daemon/default.pa.in @@ -44,47 +44,68 @@ load-module module-card-restore ### stored in /usr/share/application load-module module-augment-properties -### Load audio drivers statically (it's probably better to not load -### these drivers manually, but instead use module-udev-detect -- -### see below -- for doing this automatically) +### Load audio drivers statically +### (it's probably better to not load these drivers manually, but instead +### use module-udev-detect -- see below -- for doing this automatically) +ifelse(@HAVE_ALSA@, 1, [dnl #load-module module-alsa-sink #load-module module-alsa-source device=hw:1,0 +])dnl +ifelse(@HAVE_OSS_OUTPUT@, 1, [dnl #load-module module-oss device="/dev/dsp" sink_name=output source_name=input #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input +])dnl ifelse(@HAVE_WAVEOUT@, 1, [dnl load-module module-waveout sink_name=output source_name=input ])dnl #load-module module-null-sink +ifelse(@HAVE_MKFIFO@, 1, [dnl #load-module module-pipe-sink +])dnl ### Automatically load driver modules depending on the hardware available +ifelse(1, @HAVE_UDEV@, [dnl .ifexists module-udev-detect at PA_SOEXT@ load-module module-udev-detect .else -### Alternatively use the static hardware detection module (for systems that -### lack udev support) +], @HAVE_HAL@, [dnl +.ifexists module-hal-detect at PA_SOEXT@ +load-module module-hal-detect +.else +], [dnl +.ifexists module-detect at PA_SOEXT@ +])dnl +### Use the static hardware detection module (for systems that lack udev support) load-module module-detect .endif +ifelse(@HAVE_BLUEZ@, 1, [dnl ### Automatically load driver modules for Bluetooth hardware .ifexists module-bluetooth-discover at PA_SOEXT@ load-module module-bluetooth-discover .endif +])dnl +ifelse(@HAVE_AF_UNIX@, 1, [dnl ### Load several protocols .ifexists module-esound-protocol-unix at PA_SOEXT@ load-module module-esound-protocol-unix .endif +load-module module-native-protocol-unix +])dnl +ifelse(@HAVE_DBUS@, 1, [dnl .ifexists module-dbus-protocol at PA_SOEXT@ load-module module-dbus-protocol .endif -load-module module-native-protocol-unix +])dnl ### Network access (may be configured with paprefs, so leave this commented ### here if you plan to use paprefs) #load-module module-esound-protocol-tcp #load-module module-native-protocol-tcp +ifelse(@HAVE_AVAHI@, 1, [dnl #load-module module-zeroconf-publish +])dnl ifelse(@OS_IS_WIN32@, 0, [dnl ### Load the RTP receiver module (also configured via paprefs, see above) @@ -130,7 +151,9 @@ load-module module-position-event-sounds ### Cork music streams when a phone stream is active load-module module-cork-music-on-phone +])dnl +ifelse(@HAVE_X11@, 1, [dnl # X11 modules should not be started from default.pa so that one daemon # can be shared by multiple sessions. -- 1.7.4.1