Commit graph

17 commits

Author SHA1 Message Date
Patrick Ohly
8f1dd1ba95 autotools: cleaned up checking for GNOME/EDS libs (MB #8338)
The EDS backend was asking for glib support even when it was not
active. In combination with not linking against the right libs
in that case there was a link failure because g_thread_init()
and g_type_init() were not found.

When the EDS backend was active, this wasn't a problem because
the necessary libs were linked indirectly.

This patch reduces the number of libs that are checked and used
when not enabling the EDS backend. This is done by resetting
the ECAL/EBOOK flags when inactive and only asking for glib
when active.

It also fixes the checking and linking against gobject and gthread
in the case that glib support is requested.
2009-12-09 16:24:08 +01:00
Patrick Ohly
a29a2540f5 autotools: fixed installation of backends with recent libtool
More recent libtool versions contain a check that the
install dir doesn't deviate too much from the libdir
compiled into the libs. This check failed when the
chosen path ended with a slash, leading to:

libtool: install: error: cannot install `syncecal.la' to a directory not ending in ...

I consider this a bug in libtool and sent a bug report
together with a fix. In the meantime, let's avoid the
problem by not adding any redundant slash in our
path...
2009-12-01 17:31:37 +01:00
Patrick Ohly
3f7c53c78a --enable-evolution-compatibility: added icalcomp_get_location/summary (MB#6552), added test
Two more functions which have to be intercepted to avoid hard
dependencies on libecal or libical.

Because this is something which is likely to come up again
in the future, this patch also adds a "installcheck-local" for
undesired dependencies on libical/ecal/ebook/edataserver.

This check is triggered when building binary packages by using
"installcheck" instead of "install". It intentionally checks
.so files in the build directory, to catch problems even in
libs which are not currently installed.
2009-10-13 17:21:54 +02:00
Patrick Ohly
e357e8fcc8 --enable-developer-mode: use absolute search path for backends
The path compiled into libsyncevolution.so when developer mode
was active was "backends/", so backends were only found when
running SyncEvolution inside that directory. This is a bit
too limiting. Now the absolute path is compiled in.
2009-09-25 08:15:23 +02:00
Chen Congwu
35ee636619 Dynamic loadable backends: repackage libsyncevolution to enable dynamic loadable backends
Install head files to a standard path, the remaining dependencies are
synthesis and boost
client-test is portable when ENABLE_MODULES is defined, no longer link to
backends libraries.

Add --enable-developer-mode, in which mode the backend scan path will be
under current build directory for development purposes.
2009-09-23 07:35:25 +02:00
Patrick Ohly
94c62f34d5 build rules: moved D-Bus into sub directories
syncevo-dbus -> src/dbus
interfaces -> src/dbus/interfaces

Files generated from D-Bus interfaces are only built once, in src/dbus/interfaces.
This is changes makes the code layout a bit nicer and, more importantly,
fixes build dependencies when Synthesis is compiled in src.

Now everything that is needed by a certain directory is in that directory
or a sub directory.
2009-05-06 19:52:55 +02:00
Jussi Kukkonen
7f21cc02f1 add internationalization support 2009-05-06 10:49:34 +03:00
Jussi Kukkonen
d58a5a5777 dbus client: allow building with no Mux widgets
also changed MuxFrame to actually derive from GtkFrame:
This makes it easier to use MuxFrame and GtkFrame
interchangeably.
2009-04-27 10:42:20 +03:00
Jussi Kukkonen
6f23974cfd dbus client: add and use new widget MuxBin
MuxBin is a GtkBin with a rounded corners, border and a title
with a bullet.

Also move ui related source to src/gtk-ui
2009-04-09 17:45:20 +03:00
Jussi Kukkonen
0d613e680d dbus client: add GUI
Syncing works. Modifying server configs does not work yet.
2009-04-05 13:25:35 +03:00
Jussi Kukkonen
9a417300f0 Add initial dbus api and wrapper client library 2009-04-02 20:36:58 +03:00
Patrick Ohly
b75f8c952d configure: fixed some checks (glib, boost, EDS)
Configure didn't check correctly for "glib": it invoked glib-config
but didn't notice when that command was missing. Removed that
check as it has been superseeded by "glib-2.0" anyway.

Boost wasn't checked for at all, although the Boost header files are
no longer bundled.

libecal and libebook are now obligatory unless explicitly disabled.
This catches a common mistake made by users: previously syncevolution
would compile, but without Evolution support. The drawback is that
on platforms without Evolution, support for it now must be disabled
explicitly.
2009-03-27 16:22:31 +01:00
Patrick Ohly
bcc349a569 transport agent: replaced Funambol TransportAgent with own libsoup/libcurl classes
The new TransportAgent base class supports sending a message and waiting
for a reply. Implementations which block in either the send() (CurlTransportAgent)
or the wait() (SoupTransportAgent) call are possible.

The default implementation is compiled into libsyncevolution. configure
picks libsoup if available, otherwise libcurl. The default can be changed
via --enable-libcurl/libsoup, including not compiling any transport. Normally
that triggers a configure error because it leads to an unusable syncevolution
binary.

Derived EvolutionSyncClients can change the default via createTransportAgent().
2009-03-25 14:43:34 +01:00
Patrick Ohly
fc34e5c54f EvolutionSyncClient: clarified/added callbacks that can be implemented by derived classes
The new EvolutionSyncClient::displaySyncProgress(),
displaySourceProgress() and displayServerMessage() calls
can be overridden to display information to the user.
The default implementation prints into the log.

PEV_DSSTATS_* statistics are saved in EvolutionSyncClient
and printed to the log after each sync.

The older askPassword() is also one of the virtual callbacks
2009-03-25 14:43:33 +01:00
Patrick Ohly
d7ee1450dd fix for compile problem: if glib dev files were installed but not the evolution dev files, then glib.h was not found when compiling syncevolution.c
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@769 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-12-02 18:07:28 +00:00
Patrick Ohly
3d5749df17 hard dependencies on specific Evolution libs can be avoided with --enable-evolution-compatibility
This works by mapping all EDS symbols to pointers initialized via dlopen/dlsym.
Avoids version checks as intented, but might lead to runtime crashes if the ABI
of the required symbols really changes...

Currently the binaries refuses to start when any of the EDS libs is not found.
Need to make it work again so that libecal and libebook are optional (Maemo!).


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@747 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-10-08 21:30:06 +00:00
Patrick Ohly
63e14ddc9c file layout restructuring, take II
Added missing files, finished automatic registration
of backends, Emacs mode for renamed files.


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@685 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-07-30 17:30:10 +00:00