[pulseaudio-discuss] [PATCH 4/5] build-sys: Add more build-time conditionals to config files
Maarten Bosmans
mkbosmans at gmail.com
Wed Jun 29 06:16:11 PDT 2011
---
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
More information about the pulseaudio-discuss
mailing list