summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2009-05-12 23:00:15 +0200
committerPatrick Ohly <patrick.ohly@intel.com>2009-05-12 23:00:15 +0200
commitd9dbc31904876ea7db3d937d080dd4916358e6d2 (patch)
treeebcbaf870d2bb309c2d97813c66db4d8926f1982
parent23f64d7fdf1b50e8212f6c0ad99068e6b8885d08 (diff)
--enable-shared: find backends in $(libdir)/syncevolutionsyncevolution-ui-0-9-beta-2009-05-12
Somehow /usr/lib/syncevolution wasn't searched by the dynamic loader in Moblin, despite it being in the RPATH of the binaries. Open modules also with absolute path to find them.
-rw-r--r--src/core/EvolutionSyncSource.cpp5
-rw-r--r--src/core/Makefile.am2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/core/EvolutionSyncSource.cpp b/src/core/EvolutionSyncSource.cpp
index 65472477..94593b6e 100644
--- a/src/core/EvolutionSyncSource.cpp
+++ b/src/core/EvolutionSyncSource.cpp
@@ -170,6 +170,11 @@ public:
// itself. We keep that pointer, so never close the
// module!
dlhandle = dlopen(modules[i], RTLD_NOW|RTLD_GLOBAL);
+ if (!dlhandle) {
+ string fullpath = LIBDIR "/syncevolution/";
+ fullpath += modules[1];
+ dlhandle = dlopen(fullpath.c_str(), RTLD_NOW|RTLD_GLOBAL);
+ }
// remember which modules were found and which were not
state = dlhandle ? &m_available : &m_missing;
state->push_back(modules[i]);
diff --git a/src/core/Makefile.am b/src/core/Makefile.am
index 325bff01..ef3b3ab6 100644
--- a/src/core/Makefile.am
+++ b/src/core/Makefile.am
@@ -86,7 +86,7 @@ CORE_SOURCES = \
libsyncevolution_la_SOURCES = $(CORE_SOURCES)
libsyncevolution_la_LIBADD = @EPACKAGE_LIBS@ @GLIB_LIBS@ $(TRANSPORT_LIBS) @LIBS@ $(SYNTHESIS_LIBS) $(SYNCEVOLUTION_LDADD)
libsyncevolution_la_CXXFLAGS = $(TRANSPORT_CFLAGS) $(SYNCEVOLUTION_CXXFLAGS) $(SYNTHESIS_CFLAGS)
-libsyncevolution_la_CPPFLAGS = $(AM_CPPFLAGS) -DTEMPLATE_DIR=\""$(sysconfdir)/default/syncevolution"\"
+libsyncevolution_la_CPPFLAGS = $(AM_CPPFLAGS) -DTEMPLATE_DIR=\""$(sysconfdir)/default/syncevolution"\" -DLIBDIR=\""$(libdir)"\"
SyncEvolutionXML.c: $(srcdir)/../syncevolution.xml
echo "const char *SyncEvolutionXML =" > $@