[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