7a706b90c3
clang 2.8 compiles SyncEvolution + Synthesis faster than g++ 4.4.5 (3:40min instead of 4:10min on my laptop) and produces more useful error reports. This patch fixes the code so that it compiles cleanly with clang when using "-Wall -Werror -Wno-unknown-pragmas". Note that clang 2.6 (Debian Squeeze) goes into an infinite recursion compiling code using gdbus-cxx-bridge.h and dies eventually with a stack overflow - can't be used. Changes necessary for clang: - eptr pointer referencing ambiguous, use *x.get() instead - boost::intrusive_ptr* must be defined before code using it - two-phase template checking requires explicitly specifying members in base classes - name clashes with plain C structs (DBusServer, DBusWatch) are an error and need to be avoided (done with namespaces GDBusCXX and SyncEvo) - floats cannot be inline constants - unused methods in local classes are warned about (left() in SyncML.cpp) |
||
---|---|---|
.. | ||
test | ||
debug.c | ||
debug.h | ||
gdbus-cxx-bridge.h | ||
gdbus-cxx.h | ||
gdbus.h | ||
mainloop.c | ||
Makefile.am | ||
object.c | ||
README | ||
watch.c |
This is a copy of the libgdbus source code: http://git.kernel.org/?p=bluetooth/libgdbus.git;a=summary It is licensed under LGPL v2.1, see upstream COPYING. The source is included here because there is no stable upstream release. Patches added here need to be submitted upstream. Likewise, patches applied upstream must be imported. The build/import-gdbus.sh and build/export-gdbus.sh scripts automate that process. To import fixes from upstream: - checkout out libgdbus and syncevolution - enter syncevolution directory - if not done before, create local "gdbus" branch: git branch gdbus origin/gdbus - run build/import-gdbus.sh - "gdbus" branch is now checked out and updated - verify changes, merge into master, etc. - push into remote syncevolution repo To export fixes to upstream: - check out relevant branch in syncevolution which has our local changes (typically "master") - run build/export-gdbus.sh - send 0*.patch files to upstream Caveats: - only files explicitly mentioned in the two scripts are imported/exports - Makefile changes are only imported, but not exported (local changes not relevant upstream)