alsa-lib: provide dummy definitions of RTLD_* if necessary The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header file, so we need to guard that include. Additionally, provide dummy definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally provided by dlfcn.h. Signed-off-by: Sonic Zhang [Thomas: don't add separate dlmisc.h, move dummy defs to global.h] Signed-off-by: Thomas De Schampheleire diff --git a/include/global.h b/include/global.h --- a/include/global.h +++ b/include/global.h @@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_ /** \brief Returns the version of a dynamic symbol as a string. */ #define SND_DLSYM_VERSION(version) __STRING(version) +/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined + * on all arches (e.g. blackfin), so provide a dummy definition here. */ +#ifndef RTLD_NOW +#define RTLD_NOW 0 +#endif + +#ifndef RTLD_GLOBAL +#define RTLD_GLOBAL 0 +#endif + void *snd_dlopen(const char *file, int mode); void *snd_dlsym(void *handle, const char *name, const char *version); int snd_dlclose(void *handle); diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c --- a/modules/mixer/simple/sbasedl.c +++ b/modules/mixer/simple/sbasedl.c @@ -27,7 +27,9 @@ #include #include #include +#ifdef HAVE_LIBDL #include +#endif #include "config.h" #include "asoundlib.h" #include "mixer_abst.h" diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c --- a/src/mixer/simple_abst.c +++ b/src/mixer/simple_abst.c @@ -34,7 +34,9 @@ #include #include #include +#ifdef HAVE_LIBDL #include +#endif #include "config.h" #include "asoundlib.h" #include "mixer_simple.h"