[pulseaudio-discuss] [PATCH 3/5] build-sys: Process configuration files with m4

Maarten Bosmans mkbosmans at gmail.com
Wed Jun 29 06:16:10 PDT 2011


This allows for build-time conditionals to be processed,
eliminating the need for a separate default.pa.win32.
---
 configure.ac                |   11 +++++++----
 src/Makefile.am             |    1 -
 src/daemon/default.pa.in    |   13 ++++++++++++-
 src/daemon/default.pa.win32 |   43 -------------------------------------------
 4 files changed, 19 insertions(+), 49 deletions(-)
 delete mode 100644 src/daemon/default.pa.win32

diff --git a/configure.ac b/configure.ac
index 06cce8f..8b4dbef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -131,6 +131,7 @@ esac
 
 AM_CONDITIONAL(OS_IS_DARWIN, test "x$os_is_darwin" = "x1")
 AM_CONDITIONAL(OS_IS_WIN32, test "x$os_is_win32" = "x1")
+AC_SUBST([OS_IS_WIN32], [$os_is_win32])
 
 # Platform specific hacks
 case "$host_os" in
@@ -1234,10 +1235,12 @@ AC_CONFIG_FILES([src/esdcompat:src/daemon/esdcompat.in], [chmod +x src/esdcompat
 AC_CONFIG_FILES([src/start-pulseaudio-x11:src/daemon/start-pulseaudio-x11.in], [chmod +x src/start-pulseaudio-x11])
 AC_CONFIG_FILES([src/start-pulseaudio-kde:src/daemon/start-pulseaudio-kde.in], [chmod +x src/start-pulseaudio-kde])
 AC_CONFIG_FILES([src/client.conf:src/pulse/client.conf.in])
-AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in])
-AS_IF([test "x$os_is_win32" = "x1"], [config_source_ext=win32], [config_source_ext=in])
-AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.$config_source_ext])
-AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.$config_source_ext])
+AC_CONFIG_FILES([src/daemon.conf:src/daemon/daemon.conf.in],
+    [m4 src/daemon.conf > src/daemon.conf.gen && mv src/daemon.conf.gen src/daemon.conf])
+AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
+    [m4 src/default.pa > src/default.pa.gen && mv src/default.pa.gen src/default.pa])
+AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
+    [m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
 
 AC_OUTPUT
 
diff --git a/src/Makefile.am b/src/Makefile.am
index c2b8224..0a249f0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -81,7 +81,6 @@ EXTRA_DIST = \
 		daemon/daemon.conf.in \
 		daemon/default.pa.in \
 		daemon/system.pa.in \
-		daemon/default.pa.win32 \
 		depmod.py \
 		daemon/esdcompat.in \
 		daemon/start-pulseaudio-x11.in \
diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in
index 32ba582..3442b21 100755
--- a/src/daemon/default.pa.in
+++ b/src/daemon/default.pa.in
@@ -18,14 +18,20 @@
 
 # This startup script is used only if PulseAudio is started per-user
 # (i.e. not in system mode)
+changequote(`[', `]')dnl Set up m4 quoting
 
 .nofail
 
 ### Load something into the sample cache
+ifelse(@OS_IS_WIN32@, 1, [dnl
+load-sample x11-bell %WINDIR%\Media\ding.wav
+load-sample-dir-lazy %WINDIR%\Media\*.wav
+], [dnl
 #load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
 #load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
 #load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
 #load-sample-lazy pulse-access /usr/share/sounds/generic.wav
+])dnl
 
 .fail
 
@@ -45,6 +51,9 @@ load-module module-augment-properties
 #load-module module-alsa-source device=hw:1,0
 #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
+ifelse(@HAVE_WAVEOUT@, 1, [dnl
+load-module module-waveout sink_name=output source_name=input
+])dnl
 #load-module module-null-sink
 #load-module module-pipe-sink
 
@@ -77,7 +86,8 @@ load-module module-native-protocol-unix
 #load-module module-native-protocol-tcp
 #load-module module-zeroconf-publish
 
-### Load the RTP reciever module (also configured via paprefs, see above)
+ifelse(@OS_IS_WIN32@, 0, [dnl
+### Load the RTP receiver module (also configured via paprefs, see above)
 #load-module module-rtp-recv
 
 ### Load the RTP sender module (also configured via paprefs, see above)
@@ -136,6 +146,7 @@ load-module module-cork-music-on-phone
 #load-module module-x11-publish
 #.fail
 #.endif
+])dnl
 
 ### Make some devices default
 #set-default-sink output
diff --git a/src/daemon/default.pa.win32 b/src/daemon/default.pa.win32
deleted file mode 100644
index d5a1e18..0000000
--- a/src/daemon/default.pa.win32
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# This file is part of PulseAudio.
-#
-# PulseAudio is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# PulseAudio is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with PulseAudio; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-
-
-# Load audio drivers statically
-
-load-module module-waveout sink_name=output source_name=input
-load-module module-null-sink
-
-# Load audio drivers automatically on access
-
-#add-autoload-sink output module-waveout sink_name=output source_name=input
-#add-autoload-source input module-waveout sink_name=output source_name=input
-
-# Load several protocols
-#load-module module-esound-protocol-tcp
-#load-module module-native-protocol-tcp
-#load-module module-simple-protocol-tcp
-#load-module module-cli-protocol-tcp
-
-# Make some devices default
-set-default-sink output
-set-default-source input
-
-.nofail
-
-# Load something to the sample cache
-load-sample x11-bell %WINDIR%\Media\ding.wav
-load-sample-dir-lazy %WINDIR%\Media\*.wav
-- 
1.7.4.1



More information about the pulseaudio-discuss mailing list