$ORIGIN and $LIB are not supported by all implementations of dlopen() and
on windows we need backslashes as directory separators.

Signed-off-by: Ulf Hermann <ulf.herm...@qt.io>
---
 libebl/ChangeLog        | 5 +++++
 libebl/eblopenbackend.c | 4 ++++
 2 files changed, 9 insertions(+)

diff --git a/libebl/ChangeLog b/libebl/ChangeLog
index f9f5d89..7de7236 100644
--- a/libebl/ChangeLog
+++ b/libebl/ChangeLog
@@ -1,3 +1,8 @@
+2017-05-04  Ulf Hermann  <ulf.herm...@qt.io>
+
+       * eblopenbackend.c: On windows use an ORIGINDIR without $ORIGIN and
+       $LIB.
+
 2017-04-28  Ulf Hermann  <ulf.herm...@qt.io>
 
        * Makefile.am: Forward LIBPREFIX and LIBEXT as defined by configure.
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index 0b261e7..4048f12 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -312,7 +312,11 @@ openbackend (Elf *elf, const char *emulation, GElf_Half 
machine)
 #ifndef LIBEBL_SUBDIR
 # define LIBEBL_SUBDIR PACKAGE
 #endif
+#if (defined _WIN32 || defined __WIN32__)
+#define ORIGINDIR "..\\lib\\" LIBEBL_SUBDIR "\\"
+#else
 #define ORIGINDIR "$ORIGIN/../$LIB/" LIBEBL_SUBDIR "/"
+#endif
 #define LIBEBL_PREFIX LIBPREFIX "ebl_"
 
        /* Give it a try.  At least the machine type matches.  First
-- 
2.1.4

Reply via email to