From: Takashi Iwai Date: Wed, 28 Mar 2007 11:48:04 +0000 (+0200) Subject: Add --with-ctl-plugins configure option X-Git-Tag: v1.0.14rc4~7 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=77b4d5f97aa5709bcd842d89bc0e8aaa40631d55;p=alsa-lib.git Add --with-ctl-plugins configure option Added --with-ctl-plugins configure option to specify the optinal plugins to build. --- diff --git a/configure.in b/configure.in index 9aba9c90..40e7674f 100644 --- a/configure.in +++ b/configure.in @@ -431,6 +431,42 @@ for t in $PCM_PLUGIN_LIST; do fi done +dnl Control Plugins + +AC_ARG_WITH(ctl-plugins, + [ --with-ctl-plugins= Build Control plugins ], + [ctl_plugins="$withval"], [ctl_plugins="all"]) + +CTL_PLUGIN_LIST="shm ext" + +build_ctl_plugin="no" +for t in $CTL_PLUGIN_LIST; do + eval build_ctl_$t="no" +done + +ctl_plugins=`echo $ctl_plugins | sed 's/,/ /g'` +for p in $ctl_plugins; do + for t in $CTL_PLUGIN_LIST; do + if test "$p" = "$t" -o "$p" = "all"; then + eval build_ctl_$t="yes" + build_ctl_plugin="yes" + fi + done +done + +AM_CONDITIONAL(BUILD_CTL_PLUGIN, test x$build_ctl_plugin = xyes) +AM_CONDITIONAL(BUILD_CTL_PLUGIN_SHM, test x$build_ctl_shm = xyes) +AM_CONDITIONAL(BUILD_CTL_PLUGIN_EXT, test x$build_ctl_ext = xyes) + +dnl Create ctl plugin symbol list for static library +rm -f "$srcdir"/src/control/ctl_symbols_list.c +touch "$srcdir"/src/control/ctl_symbols_list.c +for t in $CTL_PLUGIN_LIST; do + if eval test \$build_ctl_$t = yes; then + echo \&_snd_module_control_$t, >> "$srcdir"/src/control/ctl_symbols_list.c + fi +done + dnl Make a symlink for inclusion of alsa/xxx.h if test ! -L "$srcdir"/include/alsa ; then echo "Making a symlink include/alsa" diff --git a/src/control/Makefile.am b/src/control/Makefile.am index 771385a7..90c000aa 100644 --- a/src/control/Makefile.am +++ b/src/control/Makefile.am @@ -1,8 +1,13 @@ EXTRA_LTLIBRARIES = libcontrol.la libcontrol_la_SOURCES = cards.c namehint.c hcontrol.c \ - control.c control_hw.c control_shm.c \ - control_ext.c setup.c control_symbols.c + control.c control_hw.c setup.c control_symbols.c +if BUILD_CTL_PLUGIN_SHM +libcontrol_la_SOURCES += control_shm.c +endif +if BUILD_CTL_PLUGIN_EXT +libcontrol_la_SOURCES += control_ext.c +endif noinst_HEADERS = control_local.h diff --git a/src/control/control_symbols.c b/src/control/control_symbols.c index 6924921f..3c0f62c1 100644 --- a/src/control/control_symbols.c +++ b/src/control/control_symbols.c @@ -22,10 +22,11 @@ extern const char *_snd_module_control_hw; extern const char *_snd_module_control_shm; +extern const char *_snd_module_control_ext; static const char **snd_control_open_objects[] = { &_snd_module_control_hw, - &_snd_module_control_shm +#include "ctl_symbols_list.c" }; void *snd_control_open_symbols(void)