[PATCH weston] compositor: Respect WESTON_BUILD_DIR env var in weston_load_module
Derek Foreman
derekf at osg.samsung.com
Fri Jun 5 08:07:16 PDT 2015
We were loading modules out of the system dirs unconditionally, so
tests that loaded modules would use the system ones, or fail if
they weren't installed.
Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
---
src/compositor.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/compositor.c b/src/compositor.c
index 8f02b4d..0a4186e 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -4906,15 +4906,19 @@ on_caught_signal(int s, siginfo_t *siginfo, void *context)
WL_EXPORT void *
weston_load_module(const char *name, const char *entrypoint)
{
+ const char *builddir = getenv("WESTON_BUILD_DIR");
char path[PATH_MAX];
void *module, *init;
if (name == NULL)
return NULL;
- if (name[0] != '/')
- snprintf(path, sizeof path, "%s/%s", MODULEDIR, name);
- else
+ if (name[0] != '/') {
+ if (builddir)
+ snprintf(path, sizeof path, "%s/.libs/%s", builddir, name);
+ else
+ snprintf(path, sizeof path, "%s/%s", MODULEDIR, name);
+ } else
snprintf(path, sizeof path, "%s", name);
module = dlopen(path, RTLD_NOW | RTLD_NOLOAD);
--
2.1.4
More information about the wayland-devel
mailing list