syncevolution/src/gdbus
Patrick Ohly 7a706b90c3 compiler: fix warnings/errors reported by clang 2.8
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)
2011-02-18 09:22:36 +01:00
..
test compiler: fix warnings/errors reported by clang 2.8 2011-02-18 09:22:36 +01:00
debug.c Update copyright information 2009-10-07 16:07:47 +02:00
debug.h Don't add an extra newline in the debug messages 2009-10-07 16:07:49 +02:00
gdbus-cxx-bridge.h compiler: fix warnings/errors reported by clang 2.8 2011-02-18 09:22:36 +01:00
gdbus-cxx.h compiler: fix warnings/errors reported by clang 2.8 2011-02-18 09:22:36 +01:00
gdbus.h gdbus: avoid name conflict with glib 2010-08-09 10:46:03 -04:00
mainloop.c gdbus: avoid name conflict with glib 2010-08-09 10:46:03 -04:00
Makefile.am gdbus: ensure that header files are included in "make dist" 2010-08-15 21:26:53 +02:00
object.c gdbus: avoid name conflict with glib 2010-08-09 10:46:03 -04:00
README exporting of local changes in gdbus 2009-12-09 11:53:02 +01:00
watch.c gdbus: avoid name conflict with glib 2010-08-09 10:46:03 -04:00

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)