From 83320ae105a9ff0aad02e67cfb755e45b80e777b Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Fri, 16 May 2014 16:32:59 +0900 Subject: [PATCH] Win32: Fix ecore_evas engine search path Engines are stored in a lib/ folder, while the main DLL files are in the bin/ folder, so the engine would never be found. A solution was to add the proper checkme file in the share folder, but since this is necessary only for Windows, we can simply use ../lib instead of using the full eina_prefix detector. Thanks vtorri for the review. --- src/Makefile_Ecore_Evas.am | 2 ++ src/lib/ecore_evas/ecore_evas_module.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Makefile_Ecore_Evas.am b/src/Makefile_Ecore_Evas.am index 6cd53a66ae..4689f3448c 100644 --- a/src/Makefile_Ecore_Evas.am +++ b/src/Makefile_Ecore_Evas.am @@ -26,7 +26,9 @@ lib/ecore_evas/ecore_evas_util.c lib_ecore_evas_libecore_evas_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -I$(top_srcdir)/src/modules/evas/engines/buffer \ +-DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ +-DPACKAGE_DATA_DIR=\"$(datadir)/ecore_evas\" \ -DPACKAGE_BUILD_DIR=\"`pwd`/$(top_builddir)\" \ @ECORE_EVAS_CFLAGS@ lib_ecore_evas_libecore_evas_la_LIBADD = @ECORE_EVAS_LIBS@ diff --git a/src/lib/ecore_evas/ecore_evas_module.c b/src/lib/ecore_evas/ecore_evas_module.c index 60ceb36a15..9539bc20ca 100644 --- a/src/lib/ecore_evas/ecore_evas_module.c +++ b/src/lib/ecore_evas/ecore_evas_module.c @@ -101,9 +101,11 @@ _ecore_evas_engine_init(void) /* 1. libecore_evas.so/../ecore_evas/engines/ */ paths[0] = eina_module_symbol_path_get(_ecore_evas_engine_init, "/ecore_evas/engines"); - /* 2. PREFIX/ecore_evas/engines/ */ -#ifndef _MSC_VER +#ifndef _WIN32 + /* 3. PREFIX/ecore_evas/engines/ */ paths[1] = strdup(PACKAGE_LIB_DIR "/ecore_evas/engines"); +#else + paths[1] = eina_module_symbol_path_get(_ecore_evas_engine_init, "/../lib/ecore_evas/engines"); #endif for (j = 0; j < ((sizeof (paths) / sizeof (char*)) - 1); ++j)