There's the "libsyncevo" branch now. I just had a look
at it and have
some comments/questions.
Do we want to install header files in "/usr/include/syncevo" or
"/usr/include/syncevolution"? I suggested the later and still prefer the
full name instead of the shorthand.
I did not use syncevolution because our binary is already named syncevolution,
which cased two files/directory with the same name under src. Maybe we have to change the
binary name to something like sync-evolution?
If I read the last patch in that branch right, then EDS and glib
header
files are now a hard dependency for using libsyncevolution
(syncevolution.pc.in: Requires: libedataserver-1.2 libebook-1.2
libecal-1.2 glib-2.0; #ifdefs removed from several header files). Is
that intentional or is the goal to change that again?
I am still working on this yet. The goal is to reduce such dependencies by
splitting to another library (With Obex, additional dependencies introduced).
We can keep the config.h usage and the ifdefs in our header files.
We
just have to be careful that we include config.h like this
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
and that none of the ifdefs affect structs that are part of the API.
For example, in EvolutionSmartPtr.h, "#ifdef HAVE_GLIB" only adds some
declarations. The header file can be used just fine by a client program
without those if it doesn't provide a config.h or doesn't use GLib
itself.
Yes, but I will first try to split some non-api stuff to another library
(EvolutionSyncClient, Transport Implemenation)