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 <der...@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

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to