diff options
-rw-r--r-- | configure.in | 44 | ||||
-rw-r--r-- | modules/mixer/simple/Makefile.am | 2 | ||||
-rw-r--r-- | modules/mixer/simple/sbasedl.c | 2 | ||||
-rw-r--r-- | src/alisp/alisp.c | 2 | ||||
-rw-r--r-- | src/conf.c | 6 | ||||
-rw-r--r-- | src/conf/Makefile.am | 2 | ||||
-rw-r--r-- | src/conf/cards/Makefile.am | 4 | ||||
-rw-r--r-- | src/conf/pcm/Makefile.am | 2 | ||||
-rw-r--r-- | src/confmisc.c | 2 | ||||
-rw-r--r-- | src/control/control.c | 4 | ||||
-rw-r--r-- | src/mixer/simple_abst.c | 4 | ||||
-rw-r--r-- | src/pcm/Makefile.am | 2 | ||||
-rw-r--r-- | src/pcm/pcm.c | 4 | ||||
-rw-r--r-- | src/pcm/pcm_rate.c | 2 |
14 files changed, 51 insertions, 31 deletions
diff --git a/configure.in b/configure.in index 268560c4..8df37dad 100644 --- a/configure.in +++ b/configure.in @@ -61,21 +61,41 @@ AC_SUBST(LIBTOOL_VERSION_INFO) test "x$prefix" = xNONE && prefix=$ac_default_prefix -eval dir="$datadir" -case "$dir" in -/*) ;; -*) dir="$prefix/share" -esac -AC_DEFINE_UNQUOTED(DATADIR, "$dir", [directory containing ALSA configuration database]) +dnl ALSA configuration directory +AC_ARG_WITH(configdir, + AS_HELP_STRING([--with-configdir=dir], + [path where ALSA config files are stored]), + confdir="$withval", confdir="") +if test -z "$confdir"; then + eval dir="$datadir" + case "$dir" in + /*) ;; + *) dir="$prefix/share" + esac + confdir="$dir/alsa" +fi +ALSA_CONFIG_DIR="$confdir" +AC_DEFINE_UNQUOTED(ALSA_CONFIG_DIR, "$confdir", [directory containing ALSA configuration database]) +AC_SUBST(ALSA_CONFIG_DIR) +dnl ALSA plugin directory test "x$exec_prefix" = xNONE && exec_prefix=$prefix -eval dir="$libdir" -case "$dir" in -/*) ;; -*) dir="$dir" -esac -AC_DEFINE_UNQUOTED(PKGLIBDIR, "$dir/$PACKAGE", [directory containing ALSA add-on modules]) +AC_ARG_WITH(plugindir, + AS_HELP_STRING([--with-plugindir=dir], + [path where ALSA plugin files are stored]), + plugindir="$withval", plugindir="") +if test -z "$plugindir"; then + eval dir="$libdir" + case "$dir" in + /*) ;; + *) dir="$dir" + esac + plugindir="$dir/$PACKAGE" +fi +AC_DEFINE_UNQUOTED(ALSA_PLUGIN_DIR, "plugindir", [directory containing ALSA add-on modules]) +ALSA_PLUGIN_DIR="$plugindir" +AC_SUBST(ALSA_PLUGIN_DIR) dnl Check for versioned symbols AC_MSG_CHECKING(for versioned symbols) diff --git a/modules/mixer/simple/Makefile.am b/modules/mixer/simple/Makefile.am index 82d3a887..95b6a51b 100644 --- a/modules/mixer/simple/Makefile.am +++ b/modules/mixer/simple/Makefile.am @@ -1,4 +1,4 @@ -pkglibdir = $(libdir)/@PACKAGE@/smixer +pkglibdir = @ALSA_PLUGIN_DIR@/smixer AM_CFLAGS = -g -O2 -W -Wall diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c index 80001838..36d86af6 100644 --- a/modules/mixer/simple/sbasedl.c +++ b/modules/mixer/simple/sbasedl.c @@ -33,7 +33,7 @@ #include "mixer_abst.h" #include "sbase.h" -#define SO_PATH PKGLIBDIR "/smixer" +#define SO_PATH ALSA_PLUGIN_DIR "/smixer" int mixer_simple_basic_dlopen(snd_mixer_class_t *class, bclass_base_ops_t **ops) diff --git a/src/alisp/alisp.c b/src/alisp/alisp.c index 73f49bf8..50136ab3 100644 --- a/src/alisp/alisp.c +++ b/src/alisp/alisp.c @@ -2395,7 +2395,7 @@ struct alisp_object * F_path(struct alisp_instance *instance, struct alisp_objec } if (!strcmp(p1->value.s, "data")) { delete_tree(instance, p1); - return new_string(instance, DATADIR); + return new_string(instance, ALSA_CONFIG_DIR); } delete_tree(instance, p1); return &alsa_lisp_nil; @@ -580,12 +580,12 @@ static int get_char_skip_comments(input_t *input) if (err < 0) return err; if (!strncmp(str, "confdir:", 8)) { - char *tmp = malloc(strlen(DATADIR "/alsa") + 1 + strlen(str + 8) + 1); + char *tmp = malloc(strlen(ALSA_CONFIG_DIR) + 1 + strlen(str + 8) + 1); if (tmp == NULL) { free(str); return -ENOMEM; } - sprintf(tmp, DATADIR "/alsa/%s", str + 8); + sprintf(tmp, ALSA_CONFIG_DIR "/%s", str + 8); free(str); str = tmp; } @@ -2606,7 +2606,7 @@ int snd_config_search_alias_hooks(snd_config_t *config, #define ALSA_CONFIG_PATH_VAR "ALSA_CONFIG_PATH" /** The name of the default files used by #snd_config_update. */ -#define ALSA_CONFIG_PATH_DEFAULT DATADIR "/alsa/alsa.conf" +#define ALSA_CONFIG_PATH_DEFAULT ALSA_CONFIG_DIR "/alsa.conf" /** * \ingroup Config diff --git a/src/conf/Makefile.am b/src/conf/Makefile.am index 33607d3c..8698d291 100644 --- a/src/conf/Makefile.am +++ b/src/conf/Makefile.am @@ -10,5 +10,5 @@ endif EXTRA_DIST = $(cfg_files) -alsadir = $(datadir)/alsa +alsadir = @ALSA_CONFIG_DIR@ alsa_DATA = $(cfg_files) diff --git a/src/conf/cards/Makefile.am b/src/conf/cards/Makefile.am index e3ec7ebc..8677bca6 100644 --- a/src/conf/cards/Makefile.am +++ b/src/conf/cards/Makefile.am @@ -1,4 +1,4 @@ -alsadir = $(datadir)/alsa/cards +alsadir = @ALSA_CONFIG_DIR@/cards cfg_files = aliases.conf \ AACI.conf \ ATIIXP.conf \ @@ -56,7 +56,7 @@ endif alsa_DATA = $(cfg_files) if BUILD_ALISP -SI7018dir = $(datadir)/alsa/cards/SI7018 +SI7018dir = @ALSA_CONFIG_DIR@/cards/SI7018 SI7018_files = \ SI7018/sndoc-mixer.alisp \ SI7018/sndop-mixer.alisp diff --git a/src/conf/pcm/Makefile.am b/src/conf/pcm/Makefile.am index 0b2c7e6e..7d9c0772 100644 --- a/src/conf/pcm/Makefile.am +++ b/src/conf/pcm/Makefile.am @@ -7,5 +7,5 @@ cfg_files = default.conf front.conf rear.conf center_lfe.conf side.conf\ EXTRA_DIST = $(cfg_files) -alsadir = $(datadir)/alsa/pcm +alsadir = @ALSA_CONFIG_DIR@/pcm alsa_DATA = $(cfg_files) diff --git a/src/confmisc.c b/src/confmisc.c index 86b8de9c..b0b03019 100644 --- a/src/confmisc.c +++ b/src/confmisc.c @@ -588,7 +588,7 @@ int snd_func_datadir(snd_config_t **dst, snd_config_t *root ATTRIBUTE_UNUSED, err = snd_config_get_id(src, &id); if (err < 0) return err; - return snd_config_imake_string(dst, id, DATADIR "/alsa"); + return snd_config_imake_string(dst, id, ALSA_CONFIG_DIR); } #ifndef DOC_HIDDEN SND_DLSYM_BUILD_VERSION(snd_func_datadir, SND_CONFIG_DLSYM_VERSION_EVALUATE); diff --git a/src/control/control.c b/src/control/control.c index 785bb94d..085dc634 100644 --- a/src/control/control.c +++ b/src/control/control.c @@ -849,13 +849,13 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name, build_in++; } if (*build_in == NULL) { - buf1 = malloc(strlen(str) + sizeof(PKGLIBDIR) + 32); + buf1 = malloc(strlen(str) + sizeof(ALSA_PLUGIN_DIR) + 32); if (buf1 == NULL) { err = -ENOMEM; goto _err; } lib = buf1; - sprintf(buf1, "%s/libasound_module_ctl_%s.so", PKGLIBDIR, str); + sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str); } } #ifndef PIC diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c index 26f620b2..5de2018b 100644 --- a/src/mixer/simple_abst.c +++ b/src/mixer/simple_abst.c @@ -41,7 +41,7 @@ #ifndef DOC_HIDDEN -#define SO_PATH PKGLIBDIR "/smixer" +#define SO_PATH ALSA_PLUGIN_DIR "/smixer" typedef struct _class_priv { char *device; @@ -239,7 +239,7 @@ int snd_mixer_simple_basic_register(snd_mixer_t *mixer, goto __error; file = getenv("ALSA_MIXER_SIMPLE"); if (!file) - file = DATADIR "/alsa/smixer.conf"; + file = ALSA_CONFIG_DIR "/smixer.conf"; err = snd_config_top(&top); if (err >= 0) { err = snd_input_stdio_open(&input, file, "r"); diff --git a/src/pcm/Makefile.am b/src/pcm/Makefile.am index 95e7ad04..204b012f 100644 --- a/src/pcm/Makefile.am +++ b/src/pcm/Makefile.am @@ -11,7 +11,7 @@ if BUILD_PCM_PLUGIN libpcm_la_SOURCES += pcm_generic.c pcm_plugin.c endif if BUILD_PCM_PLUGIN_COPY -libpcm_la_SOURCES += pcm_copy.c +libpcm_la_SOURCES += pcm_copy.c pcm_demux.c endif if BUILD_PCM_PLUGIN_LINEAR libpcm_la_SOURCES += pcm_linear.c diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c index fa29ceff..4c72d1c2 100644 --- a/src/pcm/pcm.c +++ b/src/pcm/pcm.c @@ -2080,13 +2080,13 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name, build_in++; } if (*build_in == NULL) { - buf1 = malloc(strlen(str) + sizeof(PKGLIBDIR) + 32); + buf1 = malloc(strlen(str) + sizeof(ALSA_PLUGIN_DIR) + 32); if (buf1 == NULL) { err = -ENOMEM; goto _err; } lib = buf1; - sprintf(buf1, "%s/libasound_module_pcm_%s.so", PKGLIBDIR, str); + sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str); } } #ifndef PIC diff --git a/src/pcm/pcm_rate.c b/src/pcm/pcm_rate.c index 8e8fb06a..1eefad40 100644 --- a/src/pcm/pcm_rate.c +++ b/src/pcm/pcm_rate.c @@ -1284,7 +1284,7 @@ static int rate_open_func(snd_pcm_rate_t *rate, const char *type) char lib_name[128], *lib = NULL; if (!is_builtin_plugin(type)) { snprintf(lib_name, sizeof(lib_name), - "%s/libasound_module_rate_%s.so", PKGLIBDIR, type); + "%s/libasound_module_rate_%s.so", ALSA_PLUGIN_DIR, type); lib = lib_name; } h = snd_dlopen(lib, RTLD_NOW); |