[evolution-data-server] Implement single-file includes for all E-D-S libraries.



commit bda7165f697ba922ea9daf57ce06febc2df238fd
Author: Matthew Barnes <mbarnes redhat com>
Date:   Sun Jun 3 09:50:10 2012 -0400

    Implement single-file includes for all E-D-S libraries.
    
    The top-level headers are named after the library:
    
        #include <libebackend/libebackend.h>
        #include <libebook/libebook.h>
        #include <libecal/libecal.h>
        #include <libedata-book/libedata-book.h>
        #include <libedata-cal/libedata-cal.h>
        #include <libedataserver/libedataserver.h>
        #include <libedataserverui/libedataserverui.h>
    
    Including individual headers will cause a compilation error.

 addressbook/backends/file/Makefile.am              |    2 +
 .../backends/file/e-book-backend-file-factory.c    |    1 -
 addressbook/backends/file/e-book-backend-file.c    |   13 ----
 addressbook/backends/file/e-book-backend-file.h    |    2 +-
 addressbook/backends/google/Makefile.am            |    4 +-
 .../google/e-book-backend-google-factory.c         |    1 -
 .../backends/google/e-book-backend-google.c        |   11 ---
 .../backends/google/e-book-backend-google.h        |    2 +-
 addressbook/backends/ldap/Makefile.am              |    2 +
 .../backends/ldap/e-book-backend-ldap-factory.c    |    1 -
 addressbook/backends/ldap/e-book-backend-ldap.c    |   11 +---
 addressbook/backends/ldap/e-book-backend-ldap.h    |    2 +-
 addressbook/backends/ldap/e-source-ldap.c          |    4 -
 addressbook/backends/ldap/e-source-ldap.h          |    2 +-
 addressbook/backends/vcf/Makefile.am               |    4 +-
 .../backends/vcf/e-book-backend-vcf-factory.c      |    1 -
 addressbook/backends/vcf/e-book-backend-vcf.c      |    9 ---
 addressbook/backends/vcf/e-book-backend-vcf.h      |    2 +-
 addressbook/backends/vcf/e-source-vcf.c            |    2 -
 addressbook/backends/vcf/e-source-vcf.h            |    2 +-
 addressbook/backends/webdav/Makefile.am            |    4 +-
 .../webdav/e-book-backend-webdav-factory.c         |    1 -
 .../backends/webdav/e-book-backend-webdav.c        |   14 ----
 .../backends/webdav/e-book-backend-webdav.h        |    3 +-
 addressbook/libebook/Makefile.am                   |   17 ++++-
 addressbook/libebook/e-address-western.c           |    3 +-
 addressbook/libebook/e-address-western.h           |    4 +
 addressbook/libebook/e-book-client-view-private.h  |    3 +-
 addressbook/libebook/e-book-client-view.c          |    4 +-
 addressbook/libebook/e-book-client-view.h          |    4 +
 addressbook/libebook/e-book-client.c               |    5 +-
 addressbook/libebook/e-book-client.h               |    8 ++-
 addressbook/libebook/e-book-query.c                |    7 +-
 addressbook/libebook/e-book-query.h                |    4 +
 addressbook/libebook/e-book-types.h                |   32 ++++++++
 addressbook/libebook/e-book-view.c                 |    2 +-
 addressbook/libebook/e-book-view.h                 |    4 +
 addressbook/libebook/e-book.c                      |    2 -
 addressbook/libebook/e-book.h                      |    8 ++-
 addressbook/libebook/e-contact.h                   |    4 +
 addressbook/libebook/e-destination.h               |    4 +
 addressbook/libebook/e-error.h                     |    4 +
 addressbook/libebook/e-name-western.h              |    4 +
 addressbook/libebook/e-vcard.h                     |    4 +
 addressbook/libebook/libebook.h                    |   42 +++++++++++
 addressbook/libedata-book/Makefile.am              |   16 +---
 addressbook/libedata-book/e-book-backend-cache.c   |    2 +-
 addressbook/libedata-book/e-book-backend-cache.h   |    8 ++-
 .../libedata-book/e-book-backend-db-cache.c        |    3 +-
 .../libedata-book/e-book-backend-db-cache.h        |    7 ++-
 addressbook/libedata-book/e-book-backend-factory.h |    6 ++-
 addressbook/libedata-book/e-book-backend-sexp.c    |    3 +-
 addressbook/libedata-book/e-book-backend-sexp.h    |    7 ++-
 .../libedata-book/e-book-backend-sqlitedb-test.c   |    4 +-
 .../libedata-book/e-book-backend-sqlitedb.c        |    5 +-
 .../libedata-book/e-book-backend-sqlitedb.h        |    8 ++-
 addressbook/libedata-book/e-book-backend-summary.c |    5 --
 addressbook/libedata-book/e-book-backend-summary.h |    7 ++-
 addressbook/libedata-book/e-book-backend-sync.c    |    3 +-
 addressbook/libedata-book/e-book-backend-sync.h    |    7 ++-
 addressbook/libedata-book/e-book-backend.c         |    2 -
 addressbook/libedata-book/e-book-backend.h         |   14 +++--
 addressbook/libedata-book/e-data-book-factory.c    |    3 -
 addressbook/libedata-book/e-data-book-factory.h    |    7 ++-
 addressbook/libedata-book/e-data-book-types.h      |   73 -------------------
 addressbook/libedata-book/e-data-book-view.c       |    6 +-
 addressbook/libedata-book/e-data-book-view.h       |   20 ++++--
 addressbook/libedata-book/e-data-book.c            |    5 +-
 addressbook/libedata-book/e-data-book.h            |   20 +++--
 addressbook/libedata-book/libedata-book.h          |   42 +++++++++++
 addressbook/libegdbus/e-gdbus-book-factory.c       |    3 -
 addressbook/libegdbus/e-gdbus-book-factory.h       |    2 +-
 addressbook/libegdbus/e-gdbus-book-view.c          |    3 -
 addressbook/libegdbus/e-gdbus-book-view.h          |    2 +-
 addressbook/libegdbus/e-gdbus-book.c               |    3 -
 addressbook/libegdbus/e-gdbus-book.h               |    2 +-
 calendar/backends/caldav/Makefile.am               |    2 +
 .../backends/caldav/e-cal-backend-caldav-factory.c |    1 -
 calendar/backends/caldav/e-cal-backend-caldav.c    |   15 ----
 calendar/backends/caldav/e-cal-backend-caldav.h    |    2 +-
 calendar/backends/contacts/Makefile.am             |   16 +++--
 .../contacts/e-cal-backend-contacts-factory.c      |    1 -
 .../backends/contacts/e-cal-backend-contacts.c     |   12 +---
 .../backends/contacts/e-cal-backend-contacts.h     |    2 +-
 calendar/backends/contacts/e-source-contacts.h     |    2 +-
 calendar/backends/file/Makefile.am                 |    5 +-
 .../backends/file/e-cal-backend-file-factory.c     |    1 -
 calendar/backends/file/e-cal-backend-file.c        |   12 +---
 calendar/backends/file/e-cal-backend-file.h        |    2 +-
 calendar/backends/file/e-source-local.h            |    2 +-
 calendar/backends/http/Makefile.am                 |    2 +
 .../backends/http/e-cal-backend-http-factory.c     |    1 -
 calendar/backends/http/e-cal-backend-http.c        |   16 +----
 calendar/backends/http/e-cal-backend-http.h        |    2 +-
 calendar/backends/weather/Makefile.am              |   16 +++--
 .../weather/e-cal-backend-weather-factory.c        |    1 -
 calendar/backends/weather/e-cal-backend-weather.c  |    6 +--
 calendar/backends/weather/e-cal-backend-weather.h  |    2 +-
 calendar/backends/weather/e-source-weather.c       |    2 -
 calendar/backends/weather/e-source-weather.h       |    2 +-
 calendar/backends/weather/e-weather-source-ccf.c   |    2 -
 calendar/libecal/Makefile.am                       |   22 +++++-
 calendar/libecal/e-cal-check-timezones.h           |    4 +
 calendar/libecal/e-cal-client-view.h               |    4 +
 calendar/libecal/e-cal-client.c                    |    6 +-
 calendar/libecal/e-cal-client.h                    |    7 ++-
 calendar/libecal/e-cal-component.c                 |    4 +-
 calendar/libecal/e-cal-component.h                 |    4 +
 calendar/libecal/e-cal-recur.h                     |    4 +
 calendar/libecal/e-cal-system-timezone.h           |    4 +
 calendar/libecal/e-cal-time-util.h                 |    4 +
 calendar/libecal/e-cal-types.h                     |   54 ++++++++++++++
 calendar/libecal/e-cal-util.c                      |    4 +-
 calendar/libecal/e-cal-util.h                      |    4 +
 calendar/libecal/e-cal-view.h                      |    4 +
 calendar/libecal/e-cal.c                           |    6 --
 calendar/libecal/e-cal.h                           |    7 ++-
 calendar/libecal/libecal.h                         |   42 +++++++++++
 calendar/libedata-cal/Makefile.am                  |   18 ++----
 calendar/libedata-cal/e-cal-backend-cache.c        |    3 +-
 calendar/libedata-cal/e-cal-backend-cache.h        |    9 ++-
 calendar/libedata-cal/e-cal-backend-factory.h      |    6 ++-
 calendar/libedata-cal/e-cal-backend-file-store.c   |    8 ++-
 calendar/libedata-cal/e-cal-backend-file-store.h   |    6 ++-
 calendar/libedata-cal/e-cal-backend-intervaltree.h |    7 ++-
 calendar/libedata-cal/e-cal-backend-sexp.c         |    2 -
 calendar/libedata-cal/e-cal-backend-sexp.h         |    8 ++-
 calendar/libedata-cal/e-cal-backend-store.c        |    1 -
 calendar/libedata-cal/e-cal-backend-store.h        |    7 ++-
 calendar/libedata-cal/e-cal-backend-sync.c         |    3 +-
 calendar/libedata-cal/e-cal-backend-sync.h         |    4 +
 calendar/libedata-cal/e-cal-backend-util.c         |    3 +-
 calendar/libedata-cal/e-cal-backend-util.h         |    7 ++-
 calendar/libedata-cal/e-cal-backend.c              |    2 -
 calendar/libedata-cal/e-cal-backend.h              |   12 ++--
 calendar/libedata-cal/e-data-cal-common.h          |    4 +
 calendar/libedata-cal/e-data-cal-factory.c         |    2 -
 calendar/libedata-cal/e-data-cal-factory.h         |    7 ++-
 calendar/libedata-cal/e-data-cal-types.h           |   61 ----------------
 calendar/libedata-cal/e-data-cal-view.c            |    2 -
 calendar/libedata-cal/e-data-cal-view.h            |    9 ++-
 calendar/libedata-cal/e-data-cal.c                 |    4 +-
 calendar/libedata-cal/e-data-cal.h                 |    5 +-
 calendar/libedata-cal/libedata-cal.h               |   44 +++++++++++
 calendar/libegdbus/e-gdbus-cal-factory.c           |    3 -
 calendar/libegdbus/e-gdbus-cal-factory.h           |    4 +-
 calendar/libegdbus/e-gdbus-cal-view.c              |    3 -
 calendar/libegdbus/e-gdbus-cal-view.h              |    4 +-
 calendar/libegdbus/e-gdbus-cal.c                   |   11 ++--
 calendar/libegdbus/e-gdbus-cal.h                   |    4 +-
 configure.ac                                       |    8 +-
 docs/reference/addressbook/libebook/Makefile.am    |    6 +-
 docs/reference/addressbook/libebook/libebook.types |    8 +--
 .../addressbook/libedata-book/Makefile.am          |    6 +-
 .../addressbook/libedata-book/libedata-book.types  |    9 +--
 docs/reference/calendar/libecal/Makefile.am        |    6 +-
 docs/reference/calendar/libecal/libecal.types      |    6 +--
 docs/reference/calendar/libedata-cal/Makefile.am   |    4 +-
 .../calendar/libedata-cal/libedata-cal.types       |    8 +--
 docs/reference/libebackend/Makefile.am             |    6 +-
 docs/reference/libebackend/libebackend.types       |   16 +----
 docs/reference/libedataserver/libedataserver.types |   31 +--------
 docs/reference/libedataserverui/Makefile.am        |    6 +-
 .../libedataserverui/libedataserverui.types        |   16 +----
 libebackend/Makefile.am                            |    5 ++
 libebackend/e-authentication-mediator.c            |    5 +-
 libebackend/e-authentication-mediator.h            |    6 ++-
 libebackend/e-authentication-session.c             |    2 +-
 libebackend/e-authentication-session.h             |    7 ++-
 libebackend/e-backend-enums.h                      |    4 +
 libebackend/e-backend-factory.c                    |    2 +-
 libebackend/e-backend-factory.h                    |    4 +
 libebackend/e-backend.c                            |    2 +-
 libebackend/e-backend.h                            |    6 ++-
 libebackend/e-collection-backend-factory.c         |    7 +--
 libebackend/e-collection-backend-factory.h         |    4 +
 libebackend/e-collection-backend.c                 |   11 +---
 libebackend/e-collection-backend.h                 |    4 +
 libebackend/e-data-factory.c                       |    2 +-
 libebackend/e-data-factory.h                       |    4 +
 libebackend/e-db3-utils.h                          |    4 +
 libebackend/e-dbhash.h                             |    4 +
 libebackend/e-dbus-server.c                        |    2 +-
 libebackend/e-dbus-server.h                        |    4 +
 libebackend/e-extensible.c                         |    2 +-
 libebackend/e-extensible.h                         |    4 +
 libebackend/e-extension.c                          |    2 +-
 libebackend/e-extension.h                          |    4 +
 libebackend/e-file-cache.c                         |    3 +-
 libebackend/e-file-cache.h                         |    4 +
 libebackend/e-module.c                             |    2 +-
 libebackend/e-module.h                             |    4 +
 libebackend/e-offline-listener.h                   |    4 +
 libebackend/e-server-side-source.c                 |    5 +-
 libebackend/e-server-side-source.h                 |    7 ++-
 libebackend/e-source-registry-server.c             |    5 +-
 libebackend/e-source-registry-server.h             |    7 ++-
 libebackend/e-sqlite3-vfs.c                        |    2 +-
 libebackend/e-sqlite3-vfs.h                        |    4 +
 libebackend/libebackend.h                          |   50 +++++++++++++
 libedataserver/Makefile.am                         |    7 +-
 libedataserver/e-categories.h                      |    4 +
 libedataserver/e-client-private.h                  |    5 +-
 libedataserver/e-client.h                          |    4 +
 libedataserver/e-credentials.h                     |    4 +
 libedataserver/e-data-server-util.h                |    4 +
 libedataserver/e-debug-log.h                       |    4 +
 libedataserver/e-flag.h                            |    4 +
 libedataserver/e-gdbus-templates.h                 |    4 +
 libedataserver/e-iterator.h                        |    4 +
 libedataserver/e-list-iterator.h                   |    4 +
 libedataserver/e-list.h                            |    4 +
 libedataserver/e-memory.h                          |    4 +
 libedataserver/e-operation-pool.h                  |    4 +
 libedataserver/e-proxy.h                           |    4 +
 libedataserver/e-sexp.h                            |    5 ++
 libedataserver/e-source-address-book.c             |    2 +-
 libedataserver/e-source-address-book.h             |    4 +
 libedataserver/e-source-alarms.c                   |    2 +-
 libedataserver/e-source-alarms.h                   |    4 +
 libedataserver/e-source-authentication.c           |    2 +-
 libedataserver/e-source-authentication.h           |    4 +
 libedataserver/e-source-authenticator.c            |    2 +-
 libedataserver/e-source-authenticator.h            |    4 +
 libedataserver/e-source-autocomplete.c             |    2 +-
 libedataserver/e-source-autocomplete.h             |    4 +
 libedataserver/e-source-backend.c                  |    2 +-
 libedataserver/e-source-backend.h                  |    4 +
 libedataserver/e-source-calendar.c                 |    6 +-
 libedataserver/e-source-calendar.h                 |    4 +
 libedataserver/e-source-camel.c                    |    2 +-
 libedataserver/e-source-camel.h                    |    4 +
 libedataserver/e-source-collection.c               |    2 +-
 libedataserver/e-source-collection.h               |    4 +
 libedataserver/e-source-enums.h                    |    4 +
 libedataserver/e-source-extension.c                |    2 +-
 libedataserver/e-source-extension.h                |    4 +
 libedataserver/e-source-goa.c                      |    2 +-
 libedataserver/e-source-goa.h                      |    4 +
 libedataserver/e-source-mail-account.c             |    2 +-
 libedataserver/e-source-mail-account.h             |    4 +
 libedataserver/e-source-mail-composition.c         |    2 +-
 libedataserver/e-source-mail-composition.h         |    4 +
 libedataserver/e-source-mail-identity.c            |    2 +-
 libedataserver/e-source-mail-identity.h            |    4 +
 libedataserver/e-source-mail-signature.c           |    2 +-
 libedataserver/e-source-mail-signature.h           |    4 +
 libedataserver/e-source-mail-submission.c          |    2 +-
 libedataserver/e-source-mail-submission.h          |    4 +
 libedataserver/e-source-mail-transport.c           |    2 +-
 libedataserver/e-source-mail-transport.h           |    4 +
 libedataserver/e-source-mdn.c                      |    2 +-
 libedataserver/e-source-mdn.h                      |    4 +
 libedataserver/e-source-offline.c                  |    2 +-
 libedataserver/e-source-offline.h                  |    4 +
 libedataserver/e-source-openpgp.c                  |    2 +-
 libedataserver/e-source-openpgp.h                  |    4 +
 libedataserver/e-source-refresh.c                  |    2 +-
 libedataserver/e-source-refresh.h                  |    4 +
 libedataserver/e-source-registry.c                 |    2 +-
 libedataserver/e-source-registry.h                 |    4 +
 libedataserver/e-source-security.c                 |    2 +-
 libedataserver/e-source-security.h                 |    4 +
 libedataserver/e-source-selectable.c               |    5 +-
 libedataserver/e-source-selectable.h               |    4 +
 libedataserver/e-source-smime.c                    |    2 +-
 libedataserver/e-source-smime.h                    |    4 +
 libedataserver/e-source-webdav.c                   |    2 +-
 libedataserver/e-source-webdav.h                   |    4 +
 libedataserver/e-source.c                          |    2 +-
 libedataserver/e-source.h                          |    4 +
 libedataserver/e-time-utils.h                      |    4 +
 libedataserver/e-uid.h                             |    4 +
 libedataserver/e-url.h                             |    4 +
 libedataserver/e-xml-hash-utils.h                  |    4 +
 libedataserver/e-xml-utils.h                       |    4 +
 libedataserver/libedataserver.h                    |   77 ++++++++++++++++++++
 libedataserverui/Makefile.am                       |    2 +
 libedataserverui/e-book-auth-util.c                |    5 +-
 libedataserverui/e-book-auth-util.h                |    6 ++-
 libedataserverui/e-categories-dialog.c             |    6 +-
 libedataserverui/e-categories-dialog.h             |    4 +
 libedataserverui/e-categories-editor.c             |    6 +-
 libedataserverui/e-categories-editor.h             |    4 +
 libedataserverui/e-categories-selector.c           |    4 +-
 libedataserverui/e-categories-selector.h           |    4 +
 libedataserverui/e-category-completion.c           |    3 +-
 libedataserverui/e-category-completion.h           |    4 +
 libedataserverui/e-category-editor.c               |    4 +-
 libedataserverui/e-category-editor.h               |    4 +
 libedataserverui/e-cell-renderer-color.h           |    4 +
 libedataserverui/e-client-utils.c                  |    8 +--
 libedataserverui/e-client-utils.h                  |    7 ++-
 libedataserverui/e-contact-store.c                 |    1 +
 libedataserverui/e-contact-store.h                 |    9 ++-
 libedataserverui/e-destination-store.c             |    1 +
 libedataserverui/e-destination-store.h             |    6 ++-
 libedataserverui/e-name-selector-dialog.c          |   11 +---
 libedataserverui/e-name-selector-dialog.h          |    7 ++-
 libedataserverui/e-name-selector-entry.c           |   10 +---
 libedataserverui/e-name-selector-entry.h           |    8 ++-
 libedataserverui/e-name-selector-list.c            |    5 +-
 libedataserverui/e-name-selector-list.h            |    7 ++-
 libedataserverui/e-name-selector-model.h           |    4 +
 libedataserverui/e-name-selector.c                 |    7 +-
 libedataserverui/e-name-selector.h                 |    7 ++-
 libedataserverui/e-passwords.c                     |    4 +-
 libedataserverui/e-passwords.h                     |    4 +
 libedataserverui/e-source-combo-box.c              |    2 -
 libedataserverui/e-source-combo-box.h              |    6 ++-
 libedataserverui/e-source-selector-dialog.h        |    4 +
 libedataserverui/e-source-selector.c               |    2 -
 libedataserverui/e-source-selector.h               |    6 ++-
 libedataserverui/e-tree-model-generator.h          |    4 +
 libedataserverui/gtk-compat.h                      |    8 --
 libedataserverui/libedataserverui.h                |   50 +++++++++++++
 modules/cache-reaper/e-cache-reaper-utils.c        |    2 +-
 modules/cache-reaper/module-cache-reaper.c         |    5 +-
 modules/google-backend/module-google-backend.c     |   17 +----
 modules/online-accounts/goaewsclient.c             |    2 +-
 modules/online-accounts/module-online-accounts.c   |   15 +----
 modules/yahoo-backend/module-yahoo-backend.c       |   17 +----
 services/evolution-addressbook-factory/Makefile.am |    2 +
 .../evolution-addressbook-factory.c                |    3 +-
 services/evolution-calendar-factory/Makefile.am    |    2 +
 .../evolution-calendar-factory.c                   |    3 +-
 .../evolution-source-registry-migrate-basedir.c    |    2 +-
 .../evolution-source-registry-migrate-sources.c    |   24 +------
 .../evolution-source-registry.c                    |    2 +-
 tests/libebook/Makefile.am                         |    3 +
 tests/libebook/client/Makefile.am                  |    2 +
 tests/libebook/client/client-test-utils.c          |    4 +-
 tests/libebook/client/client-test-utils.h          |    3 +-
 tests/libebook/client/test-client-add-contact.c    |    2 +-
 tests/libebook/client/test-client-async.c          |    3 +-
 tests/libebook/client/test-client-examine.c        |    2 +-
 tests/libebook/client/test-client-get-contact.c    |    2 +-
 tests/libebook/client/test-client-get-revision.c   |    2 +-
 tests/libebook/client/test-client-get-view.c       |    3 +-
 tests/libebook/client/test-client-modify-contact.c |    2 +-
 tests/libebook/client/test-client-nonexistent-id.c |    2 +-
 tests/libebook/client/test-client-photo-is-uri.c   |    2 +-
 tests/libebook/client/test-client-refresh.c        |    2 +-
 .../client/test-client-remove-contact-by-uid.c     |    2 +-
 tests/libebook/client/test-client-remove-contact.c |    2 +-
 .../libebook/client/test-client-remove-contacts.c  |    2 +-
 tests/libebook/client/test-client-remove.c         |    2 +-
 tests/libebook/client/test-client-revision-view.c  |    2 +-
 tests/libebook/client/test-client-search.c         |    3 +-
 tests/libebook/client/test-client-self.c           |    2 +-
 .../client/test-client-stress-factory--fifo.c      |    2 +-
 .../client/test-client-stress-factory--serial.c    |    2 +-
 .../test-client-stress-factory--single-book.c      |    2 +-
 tests/libebook/client/test-client-stress-views.c   |    3 +-
 .../client/test-client-suppress-notifications.c    |    3 +-
 tests/libebook/client/test-client-uid-only-view.c  |    2 +-
 tests/libebook/client/test-client.c                |    3 +-
 tests/libebook/ebook-test-utils.c                  |    3 +-
 tests/libebook/ebook-test-utils.h                  |    2 +-
 tests/libebook/test-bulk-methods.c                 |    4 +-
 tests/libebook/test-categories.c                   |    2 +-
 tests/libebook/test-changes.c                      |    2 +-
 tests/libebook/test-date.c                         |    2 +-
 tests/libebook/test-ebook-add-contact.c            |    2 +-
 tests/libebook/test-ebook-async.c                  |    2 +-
 tests/libebook/test-ebook-commit-contact.c         |    2 +-
 tests/libebook/test-ebook-get-book-view.c          |    2 +-
 tests/libebook/test-ebook-get-contact.c            |    2 +-
 tests/libebook/test-ebook-get-required-fields.c    |    2 +-
 .../libebook/test-ebook-get-static-capabilities.c  |    2 +-
 .../test-ebook-get-supported-auth-methods.c        |    2 +-
 tests/libebook/test-ebook-get-supported-fields.c   |    2 +-
 tests/libebook/test-ebook-remove-contact-by-id.c   |    2 +-
 tests/libebook/test-ebook-remove-contact.c         |    2 +-
 tests/libebook/test-ebook-remove-contacts.c        |    2 +-
 tests/libebook/test-ebook-remove.c                 |    2 +-
 tests/libebook/test-ebook-stress-factory--fifo.c   |    2 +-
 tests/libebook/test-ebook-stress-factory--serial.c |    2 +-
 .../test-ebook-stress-factory--single-book.c       |    2 +-
 tests/libebook/test-ebook.c                        |    2 +-
 tests/libebook/test-nonexistent-id.c               |    2 +-
 tests/libebook/test-photo.c                        |    2 +-
 tests/libebook/test-query.c                        |    2 +-
 tests/libebook/test-search.c                       |    2 +-
 tests/libebook/test-self.c                         |    2 +-
 tests/libebook/test-stress-bookviews.c             |    2 +-
 tests/libebook/test-string.c                       |    2 +-
 tests/libebook/test-undefinedfield.c               |    2 +-
 tests/libebook/test-untyped-phones.c               |    2 +-
 tests/libebook/test-vcard-parsing.c                |    3 +-
 tests/libebook/vcard/Makefile.am                   |    6 +-
 tests/libebook/vcard/dump-vcard.c                  |    2 +-
 tests/libecal/Makefile.am                          |    2 +
 tests/libecal/client/Makefile.am                   |    2 +
 tests/libecal/client/client-test-utils.c           |    5 +-
 tests/libecal/client/client-test-utils.h           |    3 +-
 tests/libecal/client/test-client-add-timezone.c    |    2 +-
 tests/libecal/client/test-client-bulk-methods.c    |    2 +-
 tests/libecal/client/test-client-create-object.c   |    2 +-
 tests/libecal/client/test-client-examine.c         |    2 +-
 .../client/test-client-get-attachment-uris.c       |    2 +-
 tests/libecal/client/test-client-get-free-busy.c   |    3 +-
 tests/libecal/client/test-client-get-object-list.c |    2 +-
 tests/libecal/client/test-client-get-revision.c    |    2 +-
 tests/libecal/client/test-client-get-view.c        |    2 +-
 tests/libecal/client/test-client-modify-object.c   |    2 +-
 tests/libecal/client/test-client-open.c            |    2 +-
 tests/libecal/client/test-client-receive-objects.c |    2 +-
 tests/libecal/client/test-client-refresh.c         |    2 +-
 tests/libecal/client/test-client-remove-object.c   |    2 +-
 tests/libecal/client/test-client-revision-view.c   |    2 +-
 tests/libecal/client/test-client-send-objects.c    |    2 +-
 .../client/test-client-stress-factory--fifo.c      |    2 +-
 .../client/test-client-stress-factory--serial.c    |    2 +-
 .../test-client-stress-factory--single-cal.c       |    2 +-
 tests/libecal/client/test-client-stress-views.c    |    2 +-
 tests/libecal/ecal-test-utils.c                    |    2 +-
 tests/libecal/ecal-test-utils.h                    |    2 +-
 tests/libecal/test-ecal-add-timezone.c             |    2 +-
 tests/libecal/test-ecal-create-object--2.c         |    2 +-
 tests/libecal/test-ecal-create-object.c            |    2 +-
 tests/libecal/test-ecal-get-alarm-email-address.c  |    2 +-
 tests/libecal/test-ecal-get-cal-address.c          |    2 +-
 tests/libecal/test-ecal-get-capabilities.c         |    2 +-
 tests/libecal/test-ecal-get-default-object.c       |    2 +-
 tests/libecal/test-ecal-get-free-busy.c            |    3 +-
 tests/libecal/test-ecal-get-ldap-attribute.c       |    2 +-
 tests/libecal/test-ecal-get-object-list.c          |    2 +-
 tests/libecal/test-ecal-get-objects-for-uid.c      |    2 +-
 tests/libecal/test-ecal-get-query.c                |    2 +-
 tests/libecal/test-ecal-get-timezone.c             |    2 +-
 tests/libecal/test-ecal-modify-object.c            |    2 +-
 tests/libecal/test-ecal-open.c                     |    2 +-
 tests/libecal/test-ecal-receive-objects.c          |    2 +-
 tests/libecal/test-ecal-remove-object.c            |    2 +-
 tests/libecal/test-ecal-send-objects.c             |    2 +-
 tests/libecal/test-ecal-set-default-timezone.c     |    2 +-
 tests/libecal/test-ecal-set-mode.c                 |    2 +-
 tests/libecal/test-ecal-stress-factory--fifo.c     |    2 +-
 .../libecal/test-ecal-stress-factory--open-async.c |    2 +-
 tests/libecal/test-ecal-stress-factory--serial.c   |    2 +-
 .../libecal/test-ecal-stress-factory--single-cal.c |    2 +-
 tests/libecal/test-ecal.c                          |    5 +-
 tests/libecal/test-recur.c                         |    2 +-
 tests/libecal/test-search.c                        |    2 +-
 tests/libedata-cal/Makefile.am                     |   16 +++--
 tests/libedata-cal/test-cal-backend-sexp.c         |    2 +-
 tests/libedata-cal/test-intervaltree.c             |    4 +-
 tests/libedataserver/e-source-test.c               |    4 +-
 tests/libedataserverui/Makefile.am                 |    1 +
 tests/libedataserverui/test-category-completion.c  |    2 +-
 tests/libedataserverui/test-contact-store.c        |    2 +-
 tests/libedataserverui/test-name-selector.c        |    4 +-
 tests/libedataserverui/test-source-combo-box.c     |    3 +-
 tests/libedataserverui/test-source-selector.c      |    3 +-
 455 files changed, 1477 insertions(+), 991 deletions(-)
---
diff --git a/addressbook/backends/file/Makefile.am b/addressbook/backends/file/Makefile.am
index ebb13f4..c52c7e3 100644
--- a/addressbook/backends/file/Makefile.am
+++ b/addressbook/backends/file/Makefile.am
@@ -8,6 +8,7 @@ libebookbackendfile_la_CPPFLAGS = \
 	-I$(top_srcdir)/addressbook			\
 	-I$(top_builddir)/addressbook			\
 	$(DB_CFLAGS)					\
+	$(CAMEL_CFLAGS)					\
 	$(EVOLUTION_ADDRESSBOOK_CFLAGS)			\
 	$(CODE_COVERAGE_CFLAGS)				\
 	$(NULL)
@@ -23,6 +24,7 @@ libebookbackendfile_la_LIBADD =						\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
 	$(top_builddir)/libebackend/libebackend-1.2.la			\
 	$(DB_LIBS)							\
+	$(CAMEL_LIBS)							\
 	$(EVOLUTION_ADDRESSBOOK_LIBS)
 
 libebookbackendfile_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) \
diff --git a/addressbook/backends/file/e-book-backend-file-factory.c b/addressbook/backends/file/e-book-backend-file-factory.c
index e67c50f..eadd2c4 100644
--- a/addressbook/backends/file/e-book-backend-file-factory.c
+++ b/addressbook/backends/file/e-book-backend-file-factory.c
@@ -23,7 +23,6 @@
 
 #include <config.h>
 
-#include <libedata-book/e-book-backend-factory.h>
 #include "e-book-backend-file.h"
 
 #define FACTORY_NAME "local"
diff --git a/addressbook/backends/file/e-book-backend-file.c b/addressbook/backends/file/e-book-backend-file.c
index 042f894..faff8da 100644
--- a/addressbook/backends/file/e-book-backend-file.c
+++ b/addressbook/backends/file/e-book-backend-file.c
@@ -39,19 +39,6 @@
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
 
-#include "libebackend/e-dbhash.h"
-#include "libebackend/e-db3-utils.h"
-
-#include "libedataserver/e-data-server-util.h"
-#include "libedataserver/e-flag.h"
-
-#include "libebook/e-contact.h"
-
-#include "libedata-book/e-book-backend-sexp.h"
-#include "libedata-book/e-book-backend-sqlitedb.h"
-#include "libedata-book/e-data-book.h"
-#include "libedata-book/e-data-book-view.h"
-
 #include "e-book-backend-file.h"
 
 #define E_BOOK_BACKEND_FILE_GET_PRIVATE(obj) \
diff --git a/addressbook/backends/file/e-book-backend-file.h b/addressbook/backends/file/e-book-backend-file.h
index 4c64ddf..0b17244 100644
--- a/addressbook/backends/file/e-book-backend-file.h
+++ b/addressbook/backends/file/e-book-backend-file.h
@@ -26,7 +26,7 @@
 #ifndef E_BOOK_BACKEND_FILE_H
 #define E_BOOK_BACKEND_FILE_H
 
-#include <libedata-book/e-book-backend-sync.h>
+#include <libedata-book/libedata-book.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_FILE \
diff --git a/addressbook/backends/google/Makefile.am b/addressbook/backends/google/Makefile.am
index 88c3aac..5c47f72 100644
--- a/addressbook/backends/google/Makefile.am
+++ b/addressbook/backends/google/Makefile.am
@@ -18,6 +18,7 @@ libebookbackendgoogle_la_CPPFLAGS = \
 	$(GDATA_CFLAGS) \
 	$(GOA_CFLAGS) \
 	$(OAUTH_CFLAGS) \
+	$(CAMEL_CFLAGS) \
 	$(CODE_COVERAGE_CFLAGS) \
 	$(NULL)
 
@@ -36,7 +37,8 @@ libebookbackendgoogle_la_LIBADD = \
 	$(SOUP_LIBS) \
 	$(GDATA_LIBS) \
 	$(GOA_LIBS) \
-	$(OAUTH_LIBS)
+	$(OAUTH_LIBS) \
+	$(CAMEL_LIBS)
 
 libebookbackendgoogle_la_LDFLAGS = \
 	-module -avoid-version $(NO_UNDEFINED) \
diff --git a/addressbook/backends/google/e-book-backend-google-factory.c b/addressbook/backends/google/e-book-backend-google-factory.c
index 36116ac..9b09a11 100644
--- a/addressbook/backends/google/e-book-backend-google-factory.c
+++ b/addressbook/backends/google/e-book-backend-google-factory.c
@@ -21,7 +21,6 @@
 
 #include <config.h>
 
-#include <libedata-book/e-book-backend-factory.h>
 #include "e-book-backend-google.h"
 
 #define FACTORY_NAME "google"
diff --git a/addressbook/backends/google/e-book-backend-google.c b/addressbook/backends/google/e-book-backend-google.c
index 7480784..10bba92 100644
--- a/addressbook/backends/google/e-book-backend-google.c
+++ b/addressbook/backends/google/e-book-backend-google.c
@@ -26,17 +26,6 @@
 #include <errno.h>
 
 #include <glib/gi18n-lib.h>
-#include <libedataserver/e-proxy.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-authenticator.h>
-#include <libedataserver/e-source-offline.h>
-#include <libedataserver/e-source-refresh.h>
-#include <libedataserver/e-source-security.h>
-#include <libebook/e-contact.h>
-#include <libedata-book/e-data-book.h>
-#include <libedata-book/e-data-book-view.h>
-#include <libedata-book/e-book-backend-sexp.h>
-#include <libedata-book/e-book-backend-cache.h>
 #include <gdata/gdata.h>
 
 #include "e-book-backend-google.h"
diff --git a/addressbook/backends/google/e-book-backend-google.h b/addressbook/backends/google/e-book-backend-google.h
index f75d256..860d108 100644
--- a/addressbook/backends/google/e-book-backend-google.h
+++ b/addressbook/backends/google/e-book-backend-google.h
@@ -22,7 +22,7 @@
 #ifndef E_BOOK_BACKEND_GOOGLE_H
 #define E_BOOK_BACKEND_GOOGLE_H
 
-#include <libedata-book/e-book-backend.h>
+#include <libedata-book/libedata-book.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_GOOGLE \
diff --git a/addressbook/backends/ldap/Makefile.am b/addressbook/backends/ldap/Makefile.am
index 28aab52..5effe35 100644
--- a/addressbook/backends/ldap/Makefile.am
+++ b/addressbook/backends/ldap/Makefile.am
@@ -10,6 +10,7 @@ libebookbackendldap_la_CPPFLAGS = \
 	$(LDAP_CFLAGS)					\
 	$(EVOLUTION_ADDRESSBOOK_CFLAGS)			\
 	$(CODE_COVERAGE_CFLAGS)				\
+	$(CAMEL_CFLAGS)					\
 	$(NULL)
 
 libebookbackendldap_la_SOURCES =			\
@@ -25,6 +26,7 @@ libebookbackendldap_la_LIBADD =						\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
 	$(top_builddir)/libebackend/libebackend-1.2.la			\
 	$(EVOLUTION_ADDRESSBOOK_LIBS)					\
+	$(CAMEL_LIBS)							\
 	$(LDAP_LIBS)
 
 libebookbackendldap_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) \
diff --git a/addressbook/backends/ldap/e-book-backend-ldap-factory.c b/addressbook/backends/ldap/e-book-backend-ldap-factory.c
index 0620043..411f24f 100644
--- a/addressbook/backends/ldap/e-book-backend-ldap-factory.c
+++ b/addressbook/backends/ldap/e-book-backend-ldap-factory.c
@@ -25,7 +25,6 @@
 #include <config.h>
 #endif
 
-#include <libedata-book/e-book-backend-factory.h>
 #include "e-book-backend-ldap.h"
 #include "e-source-ldap.h"
 
diff --git a/addressbook/backends/ldap/e-book-backend-ldap.c b/addressbook/backends/ldap/e-book-backend-ldap.c
index 46fdf18..6085a27 100644
--- a/addressbook/backends/ldap/e-book-backend-ldap.c
+++ b/addressbook/backends/ldap/e-book-backend-ldap.c
@@ -124,16 +124,7 @@
 #include <sys/time.h>
 
 #include <glib/gi18n-lib.h>
-#include <libedataserver/e-sexp.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-offline.h>
-#include <libebook/e-contact.h>
-
-#include <libedata-book/e-book-backend-sexp.h>
-#include <libedata-book/e-data-book.h>
-#include <libedata-book/e-data-book-view.h>
-#include <libedata-book/e-book-backend-cache.h>
-#include <libedata-book/e-book-backend-summary.h>
+
 #include "e-book-backend-ldap.h"
 #include "e-source-ldap.h"
 
diff --git a/addressbook/backends/ldap/e-book-backend-ldap.h b/addressbook/backends/ldap/e-book-backend-ldap.h
index 2968717..253095f 100644
--- a/addressbook/backends/ldap/e-book-backend-ldap.h
+++ b/addressbook/backends/ldap/e-book-backend-ldap.h
@@ -25,7 +25,7 @@
 #ifndef E_BOOK_BACKEND_LDAP_H
 #define E_BOOK_BACKEND_LDAP_H
 
-#include <libedata-book/e-book-backend.h>
+#include <libedata-book/libedata-book.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_LDAP \
diff --git a/addressbook/backends/ldap/e-source-ldap.c b/addressbook/backends/ldap/e-source-ldap.c
index 4e182dc..29b61af 100644
--- a/addressbook/backends/ldap/e-source-ldap.c
+++ b/addressbook/backends/ldap/e-source-ldap.c
@@ -20,10 +20,6 @@
 
 #include <ldap.h>
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-security.h>
-
 #define E_SOURCE_LDAP_GET_PRIVATE(obj) \
 	(G_TYPE_INSTANCE_GET_PRIVATE \
 	((obj), E_TYPE_SOURCE_LDAP, ESourceLDAPPrivate))
diff --git a/addressbook/backends/ldap/e-source-ldap.h b/addressbook/backends/ldap/e-source-ldap.h
index ea9cb9f..1183461 100644
--- a/addressbook/backends/ldap/e-source-ldap.h
+++ b/addressbook/backends/ldap/e-source-ldap.h
@@ -19,7 +19,7 @@
 #ifndef E_SOURCE_LDAP_H
 #define E_SOURCE_LDAP_H
 
-#include <libedataserver/e-source-extension.h>
+#include <libedataserver/libedataserver.h>
 
 /* Standard GObject macros */
 #define E_TYPE_SOURCE_LDAP \
diff --git a/addressbook/backends/vcf/Makefile.am b/addressbook/backends/vcf/Makefile.am
index 91dc099..321dcd0 100644
--- a/addressbook/backends/vcf/Makefile.am
+++ b/addressbook/backends/vcf/Makefile.am
@@ -9,6 +9,7 @@ libebookbackendvcf_la_CPPFLAGS = \
 	-I$(top_builddir)/addressbook			\
 	$(EVOLUTION_ADDRESSBOOK_CFLAGS)			\
 	$(CODE_COVERAGE_CFLAGS)				\
+	$(CAMEL_CFLAGS)					\
 	$(NULL)
 
 libebookbackendvcf_la_SOURCES =			\
@@ -23,7 +24,8 @@ libebookbackendvcf_la_LIBADD =						\
 	$(top_builddir)/addressbook/libedata-book/libedata-book-1.2.la	\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
 	$(top_builddir)/libebackend/libebackend-1.2.la		\
-	$(EVOLUTION_ADDRESSBOOK_LIBS)
+	$(EVOLUTION_ADDRESSBOOK_LIBS) \
+	$(CAMEL_LIBS)
 
 libebookbackendvcf_la_LDFLAGS =		\
 	-module -avoid-version $(NO_UNDEFINED) \
diff --git a/addressbook/backends/vcf/e-book-backend-vcf-factory.c b/addressbook/backends/vcf/e-book-backend-vcf-factory.c
index bd1ed2f..e03b8b5 100644
--- a/addressbook/backends/vcf/e-book-backend-vcf-factory.c
+++ b/addressbook/backends/vcf/e-book-backend-vcf-factory.c
@@ -25,7 +25,6 @@
 #include <config.h>
 #endif
 
-#include <libedata-book/e-book-backend-factory.h>
 #include "e-book-backend-vcf.h"
 #include "e-source-vcf.h"
 
diff --git a/addressbook/backends/vcf/e-book-backend-vcf.c b/addressbook/backends/vcf/e-book-backend-vcf.c
index 9d76099..f115f9a 100644
--- a/addressbook/backends/vcf/e-book-backend-vcf.c
+++ b/addressbook/backends/vcf/e-book-backend-vcf.c
@@ -39,15 +39,6 @@
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
 
-#include "libedataserver/e-data-server-util.h"
-#include "libedataserver/e-flag.h"
-
-#include "libebook/e-contact.h"
-
-#include "libedata-book/e-data-book.h"
-#include "libedata-book/e-data-book-view.h"
-#include "libedata-book/e-book-backend-sexp.h"
-
 #include "e-book-backend-vcf.h"
 #include "e-source-vcf.h"
 
diff --git a/addressbook/backends/vcf/e-book-backend-vcf.h b/addressbook/backends/vcf/e-book-backend-vcf.h
index 6ee104b..af3f699 100644
--- a/addressbook/backends/vcf/e-book-backend-vcf.h
+++ b/addressbook/backends/vcf/e-book-backend-vcf.h
@@ -24,7 +24,7 @@
 #ifndef E_BOOK_BACKEND_VCF_H
 #define E_BOOK_BACKEND_VCF_H
 
-#include <libedata-book/e-book-backend-sync.h>
+#include <libedata-book/libedata-book.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_VCF \
diff --git a/addressbook/backends/vcf/e-source-vcf.c b/addressbook/backends/vcf/e-source-vcf.c
index f0b6ed1..973a4ce 100644
--- a/addressbook/backends/vcf/e-source-vcf.c
+++ b/addressbook/backends/vcf/e-source-vcf.c
@@ -18,8 +18,6 @@
 
 #include "e-source-vcf.h"
 
-#include <libedataserver/e-data-server-util.h>
-
 #define E_SOURCE_VCF_GET_PRIVATE(obj) \
 	(G_TYPE_INSTANCE_GET_PRIVATE \
 	((obj), E_TYPE_SOURCE_VCF, ESourceVCFPrivate))
diff --git a/addressbook/backends/vcf/e-source-vcf.h b/addressbook/backends/vcf/e-source-vcf.h
index d84ad4a..092e4f4 100644
--- a/addressbook/backends/vcf/e-source-vcf.h
+++ b/addressbook/backends/vcf/e-source-vcf.h
@@ -19,7 +19,7 @@
 #ifndef E_SOURCE_VCF_H
 #define E_SOURCE_VCF_H
 
-#include <libedataserver/e-source-extension.h>
+#include <libedataserver/libedataserver.h>
 
 /* Standard GObject macros */
 #define E_TYPE_SOURCE_VCF \
diff --git a/addressbook/backends/webdav/Makefile.am b/addressbook/backends/webdav/Makefile.am
index 9a4aee5..4c6d554 100644
--- a/addressbook/backends/webdav/Makefile.am
+++ b/addressbook/backends/webdav/Makefile.am
@@ -9,6 +9,7 @@ libebookbackendwebdav_la_CPPFLAGS = \
 	-I$(top_builddir)/addressbook 			\
 	$(SOUP_CFLAGS) 					\
 	$(EVOLUTION_ADDRESSBOOK_CFLAGS)			\
+	$(CAMEL_CFLAGS)					\
 	$(CODE_COVERAGE_CFLAGS)				\
 	$(NULL)
 
@@ -23,7 +24,8 @@ libebookbackendwebdav_la_LIBADD = \
 	$(top_builddir)/libedataserver/libedataserver-1.2.la \
 	$(top_builddir)/libebackend/libebackend-1.2.la \
 	$(SOUP_LIBS) \
-	$(EVOLUTION_ADDRESSBOOK_LIBS)
+	$(EVOLUTION_ADDRESSBOOK_LIBS) \
+	$(CAMEL_LIBS)
 
 libebookbackendwebdav_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED) \
 	$(CODE_COVERAGE_LDFLAGS) \
diff --git a/addressbook/backends/webdav/e-book-backend-webdav-factory.c b/addressbook/backends/webdav/e-book-backend-webdav-factory.c
index 23c0de2..5fc96c8 100644
--- a/addressbook/backends/webdav/e-book-backend-webdav-factory.c
+++ b/addressbook/backends/webdav/e-book-backend-webdav-factory.c
@@ -21,7 +21,6 @@
 
 #include <config.h>
 
-#include <libedata-book/e-book-backend-factory.h>
 #include "e-book-backend-webdav.h"
 
 #define FACTORY_NAME "webdav"
diff --git a/addressbook/backends/webdav/e-book-backend-webdav.c b/addressbook/backends/webdav/e-book-backend-webdav.c
index 1a97d7e..25248b1 100644
--- a/addressbook/backends/webdav/e-book-backend-webdav.c
+++ b/addressbook/backends/webdav/e-book-backend-webdav.c
@@ -32,20 +32,6 @@
 #include <string.h>
 #include <glib/gi18n-lib.h>
 
-#include <libedataserver/e-url.h>
-#include <libedataserver/e-flag.h>
-#include <libedataserver/e-proxy.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-offline.h>
-#include <libedataserver/e-source-webdav.h>
-#include <libebook/e-contact.h>
-#include <libebook/e-address-western.h>
-
-#include <libedata-book/e-book-backend-sexp.h>
-#include <libedata-book/e-book-backend-summary.h>
-#include <libedata-book/e-data-book.h>
-#include <libedata-book/e-data-book-view.h>
-#include <libedata-book/e-book-backend-cache.h>
 #include "e-book-backend-webdav.h"
 
 #include <libsoup/soup.h>
diff --git a/addressbook/backends/webdav/e-book-backend-webdav.h b/addressbook/backends/webdav/e-book-backend-webdav.h
index 2e84b36..7de41e1 100644
--- a/addressbook/backends/webdav/e-book-backend-webdav.h
+++ b/addressbook/backends/webdav/e-book-backend-webdav.h
@@ -18,10 +18,11 @@
  *
  * Author: Matthias Braun <matze braunis de>
  */
+
 #ifndef E_BOOK_BACKEND_WEBDAV_H
 #define E_BOOK_BACKEND_WEBDAV_H
 
-#include <libedata-book/e-book-backend.h>
+#include <libedata-book/libedata-book.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_WEBDAV \
diff --git a/addressbook/libebook/Makefile.am b/addressbook/libebook/Makefile.am
index 801f8ed..6ad03f3 100644
--- a/addressbook/libebook/Makefile.am
+++ b/addressbook/libebook/Makefile.am
@@ -1,5 +1,13 @@
 CLEANFILES=
 
+include $(top_srcdir)/glib-gen.mak
+glib_enum_headers=e-book-types.h
+glib_enum_output=e-book-enumtypes
+glib_enum_define=E_BOOK
+glib_enum_prefix=e_book
+
+ENUM_GENERATED = e-book-enumtypes.h e-book-enumtypes.c
+
 # The marshallers
 MARSHAL_GENERATED = e-book-marshal.c e-book-marshal.h
 @EVO_MARSHAL_RULE@
@@ -9,6 +17,7 @@ lib_LTLIBRARIES = libebook-1.2.la
 
 libebook_1_2_la_CPPFLAGS = \
 	$(AM_CPPFLAGS)					\
+	-DLIBEBOOK_COMPILATION				\
 	-DLOCALEDIR=\""$(localedir)"\"			\
 	-DG_LOG_DOMAIN=\"libebook\"			\
 	-I$(top_srcdir)					\
@@ -24,6 +33,7 @@ libebook_1_2_la_CPPFLAGS = \
 	$(NULL)
 
 libebook_1_2_la_SOURCES =				\
+	$(ENUM_GENERATED)				\
 	$(MARSHAL_GENERATED)				\
 	e-address-western.c				\
 	e-book-client.c					\
@@ -55,9 +65,11 @@ libebook_1_2_la_LDFLAGS = 							\
 libebookincludedir = $(privincludedir)/libebook
 
 libebookinclude_HEADERS =				\
+	libebook.h					\
 	e-address-western.h				\
 	e-book-client.h					\
 	e-book-client-view.h				\
+	e-book-enumtypes.h				\
 	e-book-query.h					\
 	e-book-view.h					\
 	e-book-types.h					\
@@ -103,6 +115,9 @@ EBook_1_2_gir_CFLAGS = $(INCLUDES) \
 		       -I$(top_builddir)/addressbook/ \
 		       -I$(top_srcdir)/addressbook/libebook \
 		       -I$(top_builddir)/addressbook/libebook \
+		       -DLIBEBOOK_COMPILATION \
+		       $(EVOLUTION_ADDRESSBOOK_CFLAGS) \
+		       $(CAMEL_CFLAGS) \
 			$(NULL)
 EBook_1_2_gir_SCANNERFLAGS = --include-uninstalled=$(top_builddir)/libedataserver/EDataServer-1.2.gir
 EBook_1_2_gir_LIBS = \
@@ -120,7 +135,7 @@ typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
 CLEANFILES += $(dist_gir_DATA) $(typelib_DATA)
 endif
 
-BUILT_SOURCES = $(MARSHAL_GENERATED)
+BUILT_SOURCES = $(ENUM_GENERATED) $(MARSHAL_GENERATED)
 CLEANFILES    += $(BUILT_SOURCES)
 DISTCLEANFILES = $(pkgconfig_DATA)
 
diff --git a/addressbook/libebook/e-address-western.c b/addressbook/libebook/e-address-western.c
index b711d80..ce57ea4 100644
--- a/addressbook/libebook/e-address-western.c
+++ b/addressbook/libebook/e-address-western.c
@@ -12,8 +12,9 @@
 #include <ctype.h>
 #include <string.h>
 
+#include <libedataserver/libedataserver.h>
+
 #include "e-address-western.h"
-#include "libedataserver/e-data-server-util.h"
 
 /* These are the keywords that will distinguish the start of an extended
  * address. */
diff --git a/addressbook/libebook/e-address-western.h b/addressbook/libebook/e-address-western.h
index 8370644..aab4c00 100644
--- a/addressbook/libebook/e-address-western.h
+++ b/addressbook/libebook/e-address-western.h
@@ -1,3 +1,7 @@
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef __E_ADDRESS_WESTERN_H__
 #define __E_ADDRESS_WESTERN_H__
 
diff --git a/addressbook/libebook/e-book-client-view-private.h b/addressbook/libebook/e-book-client-view-private.h
index 26d8a7f..668da47 100644
--- a/addressbook/libebook/e-book-client-view-private.h
+++ b/addressbook/libebook/e-book-client-view-private.h
@@ -22,8 +22,7 @@
 #ifndef E_BOOK_CLIENT_VIEW_PRIVATE_H
 #define E_BOOK_CLIENT_VIEW_PRIVATE_H
 
-#include "e-book-client.h"
-#include "e-book-view.h"
+#include <libebook/libebook.h>
 
 struct _EGdbusBookView;
 
diff --git a/addressbook/libebook/e-book-client-view.c b/addressbook/libebook/e-book-client-view.c
index 0c53524..1dc97bd 100644
--- a/addressbook/libebook/e-book-client-view.c
+++ b/addressbook/libebook/e-book-client-view.c
@@ -26,12 +26,12 @@
 
 #include <glib/gi18n-lib.h>
 
+#include <libedataserver/libedataserver.h>
+
 #include "e-book-client.h"
 #include "e-book-client-view.h"
 #include "e-book-client-view-private.h"
 #include "e-book-marshal.h"
-#include "libedata-book/e-data-book-types.h"
-#include "libedataserver/e-data-server-util.h"
 #include "e-gdbus-book-view.h"
 
 #define E_BOOK_CLIENT_VIEW_GET_PRIVATE(obj) \
diff --git a/addressbook/libebook/e-book-client-view.h b/addressbook/libebook/e-book-client-view.h
index bbf93af..0277efc 100644
--- a/addressbook/libebook/e-book-client-view.h
+++ b/addressbook/libebook/e-book-client-view.h
@@ -18,6 +18,10 @@
  *
  */
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef E_BOOK_CLIENT_VIEW_H
 #define E_BOOK_CLIENT_VIEW_H
 
diff --git a/addressbook/libebook/e-book-client.c b/addressbook/libebook/e-book-client.c
index 01c4ce3..3400605 100644
--- a/addressbook/libebook/e-book-client.c
+++ b/addressbook/libebook/e-book-client.c
@@ -28,9 +28,8 @@
 
 #include <gconf/gconf-client.h>
 
-#include "libedataserver/e-data-server-util.h"
-#include "libedataserver/e-client-private.h"
-#include "libedataserver/e-source-registry.h"
+#include <libedataserver/libedataserver.h>
+#include <libedataserver/e-client-private.h>
 
 #include "e-book-client.h"
 #include "e-contact.h"
diff --git a/addressbook/libebook/e-book-client.h b/addressbook/libebook/e-book-client.h
index aaf592c..d0c3b79 100644
--- a/addressbook/libebook/e-book-client.h
+++ b/addressbook/libebook/e-book-client.h
@@ -19,13 +19,15 @@
  *
  */
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef E_BOOK_CLIENT_H
 #define E_BOOK_CLIENT_H
 
-#include <gio/gio.h>
+#include <libedataserver/libedataserver.h>
 
-#include <libedataserver/e-client.h>
-#include <libedataserver/e-source-registry.h>
 #include <libebook/e-book-client-view.h>
 #include <libebook/e-contact.h>
 
diff --git a/addressbook/libebook/e-book-query.c b/addressbook/libebook/e-book-query.c
index 7f12879..0a0f273 100644
--- a/addressbook/libebook/e-book-query.c
+++ b/addressbook/libebook/e-book-query.c
@@ -1,13 +1,14 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <config.h>
-
 #include "e-book-query.h"
-#include "libedataserver/e-sexp.h"
+
+#include <config.h>
 
 #include <stdarg.h>
 #include <string.h>
 
+#include <libedataserver/libedataserver.h>
+
 typedef enum {
 	E_BOOK_QUERY_TYPE_AND,
 	E_BOOK_QUERY_TYPE_OR,
diff --git a/addressbook/libebook/e-book-query.h b/addressbook/libebook/e-book-query.h
index 12dfcc1..40c0b5c 100644
--- a/addressbook/libebook/e-book-query.h
+++ b/addressbook/libebook/e-book-query.h
@@ -1,4 +1,8 @@
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef __E_BOOK_QUERY_H__
 #define __E_BOOK_QUERY_H__
 
diff --git a/addressbook/libebook/e-book-types.h b/addressbook/libebook/e-book-types.h
index 99d62ac..f98232c 100644
--- a/addressbook/libebook/e-book-types.h
+++ b/addressbook/libebook/e-book-types.h
@@ -9,6 +9,10 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef __E_BOOK_TYPES_H__
 #define __E_BOOK_TYPES_H__
 
@@ -48,6 +52,34 @@ typedef enum {
 	E_BOOK_ERROR_NOT_SUPPORTED
 } EBookStatus;
 
+typedef enum {
+	E_DATA_BOOK_STATUS_SUCCESS,
+	E_DATA_BOOK_STATUS_BUSY,
+	E_DATA_BOOK_STATUS_REPOSITORY_OFFLINE,
+	E_DATA_BOOK_STATUS_PERMISSION_DENIED,
+	E_DATA_BOOK_STATUS_CONTACT_NOT_FOUND,
+	E_DATA_BOOK_STATUS_CONTACTID_ALREADY_EXISTS,
+	E_DATA_BOOK_STATUS_AUTHENTICATION_FAILED,
+	E_DATA_BOOK_STATUS_AUTHENTICATION_REQUIRED,
+	E_DATA_BOOK_STATUS_UNSUPPORTED_FIELD,
+	E_DATA_BOOK_STATUS_UNSUPPORTED_AUTHENTICATION_METHOD,
+	E_DATA_BOOK_STATUS_TLS_NOT_AVAILABLE,
+	E_DATA_BOOK_STATUS_NO_SUCH_BOOK,
+	E_DATA_BOOK_STATUS_BOOK_REMOVED,
+	E_DATA_BOOK_STATUS_OFFLINE_UNAVAILABLE,
+	E_DATA_BOOK_STATUS_SEARCH_SIZE_LIMIT_EXCEEDED,
+	E_DATA_BOOK_STATUS_SEARCH_TIME_LIMIT_EXCEEDED,
+	E_DATA_BOOK_STATUS_INVALID_QUERY,
+	E_DATA_BOOK_STATUS_QUERY_REFUSED,
+	E_DATA_BOOK_STATUS_COULD_NOT_CANCEL,
+	E_DATA_BOOK_STATUS_OTHER_ERROR,
+	E_DATA_BOOK_STATUS_INVALID_SERVER_VERSION,
+	E_DATA_BOOK_STATUS_NO_SPACE,
+	E_DATA_BOOK_STATUS_INVALID_ARG,
+	E_DATA_BOOK_STATUS_NOT_SUPPORTED,
+	E_DATA_BOOK_STATUS_NOT_OPENED
+} EDataBookStatus;
+
 #ifndef E_BOOK_DISABLE_DEPRECATED
 #define E_BOOK_ERROR_CORBA_EXCEPTION E_BOOK_ERROR_DBUS_EXCEPTION
 #endif
diff --git a/addressbook/libebook/e-book-view.c b/addressbook/libebook/e-book-view.c
index 2d5c0af..f24fc26 100644
--- a/addressbook/libebook/e-book-view.c
+++ b/addressbook/libebook/e-book-view.c
@@ -23,8 +23,8 @@
 #include "e-book.h"
 #include "e-book-view.h"
 #include "e-book-view-private.h"
+#include "e-book-enumtypes.h"
 #include "e-book-marshal.h"
-#include "libedata-book/e-data-book-types.h"
 #include "e-gdbus-book-view.h"
 
 G_DEFINE_TYPE (EBookView, e_book_view, G_TYPE_OBJECT);
diff --git a/addressbook/libebook/e-book-view.h b/addressbook/libebook/e-book-view.h
index 3c18b0b..cd98cc1 100644
--- a/addressbook/libebook/e-book-view.h
+++ b/addressbook/libebook/e-book-view.h
@@ -8,6 +8,10 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef __E_BOOK_VIEW_H__
 #define __E_BOOK_VIEW_H__
 
diff --git a/addressbook/libebook/e-book.c b/addressbook/libebook/e-book.c
index caa16b4..e1d9423 100644
--- a/addressbook/libebook/e-book.c
+++ b/addressbook/libebook/e-book.c
@@ -39,8 +39,6 @@
 #include <string.h>
 #include <glib/gi18n-lib.h>
 #include <gconf/gconf-client.h>
-#include <libedataserver/e-source-registry.h>
-#include <libedataserver/e-data-server-util.h>
 #include "e-book.h"
 #include "e-error.h"
 #include "e-contact.h"
diff --git a/addressbook/libebook/e-book.h b/addressbook/libebook/e-book.h
index 9f13dfb..7782d25 100644
--- a/addressbook/libebook/e-book.h
+++ b/addressbook/libebook/e-book.h
@@ -8,14 +8,18 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef __E_BOOK_H__
 #define __E_BOOK_H__
 
 /* e-book deprecated since 3.2, use e-book-client instead */
 #ifndef E_BOOK_DISABLE_DEPRECATED
 
-#include <libedataserver/e-list.h>
-#include <libedataserver/e-source-registry.h>
+#include <libedataserver/libedataserver.h>
+
 #include <libebook/e-contact.h>
 #include <libebook/e-book-query.h>
 #include <libebook/e-book-view.h>
diff --git a/addressbook/libebook/e-contact.h b/addressbook/libebook/e-contact.h
index 71c2fe2..bde971c 100644
--- a/addressbook/libebook/e-contact.h
+++ b/addressbook/libebook/e-contact.h
@@ -6,6 +6,10 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef __E_CONTACT_H__
 #define __E_CONTACT_H__
 
diff --git a/addressbook/libebook/e-destination.h b/addressbook/libebook/e-destination.h
index 32df37a..197733f 100644
--- a/addressbook/libebook/e-destination.h
+++ b/addressbook/libebook/e-destination.h
@@ -25,6 +25,10 @@
  * USA.
  */
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef __E_DESTINATION_H__
 #define __E_DESTINATION_H__
 
diff --git a/addressbook/libebook/e-error.h b/addressbook/libebook/e-error.h
index 8439a36..16666a0 100644
--- a/addressbook/libebook/e-error.h
+++ b/addressbook/libebook/e-error.h
@@ -1,3 +1,7 @@
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 /**
  * e_return_error_if_fail:
  *
diff --git a/addressbook/libebook/e-name-western.h b/addressbook/libebook/e-name-western.h
index fe2dacf..e2515bf 100644
--- a/addressbook/libebook/e-name-western.h
+++ b/addressbook/libebook/e-name-western.h
@@ -1,6 +1,10 @@
 #ifndef __E_NAME_WESTERN_H__
 #define __E_NAME_WESTERN_H__
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #include <glib.h>
 
 G_BEGIN_DECLS
diff --git a/addressbook/libebook/e-vcard.h b/addressbook/libebook/e-vcard.h
index f3aea87..66e3c8b 100644
--- a/addressbook/libebook/e-vcard.h
+++ b/addressbook/libebook/e-vcard.h
@@ -20,6 +20,10 @@
  * Author: Chris Toshok (toshok ximian com)
  */
 
+#if !defined (__LIBEBOOK_H_INSIDE__) && !defined (LIBEBOOK_COMPILATION)
+#error "Only <libebook/libebook.h> should be included directly."
+#endif
+
 #ifndef _EVCARD_H
 #define _EVCARD_H
 
diff --git a/addressbook/libebook/libebook.h b/addressbook/libebook/libebook.h
new file mode 100644
index 0000000..a52e7f8
--- /dev/null
+++ b/addressbook/libebook/libebook.h
@@ -0,0 +1,42 @@
+/*
+ * libebook.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#ifndef LIBEBOOK_H
+#define LIBEBOOK_H
+
+#define __LIBEBOOK_H_INSIDE__
+
+#include <libedataserver/libedataserver.h>
+
+#include <libebook/e-address-western.h>
+#include <libebook/e-book-client-view.h>
+#include <libebook/e-book-client.h>
+#include <libebook/e-book-enumtypes.h>
+#include <libebook/e-book-query.h>
+#include <libebook/e-book-types.h>
+#include <libebook/e-book-view.h>
+#include <libebook/e-book.h>
+#include <libebook/e-contact.h>
+#include <libebook/e-destination.h>
+#include <libebook/e-name-western.h>
+#include <libebook/e-vcard.h>
+
+#undef __LIBEBOOK_H_INSIDE__
+
+#endif /* LIBEBOOK_H */
+
diff --git a/addressbook/libedata-book/Makefile.am b/addressbook/libedata-book/Makefile.am
index 4b99fe6..0b70f44 100644
--- a/addressbook/libedata-book/Makefile.am
+++ b/addressbook/libedata-book/Makefile.am
@@ -1,16 +1,9 @@
-include $(top_srcdir)/glib-gen.mak
-glib_enum_headers=e-data-book-types.h
-glib_enum_output=e-data-book-enumtypes
-glib_enum_define=E_DATA_BOOK
-glib_enum_prefix=e_data_book
-
-ENUM_GENERATED = e-data-book-enumtypes.h e-data-book-enumtypes.c
-
 # The library
 lib_LTLIBRARIES = libedata-book-1.2.la
 
 libedata_book_1_2_la_CPPFLAGS = \
 	$(AM_CPPFLAGS) \
+	-DLIBEDATA_BOOK_COMPILATION \
 	-DG_LOG_DOMAIN=\"libedata-book\" \
 	-DBACKENDDIR=\"$(ebook_backenddir)\" \
 	-I$(top_srcdir) \
@@ -19,6 +12,7 @@ libedata_book_1_2_la_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_builddir)/addressbook \
 	$(DB_CFLAGS) \
+	$(CAMEL_CFLAGS) \
 	$(SQLITE3_CFLAGS) \
 	$(GOA_CFLAGS) \
 	$(EVOLUTION_ADDRESSBOOK_CFLAGS) \
@@ -26,7 +20,6 @@ libedata_book_1_2_la_CPPFLAGS = \
 	$(NULL)
 
 libedata_book_1_2_la_SOURCES = \
-	$(ENUM_GENERATED) \
 	e-book-backend-factory.c \
 	e-book-backend-sexp.c \
 	e-book-backend-summary.c \
@@ -46,6 +39,7 @@ libedata_book_1_2_la_LIBADD = \
 	$(top_builddir)/libedataserver/libedataserver-1.2.la \
 	$(top_builddir)/libebackend/libebackend-1.2.la \
 	$(DB_LIBS) \
+	$(CAMEL_LIBS) \
 	$(SQLITE3_LIBS) \
 	$(GOA_LIBS) \
 	$(EVOLUTION_ADDRESSBOOK_LIBS)
@@ -58,13 +52,13 @@ libedata_book_1_2_la_LDFLAGS = \
 libedata_bookincludedir = $(privincludedir)/libedata-book
 
 libedata_bookinclude_HEADERS = \
+	libedata-book.h \
 	e-book-backend-factory.h \
 	e-book-backend-sexp.h \
 	e-book-backend-summary.h \
 	e-book-backend-sync.h \
 	e-book-backend.h \
 	e-data-book-factory.h \
-	e-data-book-types.h \
 	e-data-book-view.h \
 	e-data-book.h \
 	e-book-backend-cache.h \
@@ -88,8 +82,6 @@ e_book_backend_sqlitedb_test_LDADD = \
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libedata-book-$(API_VERSION).pc
 
-BUILT_SOURCES = $(ENUM_GENERATED)
-CLEANFILES = $(BUILT_SOURCES)
 DISTCLEANFILES = $(pkgconfig_DATA)
 
 EXTRA_DIST = \
diff --git a/addressbook/libedata-book/e-book-backend-cache.c b/addressbook/libedata-book/e-book-backend-cache.c
index 31484e0..5e09b43 100644
--- a/addressbook/libedata-book/e-book-backend-cache.c
+++ b/addressbook/libedata-book/e-book-backend-cache.c
@@ -24,7 +24,7 @@
 #endif
 
 #include <string.h>
-#include <libedataserver/e-data-server-util.h>
+
 #include "e-book-backend-cache.h"
 #include "e-book-backend-sexp.h"
 
diff --git a/addressbook/libedata-book/e-book-backend-cache.h b/addressbook/libedata-book/e-book-backend-cache.h
index a2e82d6..35b3d0f 100644
--- a/addressbook/libedata-book/e-book-backend-cache.h
+++ b/addressbook/libedata-book/e-book-backend-cache.h
@@ -20,11 +20,15 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef E_BOOK_BACKEND_CACHE_H
 #define E_BOOK_BACKEND_CACHE_H
 
-#include "libebackend/e-file-cache.h"
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
+#include <libebackend/libebackend.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_CACHE \
diff --git a/addressbook/libedata-book/e-book-backend-db-cache.c b/addressbook/libedata-book/e-book-backend-db-cache.c
index 7c52cc4..9b9c055 100644
--- a/addressbook/libedata-book/e-book-backend-db-cache.c
+++ b/addressbook/libedata-book/e-book-backend-db-cache.c
@@ -23,12 +23,11 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <libedataserver/e-data-server-util.h>
 #include "e-book-backend-db-cache.h"
 #include "e-book-backend.h"
 #include "e-book-backend-sexp.h"
 
-void
+static void
 string_to_dbt (const gchar *str,
                DBT *dbt)
 {
diff --git a/addressbook/libedata-book/e-book-backend-db-cache.h b/addressbook/libedata-book/e-book-backend-db-cache.h
index eedb48c..58cf044 100644
--- a/addressbook/libedata-book/e-book-backend-db-cache.h
+++ b/addressbook/libedata-book/e-book-backend-db-cache.h
@@ -19,16 +19,19 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef E_BOOK_BACKEND_DB_CACHE_H
 #define E_BOOK_BACKEND_DB_CACHE_H
 
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 #include "db.h"
 
 G_BEGIN_DECLS
 
 EContact * e_book_backend_db_cache_get_contact (DB *db, const gchar *uid);
-void string_to_dbt (const gchar *str, DBT *dbt);
 gchar *e_book_backend_db_cache_get_filename (DB *db);
 void e_book_backend_db_cache_set_filename (DB *db, const gchar *filename);
 gboolean e_book_backend_db_cache_add_contact (DB *db,
diff --git a/addressbook/libedata-book/e-book-backend-factory.h b/addressbook/libedata-book/e-book-backend-factory.h
index 57042a8..7ae50aa 100644
--- a/addressbook/libedata-book/e-book-backend-factory.h
+++ b/addressbook/libedata-book/e-book-backend-factory.h
@@ -20,10 +20,14 @@
  * Author: Chris Toshok <toshok ximian com>
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef E_BOOK_BACKEND_FACTORY_H
 #define E_BOOK_BACKEND_FACTORY_H
 
-#include <libebackend/e-backend-factory.h>
+#include <libebackend/libebackend.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_FACTORY \
diff --git a/addressbook/libedata-book/e-book-backend-sexp.c b/addressbook/libedata-book/e-book-backend-sexp.c
index 4964eb5..b5416ba 100644
--- a/addressbook/libedata-book/e-book-backend-sexp.c
+++ b/addressbook/libedata-book/e-book-backend-sexp.c
@@ -19,8 +19,7 @@
  */
 
 #include <string.h>
-#include "libedataserver/e-sexp.h"
-#include "libedataserver/e-data-server-util.h"
+
 #include "e-book-backend-sexp.h"
 
 #define E_BOOK_BACKEND_SEXP_GET_PRIVATE(obj) \
diff --git a/addressbook/libedata-book/e-book-backend-sexp.h b/addressbook/libedata-book/e-book-backend-sexp.h
index f0a2c38..d511ba0 100644
--- a/addressbook/libedata-book/e-book-backend-sexp.h
+++ b/addressbook/libedata-book/e-book-backend-sexp.h
@@ -21,11 +21,14 @@
  * 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef E_BOOK_BACKEND_SEXP_H
 #define E_BOOK_BACKEND_SEXP_H
 
-#include <libebook/e-contact.h>
-#include <libedata-book/e-data-book-types.h>
+#include <libebook/libebook.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_SEXP \
diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb-test.c b/addressbook/libedata-book/e-book-backend-sqlitedb-test.c
index 7e703bb..1d26528 100644
--- a/addressbook/libedata-book/e-book-backend-sqlitedb-test.c
+++ b/addressbook/libedata-book/e-book-backend-sqlitedb-test.c
@@ -20,9 +20,7 @@
  */
 
 #include <config.h>
-#include <glib.h>
-#include <glib-object.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
 #include "e-book-backend-sqlitedb.h"
 
 static GMainLoop *main_loop;
diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb.c b/addressbook/libedata-book/e-book-backend-sqlitedb.c
index 0fdc869..7968a31 100644
--- a/addressbook/libedata-book/e-book-backend-sqlitedb.c
+++ b/addressbook/libedata-book/e-book-backend-sqlitedb.c
@@ -28,10 +28,9 @@
 #include <glib/gstdio.h>
 
 #include <sqlite3.h>
+#include <libebackend/libebackend.h>
 
-#include "libedataserver/e-sexp.h"
-#include "libedata-book/e-book-backend-sexp.h"
-#include "libebackend/e-sqlite3-vfs.h"
+#include "e-book-backend-sexp.h"
 #include "e-book-backend-sqlitedb.h"
 
 #define E_BOOK_BACKEND_SQLITEDB_GET_PRIVATE(obj) \
diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb.h b/addressbook/libedata-book/e-book-backend-sqlitedb.h
index 77f18be..d46edc3 100644
--- a/addressbook/libedata-book/e-book-backend-sqlitedb.h
+++ b/addressbook/libedata-book/e-book-backend-sqlitedb.h
@@ -19,12 +19,14 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef E_BOOK_BACKEND_SQLITEDB_H
 #define E_BOOK_BACKEND_SQLITEDB_H
 
-#include <glib.h>
-#include <glib-object.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_SQLITEDB \
diff --git a/addressbook/libedata-book/e-book-backend-summary.c b/addressbook/libedata-book/e-book-backend-summary.c
index 2553a84..aea33b4 100644
--- a/addressbook/libedata-book/e-book-backend-summary.c
+++ b/addressbook/libedata-book/e-book-backend-summary.c
@@ -34,11 +34,6 @@
 
 #include <glib/gstdio.h>
 
-#include "libedataserver/e-sexp.h"
-#include "libedataserver/e-data-server-util.h"
-
-#include "libebook/e-contact.h"
-
 #include "e-book-backend-summary.h"
 
 #define E_BOOK_BACKEND_SUMMARY_GET_PRIVATE(obj) \
diff --git a/addressbook/libedata-book/e-book-backend-summary.h b/addressbook/libedata-book/e-book-backend-summary.h
index a02d296..c914616 100644
--- a/addressbook/libedata-book/e-book-backend-summary.h
+++ b/addressbook/libedata-book/e-book-backend-summary.h
@@ -21,11 +21,14 @@
  * 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef E_BOOK_BACKEND_SUMMARY_H
 #define E_BOOK_BACKEND_SUMMARY_H
 
-#include <libedata-book/e-data-book-types.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BOOK_BACKEND_SUMMARY \
diff --git a/addressbook/libedata-book/e-book-backend-sync.c b/addressbook/libedata-book/e-book-backend-sync.c
index 53d1538..f786d58 100644
--- a/addressbook/libedata-book/e-book-backend-sync.c
+++ b/addressbook/libedata-book/e-book-backend-sync.c
@@ -10,8 +10,9 @@
 #include <config.h>
 #endif
 
+#include <libedataserver/libedataserver.h>
+
 #include "e-book-backend-sync.h"
-#include "libedataserver/e-data-server-util.h"
 
 G_DEFINE_TYPE (EBookBackendSync, e_book_backend_sync, E_TYPE_BOOK_BACKEND)
 
diff --git a/addressbook/libedata-book/e-book-backend-sync.h b/addressbook/libedata-book/e-book-backend-sync.h
index 770e5d8..3f2d623 100644
--- a/addressbook/libedata-book/e-book-backend-sync.h
+++ b/addressbook/libedata-book/e-book-backend-sync.h
@@ -2,10 +2,13 @@
 /*
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef __E_BOOK_BACKEND_SYNC_H__
 #define __E_BOOK_BACKEND_SYNC_H__
 
-#include <libedata-book/e-data-book-types.h>
 #include <libedata-book/e-book-backend.h>
 
 G_BEGIN_DECLS
@@ -17,6 +20,8 @@ G_BEGIN_DECLS
 #define E_IS_BOOK_BACKEND_SYNC_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), E_TYPE_BOOK_BACKEND_SYNC))
 #define E_BOOK_BACKEND_SYNC_GET_CLASS(k) (G_TYPE_INSTANCE_GET_CLASS ((k), E_TYPE_BOOK_BACKEND_SYNC, EBookBackendSyncClass))
 
+typedef struct _EBookBackendSync EBookBackendSync;
+typedef struct _EBookBackendSyncClass EBookBackendSyncClass;
 typedef struct _EBookBackendSyncPrivate EBookBackendSyncPrivate;
 
 struct _EBookBackendSync {
diff --git a/addressbook/libedata-book/e-book-backend.c b/addressbook/libedata-book/e-book-backend.c
index 0b751e2..2be447d 100644
--- a/addressbook/libedata-book/e-book-backend.c
+++ b/addressbook/libedata-book/e-book-backend.c
@@ -10,8 +10,6 @@
 
 #include <glib/gi18n-lib.h>
 
-#include <libedataserver/e-data-server-util.h>
-
 #include "e-data-book-view.h"
 #include "e-data-book.h"
 #include "e-book-backend.h"
diff --git a/addressbook/libedata-book/e-book-backend.h b/addressbook/libedata-book/e-book-backend.h
index 919a0a9..d735ca9 100644
--- a/addressbook/libedata-book/e-book-backend.h
+++ b/addressbook/libedata-book/e-book-backend.h
@@ -19,16 +19,18 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef __E_BOOK_BACKEND_H__
 #define __E_BOOK_BACKEND_H__
 
-#include <gio/gio.h>
+#include <libebook/libebook.h>
+#include <libebackend/libebackend.h>
 
-#include <libebook/e-contact.h>
-#include <libebackend/e-backend.h>
-#include <libedata-book/e-data-book-types.h>
 #include <libedata-book/e-data-book.h>
-#include <libedataserver/e-source-registry.h>
+#include <libedata-book/e-data-book-view.h>
 
 G_BEGIN_DECLS
 
@@ -131,6 +133,8 @@ G_BEGIN_DECLS
  **/
 #define BOOK_BACKEND_PROPERTY_REVISION			"revision"
 
+typedef struct _EBookBackend EBookBackend;
+typedef struct _EBookBackendClass EBookBackendClass;
 typedef struct _EBookBackendPrivate EBookBackendPrivate;
 
 struct _EBookBackend {
diff --git a/addressbook/libedata-book/e-data-book-factory.c b/addressbook/libedata-book/e-data-book-factory.c
index f421cdf..7d8f845 100644
--- a/addressbook/libedata-book/e-data-book-factory.c
+++ b/addressbook/libedata-book/e-data-book-factory.c
@@ -31,9 +31,6 @@
 #include <goa/goa.h>
 #endif
 
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserver/e-source-goa.h>
-
 #include "e-book-backend.h"
 #include "e-book-backend-factory.h"
 #include "e-data-book.h"
diff --git a/addressbook/libedata-book/e-data-book-factory.h b/addressbook/libedata-book/e-data-book-factory.h
index 2c4de6a..00142bb 100644
--- a/addressbook/libedata-book/e-data-book-factory.h
+++ b/addressbook/libedata-book/e-data-book-factory.h
@@ -18,11 +18,14 @@
  * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef E_DATA_BOOK_FACTORY_H
 #define E_DATA_BOOK_FACTORY_H
 
-#include <libebackend/e-data-factory.h>
-#include <libedataserver/e-source-registry.h>
+#include <libebackend/libebackend.h>
 
 /* Standard GObject macros */
 #define E_TYPE_DATA_BOOK_FACTORY \
diff --git a/addressbook/libedata-book/e-data-book-view.c b/addressbook/libedata-book/e-data-book-view.c
index 900015a..4ce921b 100644
--- a/addressbook/libedata-book/e-data-book-view.c
+++ b/addressbook/libedata-book/e-data-book-view.c
@@ -25,10 +25,12 @@
 #endif
 
 #include <string.h>
-#include <libebook/e-contact.h>
-#include "libedataserver/e-data-server-util.h"
+
 #include "e-data-book-view.h"
 
+#include "e-data-book.h"
+#include "e-book-backend.h"
+
 #include "e-gdbus-book-view.h"
 
 #define E_DATA_BOOK_VIEW_GET_PRIVATE(obj) \
diff --git a/addressbook/libedata-book/e-data-book-view.h b/addressbook/libedata-book/e-data-book-view.h
index 7f6b6d1..6d6e449 100644
--- a/addressbook/libedata-book/e-data-book-view.h
+++ b/addressbook/libedata-book/e-data-book-view.h
@@ -21,14 +21,15 @@
  * Author: Ross Burton <ross linux intel com>
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef __E_DATA_BOOK_VIEW_H__
 #define __E_DATA_BOOK_VIEW_H__
 
-#include <gio/gio.h>
-#include <libebook/e-contact.h>
-#include <libebook/e-book-client-view.h>
-#include <libedata-book/e-data-book-types.h>
-#include <libedata-book/e-book-backend.h>
+#include <libebook/libebook.h>
+
 #include <libedata-book/e-book-backend-sexp.h>
 
 G_BEGIN_DECLS
@@ -40,6 +41,11 @@ G_BEGIN_DECLS
 #define E_IS_DATA_BOOK_VIEW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TYPE_DATA_BOOK_VIEW))
 #define E_DATA_BOOK_VIEW_GET_CLASS(k) (G_TYPE_INSTANCE_GET_CLASS ((obj), E_TYPE_DATA_BOOK_VIEW, EDataBookView))
 
+struct _EDataBook;
+struct _EBookBackend;
+
+typedef struct _EDataBookView EDataBookView;
+typedef struct _EDataBookViewClass EDataBookViewClass;
 typedef struct _EDataBookViewPrivate EDataBookViewPrivate;
 
 struct _EDataBookView {
@@ -52,12 +58,12 @@ struct _EDataBookViewClass {
 };
 
 GType			e_data_book_view_get_type		(void);
-EDataBookView *		e_data_book_view_new			(EDataBook *book, const gchar *card_query, EBookBackendSExp *card_sexp);
+EDataBookView *		e_data_book_view_new			(struct _EDataBook *book, const gchar *card_query, EBookBackendSExp *card_sexp);
 guint			e_data_book_view_register_gdbus_object	(EDataBookView *query, GDBusConnection *connection, const gchar *object_path, GError **error);
 
 const gchar *		e_data_book_view_get_card_query		(EDataBookView *book_view);
 EBookBackendSExp *	e_data_book_view_get_card_sexp		(EDataBookView *book_view);
-EBookBackend *		e_data_book_view_get_backend		(EDataBookView *book_view);
+struct _EBookBackend *	e_data_book_view_get_backend		(EDataBookView *book_view);
 EBookClientViewFlags    e_data_book_view_get_flags              (EDataBookView *book_view);
 void			e_data_book_view_notify_update		(EDataBookView *book_view, const EContact *contact);
 
diff --git a/addressbook/libedata-book/e-data-book.c b/addressbook/libedata-book/e-data-book.c
index 54cc379..95a5a6e 100644
--- a/addressbook/libedata-book/e-data-book.c
+++ b/addressbook/libedata-book/e-data-book.c
@@ -25,13 +25,12 @@
 #include <glib/gi18n.h>
 #include <gio/gio.h>
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-operation-pool.h>
+#include <libebook/libebook.h>
 
-#include "e-data-book-enumtypes.h"
 #include "e-data-book-factory.h"
 #include "e-data-book.h"
 #include "e-data-book-view.h"
+#include "e-book-backend.h"
 #include "e-book-backend-sexp.h"
 
 #include "e-gdbus-book.h"
diff --git a/addressbook/libedata-book/e-data-book.h b/addressbook/libedata-book/e-data-book.h
index 8cf1d98..15845c5 100644
--- a/addressbook/libedata-book/e-data-book.h
+++ b/addressbook/libedata-book/e-data-book.h
@@ -20,15 +20,14 @@
  * Author: Ross Burton <ross linux intel com>
  */
 
+#if !defined (__LIBEDATA_BOOK_H_INSIDE__) && !defined (LIBEDATA_BOOK_COMPILATION)
+#error "Only <libedata-book/libedata-book.h> should be included directly."
+#endif
+
 #ifndef E_DATA_BOOK_H
 #define E_DATA_BOOK_H
 
-#include <gio/gio.h>
-
-#include <libedataserver/e-source.h>
-
-#include "e-book-backend.h"
-#include "e-data-book-types.h"
+#include <libedataserver/libedataserver.h>
 
 G_BEGIN_DECLS
 
@@ -39,6 +38,10 @@ G_BEGIN_DECLS
 #define E_IS_DATA_BOOK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_TYPE_DATA_BOOK))
 #define E_DATA_BOOK_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), E_TYPE_DATA_BOOK, EDataBookClass))
 
+struct _EBookBackend;
+
+typedef struct _EDataBook EDataBook;
+typedef struct _EDataBookClass EDataBookClass;
 typedef struct _EDataBookPrivate EDataBookPrivate;
 
 struct _EDataBook {
@@ -125,8 +128,9 @@ const gchar *e_data_book_status_to_string (EDataBookStatus status);
 	} G_STMT_END
 
 GType		e_data_book_get_type				(void);
-EDataBook *	e_data_book_new					(EBookBackend *backend);
-EBookBackend *	e_data_book_get_backend				(EDataBook *book);
+EDataBook *	e_data_book_new					(struct _EBookBackend *backend);
+struct _EBookBackend *
+		e_data_book_get_backend				(EDataBook *book);
 
 guint		e_data_book_register_gdbus_object		(EDataBook *cal, GDBusConnection *connection, const gchar *object_path, GError **error);
 
diff --git a/addressbook/libedata-book/libedata-book.h b/addressbook/libedata-book/libedata-book.h
new file mode 100644
index 0000000..ecd52ec
--- /dev/null
+++ b/addressbook/libedata-book/libedata-book.h
@@ -0,0 +1,42 @@
+/*
+ * libedata-book.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#ifndef LIBEDATA_BOOK_H
+#define LIBEDATA_BOOK_H
+
+#define __LIBEDATA_BOOK_H_INSIDE__
+
+#include <libebook/libebook.h>
+#include <libebackend/libebackend.h>
+
+#include <libedata-book/e-book-backend-cache.h>
+#include <libedata-book/e-book-backend-db-cache.h>
+#include <libedata-book/e-book-backend-factory.h>
+#include <libedata-book/e-book-backend-sexp.h>
+#include <libedata-book/e-book-backend-sqlitedb.h>
+#include <libedata-book/e-book-backend-summary.h>
+#include <libedata-book/e-book-backend-sync.h>
+#include <libedata-book/e-book-backend.h>
+#include <libedata-book/e-data-book-factory.h>
+#include <libedata-book/e-data-book-view.h>
+#include <libedata-book/e-data-book.h>
+
+#undef __LIBEDATA_BOOK_H_INSIDE__
+
+#endif /* LIBEDATA_BOOK_H */
+
diff --git a/addressbook/libegdbus/e-gdbus-book-factory.c b/addressbook/libegdbus/e-gdbus-book-factory.c
index d567d0d..fbb0cf0 100644
--- a/addressbook/libegdbus/e-gdbus-book-factory.c
+++ b/addressbook/libegdbus/e-gdbus-book-factory.c
@@ -22,9 +22,6 @@
 #include <stdio.h>
 #include <gio/gio.h>
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-gdbus-marshallers.h>
-
 #include "e-gdbus-book-factory.h"
 
 #define GDBUS_BOOK_FACTORY_INTERFACE_NAME "org.gnome.evolution.dataserver.AddressBookFactory"
diff --git a/addressbook/libegdbus/e-gdbus-book-factory.h b/addressbook/libegdbus/e-gdbus-book-factory.h
index 588de6c..43dc84d 100644
--- a/addressbook/libegdbus/e-gdbus-book-factory.h
+++ b/addressbook/libegdbus/e-gdbus-book-factory.h
@@ -24,7 +24,7 @@
 
 #include <gio/gio.h>
 
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedataserver/libedataserver.h>
 
 G_BEGIN_DECLS
 
diff --git a/addressbook/libegdbus/e-gdbus-book-view.c b/addressbook/libegdbus/e-gdbus-book-view.c
index 43d8bba..a78ef99 100644
--- a/addressbook/libegdbus/e-gdbus-book-view.c
+++ b/addressbook/libegdbus/e-gdbus-book-view.c
@@ -22,9 +22,6 @@
 #include <stdio.h>
 #include <gio/gio.h>
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-gdbus-marshallers.h>
-
 #include "e-gdbus-book-view.h"
 
 #define GDBUS_BOOK_VIEW_INTERFACE_NAME "org.gnome.evolution.dataserver.AddressBookView"
diff --git a/addressbook/libegdbus/e-gdbus-book-view.h b/addressbook/libegdbus/e-gdbus-book-view.h
index ea0c06b..ddcb694 100644
--- a/addressbook/libegdbus/e-gdbus-book-view.h
+++ b/addressbook/libegdbus/e-gdbus-book-view.h
@@ -24,7 +24,7 @@
 
 #include <gio/gio.h>
 
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedataserver/libedataserver.h>
 
 G_BEGIN_DECLS
 
diff --git a/addressbook/libegdbus/e-gdbus-book.c b/addressbook/libegdbus/e-gdbus-book.c
index 2c28388..e81e076 100644
--- a/addressbook/libegdbus/e-gdbus-book.c
+++ b/addressbook/libegdbus/e-gdbus-book.c
@@ -22,9 +22,6 @@
 #include <stdio.h>
 #include <gio/gio.h>
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-gdbus-marshallers.h>
-
 #include "e-gdbus-book.h"
 
 #define E_GDBUS_BOOK_PROXY_GET_PRIVATE(obj) \
diff --git a/addressbook/libegdbus/e-gdbus-book.h b/addressbook/libegdbus/e-gdbus-book.h
index cc04de3..cf96df7 100644
--- a/addressbook/libegdbus/e-gdbus-book.h
+++ b/addressbook/libegdbus/e-gdbus-book.h
@@ -24,7 +24,7 @@
 
 #include <gio/gio.h>
 
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedataserver/libedataserver.h>
 
 G_BEGIN_DECLS
 
diff --git a/calendar/backends/caldav/Makefile.am b/calendar/backends/caldav/Makefile.am
index 5ecd526..db8f459 100644
--- a/calendar/backends/caldav/Makefile.am
+++ b/calendar/backends/caldav/Makefile.am
@@ -6,6 +6,7 @@ libecalbackendcaldav_la_CPPFLAGS = \
 	-I$(top_srcdir)/calendar \
 	-I$(top_builddir)/calendar \
 	$(EVOLUTION_CALENDAR_CFLAGS) \
+	$(CAMEL_CFLAGS) \
 	$(SOUP_CFLAGS) \
 	-DG_LOG_DOMAIN=\"e-cal-backend-caldav\" \
 	$(CODE_COVERAGE_CFLAGS) \
@@ -22,6 +23,7 @@ libecalbackendcaldav_la_LIBADD = \
 	$(top_builddir)/libedataserver/libedataserver-1.2.la \
 	$(top_builddir)/libebackend/libebackend-1.2.la \
 	$(EVOLUTION_CALENDAR_LIBS) \
+	$(CAMEL_CFLAGS) \
 	$(SOUP_LIBS)
 
 libecalbackendcaldav_la_LDFLAGS = \
diff --git a/calendar/backends/caldav/e-cal-backend-caldav-factory.c b/calendar/backends/caldav/e-cal-backend-caldav-factory.c
index ef6cab4..7b09da8 100644
--- a/calendar/backends/caldav/e-cal-backend-caldav-factory.c
+++ b/calendar/backends/caldav/e-cal-backend-caldav-factory.c
@@ -24,7 +24,6 @@
 
 #include <config.h>
 
-#include <libedata-cal/e-cal-backend-factory.h>
 #include "e-cal-backend-caldav.h"
 
 #define FACTORY_NAME "caldav"
diff --git a/calendar/backends/caldav/e-cal-backend-caldav.c b/calendar/backends/caldav/e-cal-backend-caldav.c
index 6341868..91a9c58 100644
--- a/calendar/backends/caldav/e-cal-backend-caldav.c
+++ b/calendar/backends/caldav/e-cal-backend-caldav.c
@@ -28,21 +28,6 @@
 #include <gconf/gconf-client.h>
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-xml-hash-utils.h>
-#include <libedataserver/e-proxy.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-authenticator.h>
-#include <libedataserver/e-source-offline.h>
-#include <libedataserver/e-source-refresh.h>
-#include <libedataserver/e-source-webdav.h>
-#include <libecal/e-cal-recur.h>
-#include <libecal/e-cal-util.h>
-#include <libecal/e-cal-time-util.h>
-#include <libedata-cal/e-cal-backend-cache.h>
-#include <libedata-cal/e-cal-backend-file-store.h>
-#include <libedata-cal/e-cal-backend-util.h>
-#include <libedata-cal/e-cal-backend-sexp.h>
 
 /* LibXML2 includes */
 #include <libxml/parser.h>
diff --git a/calendar/backends/caldav/e-cal-backend-caldav.h b/calendar/backends/caldav/e-cal-backend-caldav.h
index d9ad8d3..a0cff2e 100644
--- a/calendar/backends/caldav/e-cal-backend-caldav.h
+++ b/calendar/backends/caldav/e-cal-backend-caldav.h
@@ -23,7 +23,7 @@
 #ifndef E_CAL_BACKEND_CALDAV_H
 #define E_CAL_BACKEND_CALDAV_H
 
-#include <libedata-cal/e-cal-backend-sync.h>
+#include <libedata-cal/libedata-cal.h>
 
 /* Standard GObject macros */
 #define E_TYPE_CAL_BACKEND_CALDAV \
diff --git a/calendar/backends/contacts/Makefile.am b/calendar/backends/contacts/Makefile.am
index 328c269..02acf51 100644
--- a/calendar/backends/contacts/Makefile.am
+++ b/calendar/backends/contacts/Makefile.am
@@ -10,6 +10,7 @@ libecalbackendcontacts_la_CPPFLAGS = \
 	-I$(top_srcdir)/addressbook			\
 	-I$(top_builddir)/addressbook			\
 	$(EVOLUTION_CALENDAR_CFLAGS)			\
+	$(CAMEL_CFLAGS)					\
 	$(SOUP_CFLAGS)					\
 	$(CODE_COVERAGE_CFLAGS)				\
 	$(NULL)
@@ -21,13 +22,14 @@ libecalbackendcontacts_la_SOURCES =		\
 	e-source-contacts.c			\
 	e-source-contacts.h
 
-libecalbackendcontacts_la_LIBADD =						\
-	$(top_builddir)/calendar/libecal/libecal-1.2.la				\
-	$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la		\
-	$(top_builddir)/addressbook/libebook/libebook-1.2.la			\
-	$(top_builddir)/libedataserver/libedataserver-1.2.la			\
-	$(top_builddir)/libebackend/libebackend-1.2.la				\
-	$(EVOLUTION_CALENDAR_LIBS)						\
+libecalbackendcontacts_la_LIBADD =					\
+	$(top_builddir)/calendar/libecal/libecal-1.2.la			\
+	$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la	\
+	$(top_builddir)/addressbook/libebook/libebook-1.2.la		\
+	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
+	$(top_builddir)/libebackend/libebackend-1.2.la			\
+	$(EVOLUTION_CALENDAR_LIBS)					\
+	$(CAMEL_CFLAGS)							\
 	$(SOUP_LIBS)
 
 libecalbackendcontacts_la_LDFLAGS =	\
diff --git a/calendar/backends/contacts/e-cal-backend-contacts-factory.c b/calendar/backends/contacts/e-cal-backend-contacts-factory.c
index 2c22740..5a66b2a 100644
--- a/calendar/backends/contacts/e-cal-backend-contacts-factory.c
+++ b/calendar/backends/contacts/e-cal-backend-contacts-factory.c
@@ -9,7 +9,6 @@
 
 #include <config.h>
 
-#include <libedata-cal/e-cal-backend-factory.h>
 #include "e-cal-backend-contacts.h"
 #include "e-source-contacts.h"
 
diff --git a/calendar/backends/contacts/e-cal-backend-contacts.c b/calendar/backends/contacts/e-cal-backend-contacts.c
index d1ae3c4..62077f5 100644
--- a/calendar/backends/contacts/e-cal-backend-contacts.c
+++ b/calendar/backends/contacts/e-cal-backend-contacts.c
@@ -34,17 +34,7 @@
 #include <gconf/gconf-client.h>
 #include <libsoup/soup.h>
 
-#include <libedataserver/e-xml-hash-utils.h>
-#include <libedataserver/e-source-registry.h>
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserver/e-flag.h>
-#include <libecal/e-cal-recur.h>
-#include <libecal/e-cal-util.h>
-#include <libedata-cal/e-cal-backend-util.h>
-#include <libedata-cal/e-cal-backend-sexp.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-query.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 #include "e-source-contacts.h"
 
diff --git a/calendar/backends/contacts/e-cal-backend-contacts.h b/calendar/backends/contacts/e-cal-backend-contacts.h
index 38ed65d..a7eee19 100644
--- a/calendar/backends/contacts/e-cal-backend-contacts.h
+++ b/calendar/backends/contacts/e-cal-backend-contacts.h
@@ -23,7 +23,7 @@
 #ifndef E_CAL_BACKEND_CONTACTS_H
 #define E_CAL_BACKEND_CONTACTS_H
 
-#include <libedata-cal/e-cal-backend-sync.h>
+#include <libedata-cal/libedata-cal.h>
 
 /* Standard GObject macros */
 #define E_TYPE_CAL_BACKEND_CONTACTS \
diff --git a/calendar/backends/contacts/e-source-contacts.h b/calendar/backends/contacts/e-source-contacts.h
index 95d9b83..d18fd92 100644
--- a/calendar/backends/contacts/e-source-contacts.h
+++ b/calendar/backends/contacts/e-source-contacts.h
@@ -19,7 +19,7 @@
 #ifndef E_SOURCE_CONTACTS_H
 #define E_SOURCE_CONTACTS_H
 
-#include <libedataserver/e-source-extension.h>
+#include <libedataserver/libedataserver.h>
 
 /* Standard GObject macros */
 #define E_TYPE_SOURCE_CONTACTS \
diff --git a/calendar/backends/file/Makefile.am b/calendar/backends/file/Makefile.am
index 9080f14..e38ee0b 100644
--- a/calendar/backends/file/Makefile.am
+++ b/calendar/backends/file/Makefile.am
@@ -8,6 +8,7 @@ libecalbackendfile_la_CPPFLAGS = \
 	-I$(top_srcdir)/calendar			\
 	-I$(top_builddir)/calendar			\
 	$(EVOLUTION_CALENDAR_CFLAGS)			\
+	$(CAMEL_CFLAGS)					\
 	$(CODE_COVERAGE_CFLAGS)				\
 	$(NULL)
 
@@ -31,7 +32,8 @@ libecalbackendfile_la_LIBADD =						\
 	$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la	\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
 	$(top_builddir)/libebackend/libebackend-1.2.la			\
-	$(EVOLUTION_CALENDAR_LIBS)
+	$(EVOLUTION_CALENDAR_LIBS)					\
+	$(CAMEL_LIBS)
 
 libecalbackendfile_la_LDFLAGS =		\
 	-module -avoid-version $(NO_UNDEFINED) \
@@ -55,6 +57,7 @@ test_interval_searches_CPPFLAGS = \
 	-I$(top_srcdir)			\
 	-I$(top_srcdir)/calendar	\
 	$(EVOLUTION_CALENDAR_CFLAGS)	\
+	$(CAMEL_CFLAGS)			\
 	-DTEST_QUERY_RESULT=1
 
 -include $(top_srcdir)/git.mk
diff --git a/calendar/backends/file/e-cal-backend-file-factory.c b/calendar/backends/file/e-cal-backend-file-factory.c
index d62f2a5..9b5ed8c 100644
--- a/calendar/backends/file/e-cal-backend-file-factory.c
+++ b/calendar/backends/file/e-cal-backend-file-factory.c
@@ -9,7 +9,6 @@
 
 #include <config.h>
 
-#include <libedata-cal/e-cal-backend-factory.h>
 #include "e-cal-backend-file-events.h"
 #include "e-cal-backend-file-journal.h"
 #include "e-cal-backend-file-todos.h"
diff --git a/calendar/backends/file/e-cal-backend-file.c b/calendar/backends/file/e-cal-backend-file.c
index e31a09d..5b08cf4 100644
--- a/calendar/backends/file/e-cal-backend-file.c
+++ b/calendar/backends/file/e-cal-backend-file.c
@@ -32,17 +32,7 @@
 #include <fcntl.h>
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
-#include <gio/gio.h>
-#include "libedataserver/e-data-server-util.h"
-#include "libedataserver/e-xml-hash-utils.h"
-#include "libedataserver/e-debug-log.h"
-#include <libecal/e-cal-recur.h>
-#include <libecal/e-cal-time-util.h>
-#include <libecal/e-cal-util.h>
-#include <libecal/e-cal-check-timezones.h>
-#include <libedata-cal/e-cal-backend-util.h>
-#include <libedata-cal/e-cal-backend-sexp.h>
-#include <libedata-cal/e-cal-backend-intervaltree.h>
+
 #include "e-cal-backend-file-events.h"
 #include "e-source-local.h"
 
diff --git a/calendar/backends/file/e-cal-backend-file.h b/calendar/backends/file/e-cal-backend-file.h
index be34eb0..b225a09 100644
--- a/calendar/backends/file/e-cal-backend-file.h
+++ b/calendar/backends/file/e-cal-backend-file.h
@@ -21,7 +21,7 @@
 #ifndef E_CAL_BACKEND_FILE_H
 #define E_CAL_BACKEND_FILE_H
 
-#include <libedata-cal/e-cal-backend-sync.h>
+#include <libedata-cal/libedata-cal.h>
 
 /* Standard GObject macros */
 #define E_TYPE_CAL_BACKEND_FILE \
diff --git a/calendar/backends/file/e-source-local.h b/calendar/backends/file/e-source-local.h
index 7eed749..3d534f8 100644
--- a/calendar/backends/file/e-source-local.h
+++ b/calendar/backends/file/e-source-local.h
@@ -19,7 +19,7 @@
 #ifndef E_SOURCE_LOCAL_H
 #define E_SOURCE_LOCAL_H
 
-#include <libedataserver/e-source-extension.h>
+#include <libedataserver/libedataserver.h>
 
 /* Standard GObject macros */
 #define E_TYPE_SOURCE_LOCAL \
diff --git a/calendar/backends/http/Makefile.am b/calendar/backends/http/Makefile.am
index 2d331df..55404db 100644
--- a/calendar/backends/http/Makefile.am
+++ b/calendar/backends/http/Makefile.am
@@ -8,6 +8,7 @@ libecalbackendhttp_la_CPPFLAGS = \
 	-I$(top_srcdir)/calendar			\
 	-I$(top_builddir)/calendar			\
 	$(EVOLUTION_CALENDAR_CFLAGS)			\
+	$(CAMEL_CFLAGS)					\
 	$(SOUP_CFLAGS)					\
 	$(CODE_COVERAGE_CFLAGS)				\
 	$(NULL)
@@ -23,6 +24,7 @@ libecalbackendhttp_la_LIBADD =						\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
 	$(top_builddir)/libebackend/libebackend-1.2.la			\
 	$(EVOLUTION_CALENDAR_LIBS)					\
+	$(CAMEL_LIBS)							\
 	$(SOUP_LIBS)
 
 libecalbackendhttp_la_LDFLAGS =		\
diff --git a/calendar/backends/http/e-cal-backend-http-factory.c b/calendar/backends/http/e-cal-backend-http-factory.c
index 5cd1108..1166e79 100644
--- a/calendar/backends/http/e-cal-backend-http-factory.c
+++ b/calendar/backends/http/e-cal-backend-http-factory.c
@@ -9,7 +9,6 @@
 
 #include <config.h>
 
-#include <libedata-cal/e-cal-backend-factory.h>
 #include "e-cal-backend-http.h"
 
 #define FACTORY_NAME "webcal"
diff --git a/calendar/backends/http/e-cal-backend-http.c b/calendar/backends/http/e-cal-backend-http.c
index 0b0ada1..97f05a9 100644
--- a/calendar/backends/http/e-cal-backend-http.c
+++ b/calendar/backends/http/e-cal-backend-http.c
@@ -26,21 +26,7 @@
 #include <unistd.h>
 #include <gconf/gconf-client.h>
 #include <glib/gi18n-lib.h>
-#include "libedataserver/e-xml-hash-utils.h"
-#include "libedataserver/e-proxy.h"
-#include "libedataserver/e-source-authentication.h"
-#include "libedataserver/e-source-authenticator.h"
-#include "libedataserver/e-source-refresh.h"
-#include "libedataserver/e-source-security.h"
-#include "libedataserver/e-source-webdav.h"
-#include <libecal/e-cal-recur.h>
-#include <libecal/e-cal-util.h>
-#include <libecal/e-cal-time-util.h>
-#include <libedata-cal/e-cal-backend-cache.h>
-#include <libedata-cal/e-cal-backend-store.h>
-#include <libedata-cal/e-cal-backend-file-store.h>
-#include <libedata-cal/e-cal-backend-util.h>
-#include <libedata-cal/e-cal-backend-sexp.h>
+
 #include <libsoup/soup.h>
 #include "e-cal-backend-http.h"
 
diff --git a/calendar/backends/http/e-cal-backend-http.h b/calendar/backends/http/e-cal-backend-http.h
index a28eb73..d6292f9 100644
--- a/calendar/backends/http/e-cal-backend-http.h
+++ b/calendar/backends/http/e-cal-backend-http.h
@@ -21,7 +21,7 @@
 #ifndef E_CAL_BACKEND_HTTP_H
 #define E_CAL_BACKEND_HTTP_H
 
-#include <libedata-cal/e-cal-backend-sync.h>
+#include <libedata-cal/libedata-cal.h>
 
 #define E_TYPE_CAL_BACKEND_HTTP \
 	(e_cal_backend_http_get_type ())
diff --git a/calendar/backends/weather/Makefile.am b/calendar/backends/weather/Makefile.am
index 8f74137..ed41cf2 100644
--- a/calendar/backends/weather/Makefile.am
+++ b/calendar/backends/weather/Makefile.am
@@ -12,6 +12,7 @@ libecalbackendweather_la_CPPFLAGS = \
 	-DE_DATA_SERVER_PREFIX=\"$(prefix)\"		\
 	-DWEATHER_DATADIR=\""$(weatherdatadir)"\"	\
 	$(EVOLUTION_CALENDAR_CFLAGS)			\
+	$(CAMEL_CFLAGS)					\
 	$(SOUP_CFLAGS)					\
 	$(LIBGWEATHER_CFLAGS)				\
 	$(CODE_COVERAGE_CFLAGS)				\
@@ -28,13 +29,14 @@ libecalbackendweather_la_SOURCES =	\
 	e-weather-source-ccf.c		\
 	e-weather-source-ccf.h
 
-libecalbackendweather_la_LIBADD =						\
-	$(top_builddir)/calendar/libecal/libecal-1.2.la				\
-	$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la		\
-	$(top_builddir)/libedataserver/libedataserver-1.2.la			\
-	$(top_builddir)/libebackend/libebackend-1.2.la				\
-	$(EVOLUTION_CALENDAR_LIBS)						\
-	$(SOUP_LIBS)								\
+libecalbackendweather_la_LIBADD =					\
+	$(top_builddir)/calendar/libecal/libecal-1.2.la			\
+	$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la	\
+	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
+	$(top_builddir)/libebackend/libebackend-1.2.la			\
+	$(EVOLUTION_CALENDAR_LIBS)					\
+	$(CAMEL_LIBS)							\
+	$(SOUP_LIBS)							\
 	$(LIBGWEATHER_LIBS)
 
 libecalbackendweather_la_LDFLAGS =		\
diff --git a/calendar/backends/weather/e-cal-backend-weather-factory.c b/calendar/backends/weather/e-cal-backend-weather-factory.c
index fd81ca9..732c03d 100644
--- a/calendar/backends/weather/e-cal-backend-weather-factory.c
+++ b/calendar/backends/weather/e-cal-backend-weather-factory.c
@@ -20,7 +20,6 @@
 
 #include <config.h>
 
-#include <libedata-cal/e-cal-backend-factory.h>
 #include "e-cal-backend-weather.h"
 #include "e-source-weather.h"
 
diff --git a/calendar/backends/weather/e-cal-backend-weather.c b/calendar/backends/weather/e-cal-backend-weather.c
index aac8328..62357ae 100644
--- a/calendar/backends/weather/e-cal-backend-weather.c
+++ b/calendar/backends/weather/e-cal-backend-weather.c
@@ -19,13 +19,9 @@
  */
 
 #include <config.h>
-#include <libedata-cal/e-cal-backend-cache.h>
-#include <libedata-cal/e-cal-backend-file-store.h>
-#include <libedata-cal/e-cal-backend-util.h>
-#include <libedata-cal/e-cal-backend-sexp.h>
-#include <libedataserver/e-source-refresh.h>
 #include <glib/gi18n-lib.h>
 #include <string.h>
+
 #include "e-cal-backend-weather.h"
 #include "e-source-weather.h"
 #include "e-weather-source.h"
diff --git a/calendar/backends/weather/e-cal-backend-weather.h b/calendar/backends/weather/e-cal-backend-weather.h
index 8974116..4d138e0 100644
--- a/calendar/backends/weather/e-cal-backend-weather.h
+++ b/calendar/backends/weather/e-cal-backend-weather.h
@@ -21,7 +21,7 @@
 #ifndef E_CAL_BACKEND_WEATHER_H
 #define E_CAL_BACKEND_WEATHER_H
 
-#include <libedata-cal/e-cal-backend-sync.h>
+#include <libedata-cal/libedata-cal.h>
 
 /* Standard GObject macros */
 #define E_TYPE_CAL_BACKEND_WEATHER \
diff --git a/calendar/backends/weather/e-source-weather.c b/calendar/backends/weather/e-source-weather.c
index 0f7e581..e00c799 100644
--- a/calendar/backends/weather/e-source-weather.c
+++ b/calendar/backends/weather/e-source-weather.c
@@ -18,8 +18,6 @@
 
 #include "e-source-weather.h"
 
-#include <libedataserver/e-data-server-util.h>
-
 #define E_SOURCE_WEATHER_GET_PRIVATE(obj) \
 	(G_TYPE_INSTANCE_GET_PRIVATE \
 	((obj), E_TYPE_SOURCE_WEATHER, ESourceWeatherPrivate))
diff --git a/calendar/backends/weather/e-source-weather.h b/calendar/backends/weather/e-source-weather.h
index 85ad991..fd191cf 100644
--- a/calendar/backends/weather/e-source-weather.h
+++ b/calendar/backends/weather/e-source-weather.h
@@ -19,7 +19,7 @@
 #ifndef E_SOURCE_WEATHER_H
 #define E_SOURCE_WEATHER_H
 
-#include <libedataserver/e-source-extension.h>
+#include <libedataserver/libedataserver.h>
 
 /* Standard GObject macros */
 #define E_TYPE_SOURCE_WEATHER \
diff --git a/calendar/backends/weather/e-weather-source-ccf.c b/calendar/backends/weather/e-weather-source-ccf.c
index 18f6b5f..2bb76a5 100644
--- a/calendar/backends/weather/e-weather-source-ccf.c
+++ b/calendar/backends/weather/e-weather-source-ccf.c
@@ -37,8 +37,6 @@
 
 #ifdef G_OS_WIN32
 
-#include "libedataserver/e-data-server-util.h"
-
 #ifdef localtime_r
 #undef localtime_r
 #endif
diff --git a/calendar/libecal/Makefile.am b/calendar/libecal/Makefile.am
index 68e6e43..857de88 100644
--- a/calendar/libecal/Makefile.am
+++ b/calendar/libecal/Makefile.am
@@ -1,3 +1,11 @@
+include $(top_srcdir)/glib-gen.mak
+glib_enum_headers=e-cal-types.h
+glib_enum_output=e-cal-enumtypes
+glib_enum_define=E_CAL
+glib_enum_prefix=e_cal
+
+ENUM_GENERATED = e-cal-enumtypes.h e-cal-enumtypes.c
+
 # The marshallers
 MARSHAL_GENERATED = e-cal-marshal.c e-cal-marshal.h
 @EVO_MARSHAL_RULE@
@@ -16,13 +24,16 @@ libecal_INCLUDES = \
 libecal_1_2_la_CPPFLAGS =			\
 	$(AM_CPPFLAGS)				\
 	$(libecal_INCLUDES)			\
+	-DLIBECAL_COMPILATION			\
 	-DG_LOG_DOMAIN=\"libecal\"		\
 	$(LIBICAL_CFLAGS)			\
 	$(EVOLUTION_CALENDAR_CFLAGS)		\
+	$(CAMEL_CFLAGS)				\
 	$(CODE_COVERAGE_CFLAGS)			\
 	$(NULL)
 
 libecal_1_2_la_SOURCES =			\
+	$(ENUM_GENERATED)			\
 	$(MARSHAL_GENERATED)			\
 	e-cal.c					\
 	e-cal-client.c				\
@@ -42,7 +53,8 @@ libecal_1_2_la_LIBADD = 					\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la 	\
 	$(top_builddir)/calendar/libegdbus/libegdbus-cal.la	\
 	$(LIBICAL_LIBS)						\
-	$(EVOLUTION_CALENDAR_LIBS)
+	$(EVOLUTION_CALENDAR_LIBS)				\
+	$(CAMEL_LIBS)
 
 libecal_1_2_la_LDFLAGS = 					\
 	-version-info $(LIBECAL_CURRENT):$(LIBECAL_REVISION):$(LIBECAL_AGE) $(NO_UNDEFINED) \
@@ -52,10 +64,12 @@ libecal_1_2_la_LDFLAGS = 					\
 libecalincludedir = $(privincludedir)/libecal
 
 libecalinclude_HEADERS =	\
+	libecal.h		\
 	e-cal.h			\
 	e-cal-client.h		\
 	e-cal-client-view.h	\
 	e-cal-component.h	\
+	e-cal-enumtypes.h	\
 	e-cal-recur.h		\
 	e-cal-time-util.h	\
         e-cal-check-timezones.h \
@@ -70,14 +84,14 @@ libecalinclude_HEADERS =	\
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libecal-$(API_VERSION).pc
 
-BUILT_SOURCES = $(MARSHAL_GENERATED)
+BUILT_SOURCES = $(ENUM_GENERATED) $(MARSHAL_GENERATED)
 CLEANFILES = $(BUILT_SOURCES)
 DISTCLEANFILES = $(pkgconfig_DATA)
 
 -include $(INTROSPECTION_MAKEFILE)
 INTROSPECTION_GIRS =
 INTROSPECTION_SCANNER_ARGS = --add-include-path=$(top_builddir)/libedataserver --identifier-prefix E --pkg-export libecal-1.2 \
-	--c-include="libecal/e-cal.h"
+	--c-include="libecal/libecal.h"
 INTROSPECTION_COMPILER_ARGS = --includedir=$(top_builddir)/libedataserver
 
 if HAVE_INTROSPECTION
@@ -87,7 +101,7 @@ introspection_sources = \
 
 ECalendar-1.2.gir: libecal-1.2.la
 ECalendar_1_2_gir_INCLUDES = GObject-2.0 EDataServer-1.2 GLib-2.0
-ECalendar_1_2_gir_CFLAGS = $(libecal_INCLUDES) $(LIBICAL_CFLAGS) $(EVOLUTION_CALENDAR_CFLAGS)
+ECalendar_1_2_gir_CFLAGS = $(libecal_INCLUDES) -DLIBECAL_COMPILATION $(LIBICAL_CFLAGS) $(EVOLUTION_CALENDAR_CFLAGS)
 ECalendar_1_2_gir_LIBS = libecal-1.2.la $(top_builddir)/calendar/libegdbus/libegdbus-cal.la $(top_builddir)/libedataserver/libedataserver-1.2.la $(LIBICAL_LIBS)
 ECalendar_1_2_gir_FILES = $(introspection_sources)
 INTROSPECTION_GIRS += ECalendar-1.2.gir
diff --git a/calendar/libecal/e-cal-check-timezones.h b/calendar/libecal/e-cal-check-timezones.h
index 5f7dead..aa5ab78 100644
--- a/calendar/libecal/e-cal-check-timezones.h
+++ b/calendar/libecal/e-cal-check-timezones.h
@@ -17,6 +17,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_CHECK_TIMEZONES_H
 #define E_CAL_CHECK_TIMEZONES_H
 
diff --git a/calendar/libecal/e-cal-client-view.h b/calendar/libecal/e-cal-client-view.h
index 05f4e3c..8851ac4 100644
--- a/calendar/libecal/e-cal-client-view.h
+++ b/calendar/libecal/e-cal-client-view.h
@@ -18,6 +18,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_CLIENT_VIEW_H
 #define E_CAL_CLIENT_VIEW_H
 
diff --git a/calendar/libecal/e-cal-client.c b/calendar/libecal/e-cal-client.c
index a59b432..e1e37bf 100644
--- a/calendar/libecal/e-cal-client.c
+++ b/calendar/libecal/e-cal-client.c
@@ -26,16 +26,14 @@
 #include <glib/gi18n-lib.h>
 #include <gio/gio.h>
 
-#include "libedataserver/e-data-server-util.h"
-#include "libedataserver/e-client-private.h"
-
-#include "libedata-cal/e-data-cal-types.h"
+#include <libedataserver/e-client-private.h>
 
 #include "e-cal-client.h"
 #include "e-cal-client-view-private.h"
 #include "e-cal-component.h"
 #include "e-cal-check-timezones.h"
 #include "e-cal-time-util.h"
+#include "e-cal-types.h"
 
 #include "e-gdbus-cal.h"
 #include "e-gdbus-cal-factory.h"
diff --git a/calendar/libecal/e-cal-client.h b/calendar/libecal/e-cal-client.h
index 4349e11..be175d1 100644
--- a/calendar/libecal/e-cal-client.h
+++ b/calendar/libecal/e-cal-client.h
@@ -19,12 +19,15 @@
  *
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_CLIENT_H
 #define E_CAL_CLIENT_H
 
-#include <gio/gio.h>
+#include <libedataserver/libedataserver.h>
 
-#include <libedataserver/e-client.h>
 #include <libecal/e-cal-client-view.h>
 #include <libecal/e-cal-recur.h>
 #include <libecal/e-cal-util.h>
diff --git a/calendar/libecal/e-cal-component.c b/calendar/libecal/e-cal-component.c
index 6a79fa7..0e0b8d1 100644
--- a/calendar/libecal/e-cal-component.c
+++ b/calendar/libecal/e-cal-component.c
@@ -24,9 +24,11 @@
 #include <unistd.h>
 #include <glib/gi18n-lib.h>
 #include <glib/gstdio.h>
+
+#include <libedataserver/libedataserver.h>
+
 #include "e-cal-component.h"
 #include "e-cal-time-util.h"
-#include "libedataserver/e-data-server-util.h"
 
 #ifdef G_OS_WIN32
 #define getgid() 0
diff --git a/calendar/libecal/e-cal-component.h b/calendar/libecal/e-cal-component.h
index 4a31818..e004bf7 100644
--- a/calendar/libecal/e-cal-component.h
+++ b/calendar/libecal/e-cal-component.h
@@ -18,6 +18,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_COMPONENT_H
 #define E_CAL_COMPONENT_H
 
diff --git a/calendar/libecal/e-cal-recur.h b/calendar/libecal/e-cal-recur.h
index 2286146..d487fe8 100644
--- a/calendar/libecal/e-cal-recur.h
+++ b/calendar/libecal/e-cal-recur.h
@@ -20,6 +20,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_RECUR_H
 #define E_CAL_RECUR_H
 
diff --git a/calendar/libecal/e-cal-system-timezone.h b/calendar/libecal/e-cal-system-timezone.h
index 73b0772..e644d7f 100644
--- a/calendar/libecal/e-cal-system-timezone.h
+++ b/calendar/libecal/e-cal-system-timezone.h
@@ -17,6 +17,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_SYSTEM_TIMEZONE_H
 #define E_CAL_SYSTEM_TIMEZONE_H
 
diff --git a/calendar/libecal/e-cal-time-util.h b/calendar/libecal/e-cal-time-util.h
index fb41fce..7af39dd 100644
--- a/calendar/libecal/e-cal-time-util.h
+++ b/calendar/libecal/e-cal-time-util.h
@@ -8,6 +8,10 @@
  *          Damon Chaplin <damon ximian com>
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef TIMEUTIL_H
 #define TIMEUTIL_H
 
diff --git a/calendar/libecal/e-cal-types.h b/calendar/libecal/e-cal-types.h
index bd9be80..8f554d5 100644
--- a/calendar/libecal/e-cal-types.h
+++ b/calendar/libecal/e-cal-types.h
@@ -19,6 +19,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_TYPES_H
 #define E_CAL_TYPES_H
 
@@ -73,6 +77,56 @@ typedef enum {
 #define E_CALENDAR_STATUS_CORBA_EXCEPTION E_CALENDAR_STATUS_DBUS_EXCEPTION
 #endif
 
+typedef enum {
+	Success,
+	Busy,
+	RepositoryOffline,
+	PermissionDenied,
+	InvalidRange,
+	ObjectNotFound,
+	InvalidObject,
+	ObjectIdAlreadyExists,
+	AuthenticationFailed,
+	AuthenticationRequired,
+	UnsupportedField,
+	UnsupportedMethod,
+	UnsupportedAuthenticationMethod,
+	TLSNotAvailable,
+	NoSuchCal,
+	UnknownUser,
+	OfflineUnavailable,
+
+	/* These can be returned for successful searches, but
+		indicate the result set was truncated */
+	SearchSizeLimitExceeded,
+	SearchTimeLimitExceeded,
+
+	InvalidQuery,
+	QueryRefused,
+
+	CouldNotCancel,
+
+	OtherError,
+	InvalidServerVersion,
+	InvalidArg,
+	NotSupported,
+	NotOpened
+} EDataCalCallStatus;
+
+typedef enum {
+	Event = 1 << 0,
+	Todo = 1 << 1,
+	Journal = 1 << 2,
+	AnyType = 0x07
+} EDataCalObjType;
+
+typedef enum {
+	This = 1 << 0,
+	ThisAndPrior = 1 << 1,
+	ThisAndFuture = 1 << 2,
+	All = 0x07
+} EDataCalObjModType;
+
 G_END_DECLS
 
 #endif
diff --git a/calendar/libecal/e-cal-util.c b/calendar/libecal/e-cal-util.c
index 88bbb47..8ccec1b 100644
--- a/calendar/libecal/e-cal-util.c
+++ b/calendar/libecal/e-cal-util.c
@@ -23,7 +23,9 @@
 #include <string.h>
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
-#include "libedataserver/e-data-server-util.h"
+
+#include <libedataserver/libedataserver.h>
+
 #include "e-cal-util.h"
 #include "e-cal-system-timezone.h"
 
diff --git a/calendar/libecal/e-cal-util.h b/calendar/libecal/e-cal-util.h
index 966aeb5..9c1a61a 100644
--- a/calendar/libecal/e-cal-util.h
+++ b/calendar/libecal/e-cal-util.h
@@ -18,6 +18,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_UTIL_H
 #define E_CAL_UTIL_H
 
diff --git a/calendar/libecal/e-cal-view.h b/calendar/libecal/e-cal-view.h
index a090a1c..be69c7e 100644
--- a/calendar/libecal/e-cal-view.h
+++ b/calendar/libecal/e-cal-view.h
@@ -18,6 +18,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_VIEW_H
 #define E_CAL_VIEW_H
 
diff --git a/calendar/libecal/e-cal.c b/calendar/libecal/e-cal.c
index 11b75ad..3c82039 100644
--- a/calendar/libecal/e-cal.c
+++ b/calendar/libecal/e-cal.c
@@ -41,12 +41,6 @@
 #include <glib/gi18n-lib.h>
 
 #include <libical/ical.h>
-#include <libedataserver/e-url.h>
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-source-calendar.h>
-#include <libedataserver/e-source-registry.h>
-
-#include "libedata-cal/e-data-cal-types.h"
 
 #include "e-cal-check-timezones.h"
 #include "e-cal-marshal.h"
diff --git a/calendar/libecal/e-cal.h b/calendar/libecal/e-cal.h
index f2b6150..a08ae70 100644
--- a/calendar/libecal/e-cal.h
+++ b/calendar/libecal/e-cal.h
@@ -19,12 +19,17 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBECAL_H_INSIDE__) && !defined (LIBECAL_COMPILATION)
+#error "Only <libecal/libecal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_H
 #define E_CAL_H
 
 #ifndef E_CAL_DISABLE_DEPRECATED
 
-#include <libedataserver/e-source.h>
+#include <libedataserver/libedataserver.h>
+
 #include <libecal/e-cal-recur.h>
 #include <libecal/e-cal-util.h>
 #include <libecal/e-cal-view.h>
diff --git a/calendar/libecal/libecal.h b/calendar/libecal/libecal.h
new file mode 100644
index 0000000..cb7ab65
--- /dev/null
+++ b/calendar/libecal/libecal.h
@@ -0,0 +1,42 @@
+/*
+ * libecal.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#ifndef LIBECAL_H
+#define LIBECAL_H
+
+#define __LIBECAL_H_INSIDE__
+
+#include <libedataserver/libedataserver.h>
+
+#include <libecal/e-cal-check-timezones.h>
+#include <libecal/e-cal-client-view.h>
+#include <libecal/e-cal-client.h>
+#include <libecal/e-cal-component.h>
+#include <libecal/e-cal-enumtypes.h>
+#include <libecal/e-cal-recur.h>
+#include <libecal/e-cal-system-timezone.h>
+#include <libecal/e-cal-time-util.h>
+#include <libecal/e-cal-types.h>
+#include <libecal/e-cal-util.h>
+#include <libecal/e-cal-view.h>
+#include <libecal/e-cal.h>
+
+#undef __LIBECAL_H_INSIDE__
+
+#endif /* LIBECAL_H */
+
diff --git a/calendar/libedata-cal/Makefile.am b/calendar/libedata-cal/Makefile.am
index 56cd4f2..ed57304 100644
--- a/calendar/libedata-cal/Makefile.am
+++ b/calendar/libedata-cal/Makefile.am
@@ -1,16 +1,9 @@
-include $(top_srcdir)/glib-gen.mak
-glib_enum_headers=e-data-cal-types.h
-glib_enum_output=e-data-cal-enumtypes
-glib_enum_define=E_DATA_CAL
-glib_enum_prefix=e_data_cal
-
-ENUM_GENERATED = e-data-cal-enumtypes.h e-data-cal-enumtypes.c
-
 # The libraray
 lib_LTLIBRARIES = libedata-cal-1.2.la
 
 libedata_cal_1_2_la_CPPFLAGS = 			\
 	$(AM_CPPFLAGS)				\
+	-DLIBEDATA_CAL_COMPILATION		\
 	-DG_LOG_DOMAIN=\"libedata-cal\"		\
 	-DBACKENDDIR=\"$(ecal_backenddir)\"	\
 	-I$(top_srcdir)				\
@@ -20,11 +13,11 @@ libedata_cal_1_2_la_CPPFLAGS = 			\
 	-I$(top_builddir)/calendar		\
 	$(LIBICAL_CFLAGS)			\
 	$(EVOLUTION_CALENDAR_CFLAGS)		\
+	$(CAMEL_CFLAGS)				\
 	$(CODE_COVERAGE_CFLAGS)			\
 	$(NULL)
 
 libedata_cal_1_2_la_SOURCES =		\
-	$(ENUM_GENERATED)		\
 	e-cal-backend.c			\
 	e-cal-backend-cache.c		\
 	e-cal-backend-factory.c		\
@@ -44,7 +37,8 @@ libedata_cal_1_2_la_LIBADD =					\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la 	\
 	$(top_builddir)/libebackend/libebackend-1.2.la 		\
 	$(LIBICAL_LIBS)						\
-	$(EVOLUTION_CALENDAR_LIBS)
+	$(EVOLUTION_CALENDAR_LIBS)				\
+	$(CAMEL_LIBS)
 
 libedata_cal_1_2_la_LDFLAGS =								\
 	-version-info $(LIBEDATACAL_CURRENT):$(LIBEDATACAL_REVISION):$(LIBEDATACAL_AGE) $(NO_UNDEFINED) \
@@ -54,7 +48,7 @@ libedata_cal_1_2_la_LDFLAGS =								\
 libedata_calincludedir = $(privincludedir)/libedata-cal
 
 libedata_calinclude_HEADERS = 		\
-	e-data-cal-types.h		\
+	libedata-cal.h			\
 	e-cal-backend.h			\
 	e-cal-backend-cache.h		\
 	e-cal-backend-factory.h		\
@@ -75,8 +69,6 @@ libedata_calinclude_HEADERS = 		\
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libedata-cal-$(API_VERSION).pc
 
-BUILT_SOURCES = $(ENUM_GENERATED)
-CLEANFILES = $(BUILT_SOURCES)
 DISTCLEANFILES = $(pkgconfig_DATA)
 
 EXTRA_DIST = 						\
diff --git a/calendar/libedata-cal/e-cal-backend-cache.c b/calendar/libedata-cal/e-cal-backend-cache.c
index 905024c..2007cec 100644
--- a/calendar/libedata-cal/e-cal-backend-cache.c
+++ b/calendar/libedata-cal/e-cal-backend-cache.c
@@ -25,8 +25,7 @@
 
 #include <string.h>
 #include <glib/gstdio.h>
-#include <libecal/e-cal-util.h>
-#include <libedataserver/e-data-server-util.h>
+
 #include "e-cal-backend-cache.h"
 
 #define E_CAL_BACKEND_CACHE_GET_PRIVATE(obj) \
diff --git a/calendar/libedata-cal/e-cal-backend-cache.h b/calendar/libedata-cal/e-cal-backend-cache.h
index c520ea9..03f2420 100644
--- a/calendar/libedata-cal/e-cal-backend-cache.h
+++ b/calendar/libedata-cal/e-cal-backend-cache.h
@@ -19,12 +19,15 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_BACKEND_CACHE_H
 #define E_CAL_BACKEND_CACHE_H
 
-#include "libebackend/e-file-cache.h"
-#include <libecal/e-cal-component.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
+#include <libebackend/libebackend.h>
 
 /* Standard GObject macros */
 #define E_TYPE_CAL_BACKEND_CACHE \
diff --git a/calendar/libedata-cal/e-cal-backend-factory.h b/calendar/libedata-cal/e-cal-backend-factory.h
index 6620520..e030dd0 100644
--- a/calendar/libedata-cal/e-cal-backend-factory.h
+++ b/calendar/libedata-cal/e-cal-backend-factory.h
@@ -20,11 +20,15 @@
  * Author: Chris Toshok <toshok ximian com>
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_BACKEND_FACTORY_H
 #define E_CAL_BACKEND_FACTORY_H
 
 #include <libical/ical.h>
-#include <libebackend/e-backend-factory.h>
+#include <libebackend/libebackend.h>
 
 /* Standard GObject macros */
 #define E_TYPE_CAL_BACKEND_FACTORY \
diff --git a/calendar/libedata-cal/e-cal-backend-file-store.c b/calendar/libedata-cal/e-cal-backend-file-store.c
index c35eb3b..ad8b5ba 100644
--- a/calendar/libedata-cal/e-cal-backend-file-store.c
+++ b/calendar/libedata-cal/e-cal-backend-file-store.c
@@ -19,11 +19,13 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
-#include <string.h>
 #include "e-cal-backend-file-store.h"
-#include "libebackend/e-file-cache.h"
+
+#include <string.h>
 #include <glib/gstdio.h>
-#include "libecal/e-cal-util.c" 
+
+#include <libecal/libecal.h>
+#include <libebackend/libebackend.h>
 
 #define CACHE_FILE_NAME "calendar.ics"
 #define KEY_FILE_NAME "keys.xml"
diff --git a/calendar/libedata-cal/e-cal-backend-file-store.h b/calendar/libedata-cal/e-cal-backend-file-store.h
index 512fe28..00f4dd2 100644
--- a/calendar/libedata-cal/e-cal-backend-file-store.h
+++ b/calendar/libedata-cal/e-cal-backend-file-store.h
@@ -19,10 +19,14 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_BACKEND_FILE_STORE_H
 #define E_CAL_BACKEND_FILE_STORE_H
 
-#include "e-cal-backend-store.h"
+#include <libedata-cal/e-cal-backend-store.h>
 
 /* Standard GObject macros */
 #define E_TYPE_CAL_BACKEND_FILE_STORE \
diff --git a/calendar/libedata-cal/e-cal-backend-intervaltree.h b/calendar/libedata-cal/e-cal-backend-intervaltree.h
index 9b24b7f..00d53cd 100644
--- a/calendar/libedata-cal/e-cal-backend-intervaltree.h
+++ b/calendar/libedata-cal/e-cal-backend-intervaltree.h
@@ -20,11 +20,14 @@
  *
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_INTERVALTREE_H
 #define E_INTERVALTREE_H
 
-#include <libecal/e-cal-component.h>
-#include <libecal/e-cal-recur.h>
+#include <libecal/libecal.h>
 
 #define E_INTERVALTREE_DEBUG 1
 
diff --git a/calendar/libedata-cal/e-cal-backend-sexp.c b/calendar/libedata-cal/e-cal-backend-sexp.c
index 7f3aaf3..5c7e5d3 100644
--- a/calendar/libedata-cal/e-cal-backend-sexp.c
+++ b/calendar/libedata-cal/e-cal-backend-sexp.c
@@ -24,8 +24,6 @@
 
 #include <string.h>
 #include <glib/gi18n-lib.h>
-#include <libedataserver/e-data-server-util.h>
-#include <libecal/e-cal-time-util.h>
 
 #include "e-cal-backend-sexp.h"
 
diff --git a/calendar/libedata-cal/e-cal-backend-sexp.h b/calendar/libedata-cal/e-cal-backend-sexp.h
index 39e8546..bec491b 100644
--- a/calendar/libedata-cal/e-cal-backend-sexp.h
+++ b/calendar/libedata-cal/e-cal-backend-sexp.h
@@ -21,12 +21,16 @@
  * 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef __E_CAL_BACKEND_SEXP_H__
 #define __E_CAL_BACKEND_SEXP_H__
 
-#include <libecal/e-cal-component.h>
+#include <libecal/libecal.h>
+
 #include <libedata-cal/e-cal-backend.h>
-#include <libedataserver/e-sexp.h>
 
 #define E_TYPE_CAL_BACKEND_SEXP        (e_cal_backend_sexp_get_type ())
 #define E_CAL_BACKEND_SEXP(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TYPE_CAL_BACKEND_SEXP, ECalBackendSExp))
diff --git a/calendar/libedata-cal/e-cal-backend-store.c b/calendar/libedata-cal/e-cal-backend-store.c
index 0985ba2..847f0db 100644
--- a/calendar/libedata-cal/e-cal-backend-store.c
+++ b/calendar/libedata-cal/e-cal-backend-store.c
@@ -21,7 +21,6 @@
 
 #include "e-cal-backend-store.h"
 #include "e-cal-backend-intervaltree.h"
-#include <libedataserver/e-data-server-util.h>
 
 #define E_CAL_BACKEND_STORE_GET_PRIVATE(obj) \
 	(G_TYPE_INSTANCE_GET_PRIVATE \
diff --git a/calendar/libedata-cal/e-cal-backend-store.h b/calendar/libedata-cal/e-cal-backend-store.h
index 1d2459b..32e6f1c 100644
--- a/calendar/libedata-cal/e-cal-backend-store.h
+++ b/calendar/libedata-cal/e-cal-backend-store.h
@@ -19,11 +19,14 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_BACKEND_STORE_H
 #define E_CAL_BACKEND_STORE_H
 
-#include <libecal/e-cal-component.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 /* Standard GObject macros */
 #define E_TYPE_CAL_BACKEND_STORE \
diff --git a/calendar/libedata-cal/e-cal-backend-sync.c b/calendar/libedata-cal/e-cal-backend-sync.c
index 2e6d498..f14269e 100644
--- a/calendar/libedata-cal/e-cal-backend-sync.c
+++ b/calendar/libedata-cal/e-cal-backend-sync.c
@@ -10,8 +10,9 @@
 #include <config.h>
 #endif
 
+#include <libedataserver/libedataserver.h>
+
 #include "e-cal-backend-sync.h"
-#include "libedataserver/e-data-server-util.h"
 #include <libical/icaltz-util.h>
 
 #define E_CAL_BACKEND_SYNC_GET_PRIVATE(obj) \
diff --git a/calendar/libedata-cal/e-cal-backend-sync.h b/calendar/libedata-cal/e-cal-backend-sync.h
index 826e648..49676e0 100644
--- a/calendar/libedata-cal/e-cal-backend-sync.h
+++ b/calendar/libedata-cal/e-cal-backend-sync.h
@@ -2,6 +2,10 @@
 /*
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef __E_CAL_BACKEND_SYNC_H__
 #define __E_CAL_BACKEND_SYNC_H__
 
diff --git a/calendar/libedata-cal/e-cal-backend-util.c b/calendar/libedata-cal/e-cal-backend-util.c
index 766e47b..407f230 100644
--- a/calendar/libedata-cal/e-cal-backend-util.c
+++ b/calendar/libedata-cal/e-cal-backend-util.c
@@ -25,9 +25,8 @@
 
 #include <string.h>
 #include <glib/gi18n-lib.h>
+
 #include "e-cal-backend-util.h"
-#include <libedataserver/e-source-mail-account.h>
-#include <libedataserver/e-source-mail-identity.h>
 
 /**
  * e_cal_backend_mail_account_get_default:
diff --git a/calendar/libedata-cal/e-cal-backend-util.h b/calendar/libedata-cal/e-cal-backend-util.h
index 7842158..e574687 100644
--- a/calendar/libedata-cal/e-cal-backend-util.h
+++ b/calendar/libedata-cal/e-cal-backend-util.h
@@ -19,11 +19,16 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_BACKEND_UTIL_H
 #define E_CAL_BACKEND_UTIL_H
 
+#include <libedataserver/libedataserver.h>
+
 #include <libedata-cal/e-cal-backend.h>
-#include <libedataserver/e-source-registry.h>
 
 G_BEGIN_DECLS
 
diff --git a/calendar/libedata-cal/e-cal-backend.c b/calendar/libedata-cal/e-cal-backend.c
index bbe6063..87e9631 100644
--- a/calendar/libedata-cal/e-cal-backend.c
+++ b/calendar/libedata-cal/e-cal-backend.c
@@ -25,8 +25,6 @@
 
 #include <glib/gi18n-lib.h>
 
-#include <libedataserver/e-data-server-util.h>
-
 #include "e-cal-backend.h"
 #include "e-cal-backend-cache.h"
 
diff --git a/calendar/libedata-cal/e-cal-backend.h b/calendar/libedata-cal/e-cal-backend.h
index 9cdf35d..cbad945 100644
--- a/calendar/libedata-cal/e-cal-backend.h
+++ b/calendar/libedata-cal/e-cal-backend.h
@@ -20,17 +20,19 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_CAL_BACKEND_H
 #define E_CAL_BACKEND_H
 
-#include <libebackend/e-backend.h>
-#include <libedataserver/e-source-registry.h>
-#include <libecal/e-cal-util.h>
-#include <libecal/e-cal-component.h>
+#include <libecal/libecal.h>
+#include <libebackend/libebackend.h>
+
 #include "e-data-cal-common.h"
 #include <libedata-cal/e-data-cal-common.h>
 #include <libedata-cal/e-data-cal.h>
-#include "e-data-cal-types.h"
 
 G_BEGIN_DECLS
 
diff --git a/calendar/libedata-cal/e-data-cal-common.h b/calendar/libedata-cal/e-data-cal-common.h
index e03fc15..33a592c 100644
--- a/calendar/libedata-cal/e-data-cal-common.h
+++ b/calendar/libedata-cal/e-data-cal-common.h
@@ -18,6 +18,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef CAL_COMMON_H
 #define CAL_COMMON_H
 
diff --git a/calendar/libedata-cal/e-data-cal-factory.c b/calendar/libedata-cal/e-data-cal-factory.c
index d7675a9..15f1ed4 100644
--- a/calendar/libedata-cal/e-data-cal-factory.c
+++ b/calendar/libedata-cal/e-data-cal-factory.c
@@ -30,8 +30,6 @@
 #include <unistd.h>
 #include <glib/gi18n.h>
 
-#include <libedataserver/e-source-calendar.h>
-
 #include "e-cal-backend.h"
 #include "e-cal-backend-factory.h"
 #include "e-data-cal.h"
diff --git a/calendar/libedata-cal/e-data-cal-factory.h b/calendar/libedata-cal/e-data-cal-factory.h
index 1a95687..92ad3be 100644
--- a/calendar/libedata-cal/e-data-cal-factory.h
+++ b/calendar/libedata-cal/e-data-cal-factory.h
@@ -19,11 +19,14 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_DATA_CAL_FACTORY_H
 #define E_DATA_CAL_FACTORY_H
 
-#include <libebackend/e-data-factory.h>
-#include <libedataserver/e-source-registry.h>
+#include <libebackend/libebackend.h>
 
 /* Standard GObject macros */
 #define E_TYPE_DATA_CAL_FACTORY \
diff --git a/calendar/libedata-cal/e-data-cal-view.c b/calendar/libedata-cal/e-data-cal-view.c
index d2c9ef5..a6a2455 100644
--- a/calendar/libedata-cal/e-data-cal-view.c
+++ b/calendar/libedata-cal/e-data-cal-view.c
@@ -27,8 +27,6 @@
 
 #include <string.h>
 
-#include <libedataserver/e-debug-log.h>
-#include "libedataserver/e-data-server-util.h"
 #include "e-cal-backend-sexp.h"
 #include "e-data-cal-view.h"
 #include "e-gdbus-cal-view.h"
diff --git a/calendar/libedata-cal/e-data-cal-view.h b/calendar/libedata-cal/e-data-cal-view.h
index 2224ea8..76e6339 100644
--- a/calendar/libedata-cal/e-data-cal-view.h
+++ b/calendar/libedata-cal/e-data-cal-view.h
@@ -18,14 +18,17 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_DATA_CAL_VIEW_H
 #define E_DATA_CAL_VIEW_H
 
-#include <gio/gio.h>
-#include <libecal/e-cal-client-view.h>
+#include <libecal/libecal.h>
+
 #include <libedata-cal/e-data-cal-common.h>
 #include <libedata-cal/e-cal-backend-sexp.h>
-#include <libedata-cal/e-data-cal-types.h>
 
 G_BEGIN_DECLS
 
diff --git a/calendar/libedata-cal/e-data-cal.c b/calendar/libedata-cal/e-data-cal.c
index 69275ed..174880e 100644
--- a/calendar/libedata-cal/e-data-cal.c
+++ b/calendar/libedata-cal/e-data-cal.c
@@ -30,11 +30,9 @@
 #include <glib/gi18n-lib.h>
 #include <unistd.h>
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-operation-pool.h>
+#include <libedataserver/libedataserver.h>
 
 #include "e-data-cal.h"
-#include "e-data-cal-enumtypes.h"
 #include "e-gdbus-cal.h"
 
 #define E_DATA_CAL_GET_PRIVATE(obj) \
diff --git a/calendar/libedata-cal/e-data-cal.h b/calendar/libedata-cal/e-data-cal.h
index c5e679e..29b10b2 100644
--- a/calendar/libedata-cal/e-data-cal.h
+++ b/calendar/libedata-cal/e-data-cal.h
@@ -20,13 +20,16 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATA_CAL_H_INSIDE__) && !defined (LIBEDATA_CAL_COMPILATION)
+#error "Only <libedata-cal/libedata-cal.h> should be included directly."
+#endif
+
 #ifndef E_DATA_CAL_H
 #define E_DATA_CAL_H
 
 #include <gio/gio.h>
 #include <libedata-cal/e-data-cal-common.h>
 #include <libedata-cal/e-data-cal-view.h>
-#include <libedata-cal/e-data-cal-types.h>
 
 G_BEGIN_DECLS
 
diff --git a/calendar/libedata-cal/libedata-cal.h b/calendar/libedata-cal/libedata-cal.h
new file mode 100644
index 0000000..60a4c25
--- /dev/null
+++ b/calendar/libedata-cal/libedata-cal.h
@@ -0,0 +1,44 @@
+/*
+ * libedata-cal.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#ifndef LIBEDATA_CAL_H
+#define LIBEDATA_CAL_H
+
+#define __LIBEDATA_CAL_H_INSIDE__
+
+#include <libecal/libecal.h>
+#include <libebackend/libebackend.h>
+
+#include <libedata-cal/e-cal-backend-cache.h>
+#include <libedata-cal/e-cal-backend-factory.h>
+#include <libedata-cal/e-cal-backend-file-store.h>
+#include <libedata-cal/e-cal-backend.h>
+#include <libedata-cal/e-cal-backend-intervaltree.h>
+#include <libedata-cal/e-cal-backend-sexp.h>
+#include <libedata-cal/e-cal-backend-store.h>
+#include <libedata-cal/e-cal-backend-sync.h>
+#include <libedata-cal/e-cal-backend-util.h>
+#include <libedata-cal/e-data-cal-common.h>
+#include <libedata-cal/e-data-cal-factory.h>
+#include <libedata-cal/e-data-cal.h>
+#include <libedata-cal/e-data-cal-view.h>
+
+#undef __LIBEDATA_CAL_H_INSIDE__
+
+#endif /* LIBEDATA_CAL_H */
+
diff --git a/calendar/libegdbus/e-gdbus-cal-factory.c b/calendar/libegdbus/e-gdbus-cal-factory.c
index 7a80d61..c911da0 100644
--- a/calendar/libegdbus/e-gdbus-cal-factory.c
+++ b/calendar/libegdbus/e-gdbus-cal-factory.c
@@ -23,9 +23,6 @@
 #include <stdlib.h>
 #include <gio/gio.h>
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-gdbus-marshallers.h>
-
 #include "e-gdbus-cal-factory.h"
 
 #define GDBUS_CAL_FACTORY_INTERFACE_NAME "org.gnome.evolution.dataserver.CalendarFactory"
diff --git a/calendar/libegdbus/e-gdbus-cal-factory.h b/calendar/libegdbus/e-gdbus-cal-factory.h
index 1977c35..a8f6b32 100644
--- a/calendar/libegdbus/e-gdbus-cal-factory.h
+++ b/calendar/libegdbus/e-gdbus-cal-factory.h
@@ -22,9 +22,7 @@
 #ifndef E_GDBUS_CAL_FACTORY_H
 #define E_GDBUS_CAL_FACTORY_H
 
-#include <gio/gio.h>
-
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedataserver/libedataserver.h>
 
 G_BEGIN_DECLS
 
diff --git a/calendar/libegdbus/e-gdbus-cal-view.c b/calendar/libegdbus/e-gdbus-cal-view.c
index 535fa21..b96cc42 100644
--- a/calendar/libegdbus/e-gdbus-cal-view.c
+++ b/calendar/libegdbus/e-gdbus-cal-view.c
@@ -22,9 +22,6 @@
 #include <stdio.h>
 #include <gio/gio.h>
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-gdbus-marshallers.h>
-
 #include "e-gdbus-cal-view.h"
 
 #define GDBUS_CAL_VIEW_INTERFACE_NAME "org.gnome.evolution.dataserver.CalendarView"
diff --git a/calendar/libegdbus/e-gdbus-cal-view.h b/calendar/libegdbus/e-gdbus-cal-view.h
index 8692b04..b7fdc56 100644
--- a/calendar/libegdbus/e-gdbus-cal-view.h
+++ b/calendar/libegdbus/e-gdbus-cal-view.h
@@ -22,9 +22,7 @@
 #ifndef E_GDBUS_CAL_VIEW_H
 #define E_GDBUS_CAL_VIEW_H
 
-#include <gio/gio.h>
-
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedataserver/libedataserver.h>
 
 G_BEGIN_DECLS
 
diff --git a/calendar/libegdbus/e-gdbus-cal.c b/calendar/libegdbus/e-gdbus-cal.c
index 26b82bb..b390c39 100644
--- a/calendar/libegdbus/e-gdbus-cal.c
+++ b/calendar/libegdbus/e-gdbus-cal.c
@@ -23,11 +23,6 @@
 #include <stdlib.h>
 #include <gio/gio.h>
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-gdbus-marshallers.h>
-/* We only need the ECalComponentId structure from the following header */
-#include <libecal/e-cal-component.h>
-
 #include "e-gdbus-cal.h"
 
 #define E_GDBUS_CAL_PROXY_GET_PRIVATE(obj) \
@@ -90,6 +85,12 @@ enum
 	__LAST_SIGNAL
 };
 
+/* This is also defined in e-cal-component.h */
+typedef struct {
+	gchar *uid;
+	gchar *rid;
+} ECalComponentId;
+
 static guint signals[__LAST_SIGNAL] = {0};
 
 struct _EGdbusCalProxyPrivate
diff --git a/calendar/libegdbus/e-gdbus-cal.h b/calendar/libegdbus/e-gdbus-cal.h
index 53762d0..47c13b4 100644
--- a/calendar/libegdbus/e-gdbus-cal.h
+++ b/calendar/libegdbus/e-gdbus-cal.h
@@ -22,9 +22,7 @@
 #ifndef E_GDBUS_CAL_H
 #define E_GDBUS_CAL_H
 
-#include <gio/gio.h>
-
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedataserver/libedataserver.h>
 
 G_BEGIN_DECLS
 
diff --git a/configure.ac b/configure.ac
index ea95cbd..6ef7319 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1333,7 +1333,7 @@ AC_SUBST(E_DATA_SERVER_LIBS)
 dnl ******************************
 dnl libedataserverui
 dnl ******************************
-E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 gconf-2.0"
+E_DATA_SERVER_UI_DEPS="gtk+-3.0 libxml-2.0 gconf-2.0 libsoup-2.4"
 
 EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, , )
 AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
@@ -1346,7 +1346,7 @@ if test "x$enable_maintainer_mode" = "xyes" ; then
 	AC_SUBST(FACTORY_GTK_LIBS)
 fi
 
-E_BACKEND_DEPS="gio-2.0 gmodule-2.0 gnome-keyring-1 libxml-2.0 gconf-2.0"
+E_BACKEND_DEPS="gio-2.0 gmodule-2.0 gnome-keyring-1 libsoup-2.4 libxml-2.0 gconf-2.0"
 
 dnl ******************************
 dnl libebackend flags
@@ -1358,7 +1358,7 @@ AC_SUBST(E_BACKEND_LIBS)
 dnl ******************************
 dnl evolution-addressbook flags
 dnl ******************************
-EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 gconf-2.0"
+EVOLUTION_ADDRESSBOOK_DEPS="gio-2.0 libxml-2.0 gconf-2.0 libsoup-2.4 gnome-keyring-1"
 
 EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
@@ -1367,7 +1367,7 @@ AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
 dnl ******************************
 dnl evolution-calendar flags
 dnl ******************************
-EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libxml-2.0 gconf-2.0"
+EVOLUTION_CALENDAR_DEPS="gio-2.0 libical >= libical_minimum_version libsoup-2.4 libxml-2.0 gconf-2.0 gnome-keyring-1"
 
 dnl *****
 dnl libical.pc from libical-0.43 has a bug in it's CFlags.
diff --git a/docs/reference/addressbook/libebook/Makefile.am b/docs/reference/addressbook/libebook/Makefile.am
index a6d3bb6..a269cfa 100644
--- a/docs/reference/addressbook/libebook/Makefile.am
+++ b/docs/reference/addressbook/libebook/Makefile.am
@@ -26,12 +26,14 @@ GTKDOC_CFLAGS = \
 	-I$(top_builddir)				\
 	-I$(top_builddir)/addressbook			\
 	-I$(top_builddir)/addressbook/libebook		\
-	$(EVOLUTION_ADDRESSBOOK_CFLAGS)
+	$(EVOLUTION_ADDRESSBOOK_CFLAGS)			\
+	$(CAMEL_CFLAGS)
 
 GTKDOC_LIBS = \
 	$(top_builddir)/addressbook/libebook/libebook-1.2.la	\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la	\
-	$(EVOLUTION_ADDRESSBOOK_LIBS)
+	$(EVOLUTION_ADDRESSBOOK_LIBS)				\
+	$(CAMEL_LIBS)
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
 include $(top_srcdir)/gtk-doc.make
diff --git a/docs/reference/addressbook/libebook/libebook.types b/docs/reference/addressbook/libebook/libebook.types
index a52ebb9..8729e83 100644
--- a/docs/reference/addressbook/libebook/libebook.types
+++ b/docs/reference/addressbook/libebook/libebook.types
@@ -1,10 +1,4 @@
-#include <libebook/e-book.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-client-view.h>
-#include <libebook/e-book-view.h>
-#include <libebook/e-contact.h>
-#include <libebook/e-destination.h>
-#include <libebook/e-vcard.h>
+#include <libebook/libebook.h>
 
 e_book_get_type
 e_book_client_get_type
diff --git a/docs/reference/addressbook/libedata-book/Makefile.am b/docs/reference/addressbook/libedata-book/Makefile.am
index 2ce5ce2..4be2acc 100644
--- a/docs/reference/addressbook/libedata-book/Makefile.am
+++ b/docs/reference/addressbook/libedata-book/Makefile.am
@@ -27,14 +27,16 @@ GTKDOC_CFLAGS = \
 	-I$(top_srcdir)/addressbook			\
 	-I$(top_builddir)				\
 	-I$(top_builddir)/addressbook			\
-	$(EVOLUTION_ADDRESSBOOK_CFLAGS)
+	$(EVOLUTION_ADDRESSBOOK_CFLAGS)			\
+	$(CAMEL_CFLAGS)
 
 GTKDOC_LIBS = \
 	$(top_builddir)/addressbook/libedata-book/libedata-book-1.2.la	\
 	$(top_builddir)/addressbook/libebook/libebook-1.2.la		\
 	$(top_builddir)/libebackend/libebackend-1.2.la			\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
-	$(EVOLUTION_ADDRESSBOOK_LIBS)
+	$(EVOLUTION_ADDRESSBOOK_LIBS)					\
+	$(CAMEL_LIBS)
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
 include $(top_srcdir)/gtk-doc.make
diff --git a/docs/reference/addressbook/libedata-book/libedata-book.types b/docs/reference/addressbook/libedata-book/libedata-book.types
index 56e8924..1d821ba 100644
--- a/docs/reference/addressbook/libedata-book/libedata-book.types
+++ b/docs/reference/addressbook/libedata-book/libedata-book.types
@@ -1,11 +1,4 @@
-#include <libedata-book/e-book-backend.h>
-#include <libedata-book/e-book-backend-cache.h>
-#include <libedata-book/e-book-backend-factory.h>
-#include <libedata-book/e-book-backend-sexp.h>
-#include <libedata-book/e-book-backend-summary.h>
-#include <libedata-book/e-book-backend-sync.h>
-#include <libedata-book/e-data-book.h>
-#include <libedata-book/e-data-book-view.h>
+#include <libedata-book/libedata-book.h>
 
 e_book_backend_get_type
 e_book_backend_cache_get_type
diff --git a/docs/reference/calendar/libecal/Makefile.am b/docs/reference/calendar/libecal/Makefile.am
index 72492be..1375ee9 100644
--- a/docs/reference/calendar/libecal/Makefile.am
+++ b/docs/reference/calendar/libecal/Makefile.am
@@ -27,12 +27,14 @@ GTKDOC_CFLAGS = \
 	-I$(top_builddir)/calendar				\
 	-I$(top_builddir)/calendar/libecal			\
 	$(LIBICAL_CFLAGS)					\
-	$(EVOLUTION_CALENDAR_CFLAGS)
+	$(EVOLUTION_CALENDAR_CFLAGS)				\
+	$(CAMEL_CFLAGS)
 
 GTKDOC_LIBS = \
 	$(top_builddir)/calendar/libecal/libecal-1.2.la		\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la	\
-	$(EVOLUTION_CALENDAR_LIBS)
+	$(EVOLUTION_CALENDAR_LIBS)				\
+	$(CAMEL_LIBS)
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
 include $(top_srcdir)/gtk-doc.make
diff --git a/docs/reference/calendar/libecal/libecal.types b/docs/reference/calendar/libecal/libecal.types
index 62b32cc..1e53d31 100644
--- a/docs/reference/calendar/libecal/libecal.types
+++ b/docs/reference/calendar/libecal/libecal.types
@@ -1,8 +1,4 @@
-#include <libecal/e-cal.h>
-#include <libecal/e-cal-client.h>
-#include <libecal/e-cal-client-view.h>
-#include <libecal/e-cal-component.h>
-#include <libecal/e-cal-view.h>
+#include <libecal/libecal.h>
 
 e_cal_get_type
 e_cal_client_get_type
diff --git a/docs/reference/calendar/libedata-cal/Makefile.am b/docs/reference/calendar/libedata-cal/Makefile.am
index c7ca301..e792ba5 100644
--- a/docs/reference/calendar/libedata-cal/Makefile.am
+++ b/docs/reference/calendar/libedata-cal/Makefile.am
@@ -31,7 +31,8 @@ GTKDOC_CFLAGS = \
 	-I$(top_builddir)				\
 	-I$(top_builddir)/calendar			\
 	$(LIBICAL_CFLAGS)				\
-	$(EVOLUTION_CALENDAR_CFLAGS)
+	$(EVOLUTION_CALENDAR_CFLAGS)			\
+	$(CAMEL_CFLAGS)
 
 GTKDOC_LIBS = \
 	$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la	\
@@ -39,6 +40,7 @@ GTKDOC_LIBS = \
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
 	$(top_builddir)/libebackend/libebackend-1.2.la			\
 	$(EVOLUTION_CALENDAR_LIBS)					\
+	$(CAMEL_LIBS)							\
 	$(DB_LIBS)
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
diff --git a/docs/reference/calendar/libedata-cal/libedata-cal.types b/docs/reference/calendar/libedata-cal/libedata-cal.types
index 03ab478..37b38fa 100644
--- a/docs/reference/calendar/libedata-cal/libedata-cal.types
+++ b/docs/reference/calendar/libedata-cal/libedata-cal.types
@@ -1,10 +1,4 @@
-#include <libedata-cal/e-cal-backend.h>
-#include <libedata-cal/e-cal-backend-cache.h>
-#include <libedata-cal/e-cal-backend-factory.h>
-#include <libedata-cal/e-cal-backend-sexp.h>
-#include <libedata-cal/e-cal-backend-sync.h>
-#include <libedata-cal/e-data-cal.h>
-#include <libedata-cal/e-data-cal-view.h>
+#include <libedata-cal/libedata-cal.h>
 
 e_cal_backend_get_type
 e_cal_backend_cache_get_type
diff --git a/docs/reference/libebackend/Makefile.am b/docs/reference/libebackend/Makefile.am
index 2a97a43..77d3cce 100644
--- a/docs/reference/libebackend/Makefile.am
+++ b/docs/reference/libebackend/Makefile.am
@@ -19,12 +19,14 @@ GTKDOC_CFLAGS  =					\
 	-I$(top_srcdir)/libebackend			\
 	-I$(top_srcdir) 				\
 	-I$(top_builddir)				\
-	$(E_BACKEND_CFLAGS)
+	$(E_BACKEND_CFLAGS)				\
+	$(CAMEL_CFLAGS)
 
 GTKDOC_LIBS = 							\
 	$(top_builddir)/libebackend/libebackend-1.2.la		\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la	\
-	$(E_BACKEND_LIBS)
+	$(E_BACKEND_LIBS)					\
+	$(CAMEL_LIBS)
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
 include $(top_srcdir)/gtk-doc.make
diff --git a/docs/reference/libebackend/libebackend.types b/docs/reference/libebackend/libebackend.types
index 7ecf584..1a5d962 100644
--- a/docs/reference/libebackend/libebackend.types
+++ b/docs/reference/libebackend/libebackend.types
@@ -1,18 +1,4 @@
-#include <libebackend/e-authentication-mediator.h>
-#include <libebackend/e-authentication-session.h>
-#include <libebackend/e-backend.h>
-#include <libebackend/e-backend-factory.h>
-#include <libebackend/e-collection-backend.h>
-#include <libebackend/e-collection-backend-factory.h>
-#include <libebackend/e-data-factory.h>
-#include <libebackend/e-dbus-server.h>
-#include <libebackend/e-extensible.h>
-#include <libebackend/e-extension.h>
-#include <libebackend/e-file-cache.h>
-#include <libebackend/e-module.h>
-#include <libebackend/e-offline-listener.h>
-#include <libebackend/e-server-side-source.h>
-#include <libebackend/e-source-registry-server.h>
+#include <libebackend/libebackend.h>
 
 e_authentication_mediator_get_type
 e_authentication_session_get_type
diff --git a/docs/reference/libedataserver/libedataserver.types b/docs/reference/libedataserver/libedataserver.types
index 586f7c9..ee6c766 100644
--- a/docs/reference/libedataserver/libedataserver.types
+++ b/docs/reference/libedataserver/libedataserver.types
@@ -1,33 +1,4 @@
-#include <libedataserver/e-client.h>
-#include <libedataserver/e-iterator.h>
-#include <libedataserver/e-list.h>
-#include <libedataserver/e-list-iterator.h>
-#include <libedataserver/e-proxy.h>
-#include <libedataserver/e-source.h>
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-authenticator.h>
-#include <libedataserver/e-source-backend.h>
-#include <libedataserver/e-source-calendar.h>
-#include <libedataserver/e-source-camel.h>
-#include <libedataserver/e-source-collection.h>
-#include <libedataserver/e-source-extension.h>
-#include <libedataserver/e-source-goa.h>
-#include <libedataserver/e-source-mail-account.h>
-#include <libedataserver/e-source-mail-composition.h>
-#include <libedataserver/e-source-mail-identity.h>
-#include <libedataserver/e-source-mail-signature.h>
-#include <libedataserver/e-source-mail-submission.h>
-#include <libedataserver/e-source-mail-transport.h>
-#include <libedataserver/e-source-mdn.h>
-#include <libedataserver/e-source-offline.h>
-#include <libedataserver/e-source-openpgp.h>
-#include <libedataserver/e-source-refresh.h>
-#include <libedataserver/e-source-registry.h>
-#include <libedataserver/e-source-security.h>
-#include <libedataserver/e-source-selectable.h>
-#include <libedataserver/e-source-smime.h>
-#include <libedataserver/e-source-webdav.h>
+#include <libedataserver/libedataserver.h>
 
 e_client_get_type
 e_iterator_get_type
diff --git a/docs/reference/libedataserverui/Makefile.am b/docs/reference/libedataserverui/Makefile.am
index f2c7857..295815b 100644
--- a/docs/reference/libedataserverui/Makefile.am
+++ b/docs/reference/libedataserverui/Makefile.am
@@ -23,7 +23,8 @@ GTKDOC_CFLAGS  =					\
 	-I$(top_srcdir)/addressbook			\
 	-I$(top_srcdir) 				\
 	-I$(top_builddir)				\
-	$(E_DATA_SERVER_UI_CFLAGS)
+	$(E_DATA_SERVER_UI_CFLAGS)			\
+	$(CAMEL_CFLAGS)
 
 GTKDOC_LIBS = 								\
 	$(top_builddir)/libedataserverui/libedataserverui-3.0.la	\
@@ -31,7 +32,8 @@ GTKDOC_LIBS = 								\
 	$(top_builddir)/addressbook/libebook/libebook-1.2.la		\
 	$(top_builddir)/libebackend/libebackend-1.2.la			\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
-	$(E_DATA_SERVER_UI_LIBS)
+	$(E_DATA_SERVER_UI_LIBS)					\
+	$(CAMEL_LIBS)
 
 # This includes the standard gtk-doc make rules, copied by gtkdocize.
 include $(top_srcdir)/gtk-doc.make
diff --git a/docs/reference/libedataserverui/libedataserverui.types b/docs/reference/libedataserverui/libedataserverui.types
index 0041710..e9b198e 100644
--- a/docs/reference/libedataserverui/libedataserverui.types
+++ b/docs/reference/libedataserverui/libedataserverui.types
@@ -1,18 +1,4 @@
-#include <libedataserverui/e-categories-dialog.h>
-#include <libedataserverui/e-categories-editor.h>
-#include <libedataserverui/e-categories-selector.h>
-#include <libedataserverui/e-category-editor.h>
-#include <libedataserverui/e-contact-store.h>
-#include <libedataserverui/e-destination-store.h>
-#include <libedataserverui/e-name-selector.h>
-#include <libedataserverui/e-name-selector-dialog.h>
-#include <libedataserverui/e-name-selector-entry.h>
-#include <libedataserverui/e-name-selector-list.h>
-#include <libedataserverui/e-name-selector-model.h>
-#include <libedataserverui/e-source-combo-box.h>
-#include <libedataserverui/e-source-selector.h>
-#include <libedataserverui/e-source-selector-dialog.h>
-#include <libedataserverui/e-tree-model-generator.h>
+#include <libedataserverui/libedataserverui.h>
 
 e_categories_dialog_get_type
 e_categories_editor_get_type
diff --git a/libebackend/Makefile.am b/libebackend/Makefile.am
index 378b205..bdc30eb 100644
--- a/libebackend/Makefile.am
+++ b/libebackend/Makefile.am
@@ -14,12 +14,14 @@ libebackend_1_2_la_CPPFLAGS = \
 	$(AM_CPPFLAGS)						\
 	-I$(top_srcdir)						\
 	-I$(top_srcdir)/private					\
+	-DLIBEBACKEND_COMPILATION				\
 	-DG_LOG_DOMAIN=\"libebackend\"				\
 	-DMODULE_DIRECTORY=\"$(moduledir)\"			\
 	-DE_DATA_SERVER_PRIVDATADIR=\"$(privdatadir)\"		\
 	-DSYSTEM_WIDE_RO_SOURCES_DIRECTORY=\"$(ro_sourcesdir)\"	\
 	-DSYSTEM_WIDE_RW_SOURCES_DIRECTORY=\"$(rw_sourcesdir)\"	\
 	$(DB_CFLAGS)						\
+	$(CAMEL_CFLAGS)						\
 	$(SQLITE3_CFLAGS)					\
 	$(E_BACKEND_CFLAGS)					\
 	$(GCR_BASE_CFLAGS)					\
@@ -52,6 +54,7 @@ libebackend_1_2_la_LIBADD = 				\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la \
 	$(top_builddir)/private/libedbus-private.la	\
 	$(E_BACKEND_LIBS)				\
+	$(CAMEL_LIBS)					\
 	$(SQLITE3_LIBS)					\
 	$(GCR_BASE_LIBS)				\
 	$(GIO_UNIX_LIBS)				\
@@ -65,10 +68,12 @@ libebackend_1_2_la_LDFLAGS = \
 libebackendincludedir = $(privincludedir)/libebackend
 
 libebackendinclude_HEADERS =		\
+	libebackend.h			\
 	e-authentication-mediator.h	\
 	e-authentication-session.h	\
 	e-backend.h			\
 	e-backend-enums.h		\
+	e-backend-enumtypes.h		\
 	e-backend-factory.h		\
 	e-collection-backend.h		\
 	e-collection-backend-factory.h	\
diff --git a/libebackend/e-authentication-mediator.c b/libebackend/e-authentication-mediator.c
index 0af6805..8658615 100644
--- a/libebackend/e-authentication-mediator.c
+++ b/libebackend/e-authentication-mediator.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-authentication-mediator
- * @include: libebackend/e-authentication-mediator.h
+ * @include: libebackend/libebackend.h
  * @short_description: Authenticator proxy for remote clients
  *
  * #EAuthenticationMediator runs on the registry D-Bus service.  It mediates
@@ -37,9 +37,6 @@
 #include <glib/gi18n-lib.h>
 #include <gcr/gcr-base.h>
 
-#include <libedataserver/e-flag.h>
-#include <libedataserver/e-data-server-util.h>
-
 /* Private D-Bus classes. */
 #include <e-dbus-authenticator.h>
 
diff --git a/libebackend/e-authentication-mediator.h b/libebackend/e-authentication-mediator.h
index 8161ffc..f4c5e9c 100644
--- a/libebackend/e-authentication-mediator.h
+++ b/libebackend/e-authentication-mediator.h
@@ -16,10 +16,14 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_AUTHENTICATION_MEDIATOR_H
 #define E_AUTHENTICATION_MEDIATOR_H
 
-#include <libedataserver/e-source-authenticator.h>
+#include <libedataserver/libedataserver.h>
 
 /* Standard GObject macros */
 #define E_TYPE_AUTHENTICATION_MEDIATOR \
diff --git a/libebackend/e-authentication-session.c b/libebackend/e-authentication-session.c
index 0e6ebd1..34b35f4 100644
--- a/libebackend/e-authentication-session.c
+++ b/libebackend/e-authentication-session.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-authentication-session
- * @include: libedataserver/e-authentication-session.h
+ * @include: libebackend/libebackend.h
  * @short_description: Centralized authentication management
  *
  * #EAuthenticationSession provides centralized password management and
diff --git a/libebackend/e-authentication-session.h b/libebackend/e-authentication-session.h
index 4ef4e78..be0afec 100644
--- a/libebackend/e-authentication-session.h
+++ b/libebackend/e-authentication-session.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_AUTHENTICATION_SESSION_H
 #define E_AUTHENTICATION_SESSION_H
 
@@ -25,8 +29,9 @@
  * reusing the GnomeKeyringResult enum for error codes. */
 #include <gnome-keyring.h>
 
+#include <libedataserver/libedataserver.h>
+
 #include <libebackend/e-backend-enums.h>
-#include <libedataserver/e-source-authenticator.h>
 
 /* Standard GObject macros */
 #define E_TYPE_AUTHENTICATION_SESSION \
diff --git a/libebackend/e-backend-enums.h b/libebackend/e-backend-enums.h
index f011aab..5685baf 100644
--- a/libebackend/e-backend-enums.h
+++ b/libebackend/e-backend-enums.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_BACKEND_ENUMS_H
 #define E_BACKEND_ENUMS_H
 
diff --git a/libebackend/e-backend-factory.c b/libebackend/e-backend-factory.c
index 8068e4a..f97bc7f 100644
--- a/libebackend/e-backend-factory.c
+++ b/libebackend/e-backend-factory.c
@@ -18,8 +18,8 @@
 
 /**
  * SECTION: e-backend-factory
+ * @include: libebackend/libebackend.h
  * @short_description: An abstract base class for backend factories
- * @include: libebackend/e-backend-factory.h
  *
  * An #EBackendFactory's job is to create an #EBackend instance for a
  * given #ESource.  #EBackendFactory and #EBackend should be subclassed
diff --git a/libebackend/e-backend-factory.h b/libebackend/e-backend-factory.h
index 4937e0f..88c556e 100644
--- a/libebackend/e-backend-factory.h
+++ b/libebackend/e-backend-factory.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_BACKEND_FACTORY_H
 #define E_BACKEND_FACTORY_H
 
diff --git a/libebackend/e-backend.c b/libebackend/e-backend.c
index df18f28..a2e79f1 100644
--- a/libebackend/e-backend.c
+++ b/libebackend/e-backend.c
@@ -18,8 +18,8 @@
 
 /**
  * SECTION: e-backend
+ * @include: libebackend/libebackend.h
  * @short_description: An abstract base class for backends
- * @include: libebackend/e-backend.h
  *
  * An #EBackend is paired with an #ESource to facilitate performing
  * actions on the local or remote resource described by the #ESource.
diff --git a/libebackend/e-backend.h b/libebackend/e-backend.h
index a806818..7b1ed9c 100644
--- a/libebackend/e-backend.h
+++ b/libebackend/e-backend.h
@@ -16,10 +16,14 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_BACKEND_H
 #define E_BACKEND_H
 
-#include <libedataserver/e-source.h>
+#include <libedataserver/libedataserver.h>
 
 /* Standard GObject macros */
 #define E_TYPE_BACKEND \
diff --git a/libebackend/e-collection-backend-factory.c b/libebackend/e-collection-backend-factory.c
index f7daf77..2903a33 100644
--- a/libebackend/e-collection-backend-factory.c
+++ b/libebackend/e-collection-backend-factory.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-collection-backend-factory
- * @include: libebackend/e-collection-backend-factory.h
+ * @include: libebackend/libebackend.h
  * @short_description: An abstract base class for a data source collection
  *                     backend factory
  *
@@ -28,10 +28,7 @@
 
 #include "e-collection-backend-factory.h"
 
-#include <libedataserver/e-source-mail-account.h>
-#include <libedataserver/e-source-mail-identity.h>
-#include <libedataserver/e-source-mail-submission.h>
-#include <libedataserver/e-source-mail-transport.h>
+#include <libedataserver/libedataserver.h>
 
 #include <libebackend/e-collection-backend.h>
 #include <libebackend/e-source-registry-server.h>
diff --git a/libebackend/e-collection-backend-factory.h b/libebackend/e-collection-backend-factory.h
index c2a436f..4060e51 100644
--- a/libebackend/e-collection-backend-factory.h
+++ b/libebackend/e-collection-backend-factory.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_COLLECTION_BACKEND_FACTORY_H
 #define E_COLLECTION_BACKEND_FACTORY_H
 
diff --git a/libebackend/e-collection-backend.c b/libebackend/e-collection-backend.c
index 7af1192..4aacd3b 100644
--- a/libebackend/e-collection-backend.c
+++ b/libebackend/e-collection-backend.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-collection-backend
- * @include: libebackend/e-collection-backend.h
+ * @include: libebackend/libebackend.h
  * @short_description: An abstract base class for a data source
  *                     collection backend
  *
@@ -41,14 +41,7 @@
 
 #include "e-collection-backend.h"
 
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserver/e-source-calendar.h>
-#include <libedataserver/e-source-collection.h>
-#include <libedataserver/e-source-mail-account.h>
-#include <libedataserver/e-source-mail-identity.h>
-#include <libedataserver/e-source-mail-transport.h>
-#include <libedataserver/e-uid.h>
+#include <libedataserver/libedataserver.h>
 
 #include <libebackend/e-server-side-source.h>
 #include <libebackend/e-source-registry-server.h>
diff --git a/libebackend/e-collection-backend.h b/libebackend/e-collection-backend.h
index 8f2b4b7..169864d 100644
--- a/libebackend/e-collection-backend.h
+++ b/libebackend/e-collection-backend.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_COLLECTION_BACKEND_H
 #define E_COLLECTION_BACKEND_H
 
diff --git a/libebackend/e-data-factory.c b/libebackend/e-data-factory.c
index 4cdf3f1..56a4e20 100644
--- a/libebackend/e-data-factory.c
+++ b/libebackend/e-data-factory.c
@@ -18,8 +18,8 @@
 
 /**
  * SECTION: e-data-factory
+ * @include: libebackend/libebackend.h
  * @short_description: An abstract base class for a backend-based server
- * @include: libebackend/e-data-factory
  **/
 
 #include "e-data-factory.h"
diff --git a/libebackend/e-data-factory.h b/libebackend/e-data-factory.h
index 152eb9d..3aefbf6 100644
--- a/libebackend/e-data-factory.h
+++ b/libebackend/e-data-factory.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_DATA_FACTORY_H
 #define E_DATA_FACTORY_H
 
diff --git a/libebackend/e-db3-utils.h b/libebackend/e-db3-utils.h
index f61f2e8..20d4485 100644
--- a/libebackend/e-db3-utils.h
+++ b/libebackend/e-db3-utils.h
@@ -8,6 +8,10 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef __E_DB3_UTILS_H__
 #define __E_DB3_UTILS_H__
 
diff --git a/libebackend/e-dbhash.h b/libebackend/e-dbhash.h
index 92ed914..1163dbb 100644
--- a/libebackend/e-dbhash.h
+++ b/libebackend/e-dbhash.h
@@ -8,6 +8,10 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_DBHASH_H
 #define E_DBHASH_H
 
diff --git a/libebackend/e-dbus-server.c b/libebackend/e-dbus-server.c
index 0d72a36..7015c85 100644
--- a/libebackend/e-dbus-server.c
+++ b/libebackend/e-dbus-server.c
@@ -18,8 +18,8 @@
 
 /**
  * SECTION: e-dbus-server
+ * @include: libebackend/libebackend.h
  * @short_description: An abstract base class for a D-Bus server
- * @include: libebackend/e-dbus-server
  **/
 
 #include "e-dbus-server.h"
diff --git a/libebackend/e-dbus-server.h b/libebackend/e-dbus-server.h
index 20a3452..cad8279 100644
--- a/libebackend/e-dbus-server.h
+++ b/libebackend/e-dbus-server.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_DBUS_SERVER_H
 #define E_DBUS_SERVER_H
 
diff --git a/libebackend/e-extensible.c b/libebackend/e-extensible.c
index 40248b7..27a832d 100644
--- a/libebackend/e-extensible.c
+++ b/libebackend/e-extensible.c
@@ -18,8 +18,8 @@
 
 /**
  * SECTION: e-extensible
+ * @include: libebackend/libebackend.h
  * @short_description: An interface for extending objects
- * @include: libebackend/e-extensible.h
  *
  * #EExtension objects can be tacked on to any #GObject instance that
  * implements the #EExtensible interface.  A #GObject type can be made
diff --git a/libebackend/e-extensible.h b/libebackend/e-extensible.h
index 3eb8c82..d49ea67 100644
--- a/libebackend/e-extensible.h
+++ b/libebackend/e-extensible.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_EXTENSIBLE_H
 #define E_EXTENSIBLE_H
 
diff --git a/libebackend/e-extension.c b/libebackend/e-extension.c
index 2efe3eb..18dddf2 100644
--- a/libebackend/e-extension.c
+++ b/libebackend/e-extension.c
@@ -18,8 +18,8 @@
 
 /**
  * SECTION: e-extension
+ * @include: libebackend/libebackend.h
  * @short_description: An abstract base class for extensions
- * @include: libebackend/e-extension.h
  *
  * #EExtension provides a way to extend the functionality of objects
  * that implement the #EExtensible interface.  #EExtension subclasses
diff --git a/libebackend/e-extension.h b/libebackend/e-extension.h
index a71d4bd..736cfe2 100644
--- a/libebackend/e-extension.h
+++ b/libebackend/e-extension.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_EXTENSION_H
 #define E_EXTENSION_H
 
diff --git a/libebackend/e-file-cache.c b/libebackend/e-file-cache.c
index 2e66138..c7ce9b6 100644
--- a/libebackend/e-file-cache.c
+++ b/libebackend/e-file-cache.c
@@ -33,10 +33,9 @@
 #include <unistd.h>
 
 #include <glib/gstdio.h>
+#include <libedataserver/libedataserver.h>
 
 #include "e-file-cache.h"
-#include "libedataserver/e-data-server-util.h"
-#include "libedataserver/e-xml-hash-utils.h"
 
 #define E_FILE_CACHE_GET_PRIVATE(obj) \
 	(G_TYPE_INSTANCE_GET_PRIVATE \
diff --git a/libebackend/e-file-cache.h b/libebackend/e-file-cache.h
index ac5e6fc..8a1aefa 100644
--- a/libebackend/e-file-cache.h
+++ b/libebackend/e-file-cache.h
@@ -19,6 +19,10 @@
  * Authors: Rodrigo Moya <rodrigo ximian com>
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_FILE_CACHE_H
 #define E_FILE_CACHE_H
 
diff --git a/libebackend/e-module.c b/libebackend/e-module.c
index 34c5412..539a81f 100644
--- a/libebackend/e-module.c
+++ b/libebackend/e-module.c
@@ -18,8 +18,8 @@
 
 /**
  * SECTION: e-module
+ * @include: libebackend/libebackend.h
  * @short_description: A module loader
- * @include: libebackend/e-module.h
  **/
 
 #include "e-module.h"
diff --git a/libebackend/e-module.h b/libebackend/e-module.h
index 2700ac1..5487aab 100644
--- a/libebackend/e-module.h
+++ b/libebackend/e-module.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_MODULE_H
 #define E_MODULE_H
 
diff --git a/libebackend/e-offline-listener.h b/libebackend/e-offline-listener.h
index 7800976..f99e354 100644
--- a/libebackend/e-offline-listener.h
+++ b/libebackend/e-offline-listener.h
@@ -20,6 +20,10 @@
  * Author: Sivaiah Nallagatla <snallagatla novell com>
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef EDS_DISABLE_DEPRECATED
 
 #ifndef E_OFFLINE_LISTENER_H
diff --git a/libebackend/e-server-side-source.c b/libebackend/e-server-side-source.c
index ec55cdd..fefb8c3 100644
--- a/libebackend/e-server-side-source.c
+++ b/libebackend/e-server-side-source.c
@@ -18,8 +18,8 @@
 
 /**
  * SECTION: e-server-side-source
+ * @include: libebackend/libebackend.h
  * @short_description: A server-side data source
- * @include: libebackend/e-server-side-source.h
  *
  * An #EServerSideSource is an #ESource with some additional capabilities
  * exclusive to the registry D-Bus service.
@@ -33,9 +33,6 @@
 /* Private D-Bus classes. */
 #include <e-dbus-source.h>
 
-#include <libedataserver/e-uid.h>
-#include <libedataserver/e-data-server-util.h>
-
 #define E_SERVER_SIDE_SOURCE_GET_PRIVATE(obj) \
 	(G_TYPE_INSTANCE_GET_PRIVATE \
 	((obj), E_TYPE_SERVER_SIDE_SOURCE, EServerSideSourcePrivate))
diff --git a/libebackend/e-server-side-source.h b/libebackend/e-server-side-source.h
index 74ca374..b8ba8f5 100644
--- a/libebackend/e-server-side-source.h
+++ b/libebackend/e-server-side-source.h
@@ -16,10 +16,15 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_SERVER_SIDE_SOURCE_H
 #define E_SERVER_SIDE_SOURCE_H
 
-#include <libedataserver/e-source.h>
+#include <libedataserver/libedataserver.h>
+
 #include <libebackend/e-source-registry-server.h>
 
 /* Standard GObject macros */
diff --git a/libebackend/e-source-registry-server.c b/libebackend/e-source-registry-server.c
index 8db22e2..4311b5e 100644
--- a/libebackend/e-source-registry-server.c
+++ b/libebackend/e-source-registry-server.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-registry-server
- * @include: libebackend/e-source-registry-server.h
+ * @include: libebackend/libebackend.h
  * @short_description: Server-side repository for data sources
  *
  * The #ESourceRegistryServer is the heart of the registry D-Bus service.
@@ -43,10 +43,7 @@
 #include <e-dbus-source.h>
 #include <e-dbus-source-manager.h>
 
-#include <libedataserver/e-uid.h>
 #include <libedataserver/e-marshal.h>
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-source-collection.h>
 
 #include <libebackend/e-authentication-mediator.h>
 #include <libebackend/e-authentication-session.h>
diff --git a/libebackend/e-source-registry-server.h b/libebackend/e-source-registry-server.h
index 9568e5e..6427083 100644
--- a/libebackend/e-source-registry-server.h
+++ b/libebackend/e-source-registry-server.h
@@ -16,14 +16,19 @@
  *
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_REGISTRY_SERVER_H
 #define E_SOURCE_REGISTRY_SERVER_H
 
+#include <libedataserver/libedataserver.h>
+
 #include <libebackend/e-authentication-session.h>
 #include <libebackend/e-backend-enums.h>
 #include <libebackend/e-data-factory.h>
 #include <libebackend/e-collection-backend-factory.h>
-#include <libedataserver/e-source.h>
 
 /* Standard GObject macros */
 #define E_TYPE_SOURCE_REGISTRY_SERVER \
diff --git a/libebackend/e-sqlite3-vfs.c b/libebackend/e-sqlite3-vfs.c
index 1954e77..2307499 100644
--- a/libebackend/e-sqlite3-vfs.c
+++ b/libebackend/e-sqlite3-vfs.c
@@ -27,7 +27,7 @@
 #include <string.h>
 
 #include <glib/gi18n-lib.h>
-#include <libedataserver/e-flag.h>
+#include <libedataserver/libedataserver.h>
 
 #include "e-sqlite3-vfs.h"
 
diff --git a/libebackend/e-sqlite3-vfs.h b/libebackend/e-sqlite3-vfs.h
index 22835ad..8cf38b9 100644
--- a/libebackend/e-sqlite3-vfs.h
+++ b/libebackend/e-sqlite3-vfs.h
@@ -18,6 +18,10 @@
  * USA
  */
 
+#if !defined (__LIBEBACKEND_H_INSIDE__) && !defined (LIBEBACKEND_COMPILATION)
+#error "Only <libebackend/libebackend.h> should be included directly."
+#endif
+
 #ifndef E_SQLITE3_VFS_H
 #define E_SQLITE3_VFS_H
 
diff --git a/libebackend/libebackend.h b/libebackend/libebackend.h
new file mode 100644
index 0000000..99947b1
--- /dev/null
+++ b/libebackend/libebackend.h
@@ -0,0 +1,50 @@
+/*
+ * libebackend.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#ifndef LIBEBACKEND_H
+#define LIBEBACKEND_H
+
+#define __LIBEBACKEND_H_INSIDE__
+
+#include <libedataserver/libedataserver.h>
+
+#include <libebackend/e-authentication-mediator.h>
+#include <libebackend/e-authentication-session.h>
+#include <libebackend/e-backend-enums.h>
+#include <libebackend/e-backend-enumtypes.h>
+#include <libebackend/e-backend-factory.h>
+#include <libebackend/e-backend.h>
+#include <libebackend/e-collection-backend-factory.h>
+#include <libebackend/e-collection-backend.h>
+#include <libebackend/e-data-factory.h>
+#include <libebackend/e-db3-utils.h>
+#include <libebackend/e-dbhash.h>
+#include <libebackend/e-dbus-server.h>
+#include <libebackend/e-extensible.h>
+#include <libebackend/e-extension.h>
+#include <libebackend/e-file-cache.h>
+#include <libebackend/e-module.h>
+#include <libebackend/e-offline-listener.h>
+#include <libebackend/e-server-side-source.h>
+#include <libebackend/e-source-registry-server.h>
+#include <libebackend/e-sqlite3-vfs.h>
+
+#undef __LIBEBACKEND_H_INSIDE__
+
+#endif /* LIBEBACKEND_H */
+
diff --git a/libedataserver/Makefile.am b/libedataserver/Makefile.am
index 3a7b83b..586a03e 100644
--- a/libedataserver/Makefile.am
+++ b/libedataserver/Makefile.am
@@ -24,6 +24,7 @@ libedataserver_1_2_la_CPPFLAGS = \
 	$(AM_CPPFLAGS)							\
 	-I$(top_srcdir)							\
 	-I$(top_srcdir)/private						\
+	-DLIBEDATASERVER_COMPILATION					\
 	-DG_LOG_DOMAIN=\"e-data-server\"				\
 	-DE_DATA_SERVER_PREFIX=\"$(prefix)\"				\
 	-DE_DATA_SERVER_LOCALEDIR=\""$(localedir)"\"			\
@@ -110,6 +111,7 @@ libedataserver_1_2_la_LDFLAGS = \
 libedataserverincludedir = $(privincludedir)/libedataserver
 
 libedataserverinclude_HEADERS =		\
+	libedataserver.h		\
 	e-categories.h			\
 	e-client.h			\
 	e-credentials.h			\
@@ -192,8 +194,7 @@ DISTCLEANFILES = eds-version.h				\
 -include $(INTROSPECTION_MAKEFILE)
 INTROSPECTION_GIRS =
 INTROSPECTION_SCANNER_ARGS = --identifier-prefix E --pkg-export \
-	libedataserver-1.2  --c-include="libedataserver/e-account.h" \
-	--c-include="libedataserver/e-source.h"
+	libedataserver-1.2  --c-include="libedataserver/libedataserver.h"
 INTROSPECTION_COMPILER_ARGS =
 
 if HAVE_INTROSPECTION
@@ -203,7 +204,7 @@ introspection_sources = \
 
 EDataServer-1.2.gir: libedataserver-1.2.la
 EDataServer_1_2_gir_INCLUDES = GObject-2.0 libxml2-2.0 Gio-2.0
-EDataServer_1_2_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) $(E_DATA_SERVER_CFLAGS) \
+EDataServer_1_2_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -DLIBEDATASERVER_COMPILATION $(E_DATA_SERVER_CFLAGS) \
 	$(SOUP_CFLAGS)
 EDataServer_1_2_gir_LIBS = libedataserver-1.2.la
 EDataServer_1_2_gir_FILES = $(introspection_sources)
diff --git a/libedataserver/e-categories.h b/libedataserver/e-categories.h
index 4bc048a..2baae0f 100644
--- a/libedataserver/e-categories.h
+++ b/libedataserver/e-categories.h
@@ -17,6 +17,10 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_CATEGORIES_H
 #define E_CATEGORIES_H
 
diff --git a/libedataserver/e-client-private.h b/libedataserver/e-client-private.h
index 8ae38ef..f1da0c4 100644
--- a/libedataserver/e-client-private.h
+++ b/libedataserver/e-client-private.h
@@ -22,10 +22,7 @@
 #ifndef E_CLIENT_PRIVATE_H
 #define E_CLIENT_PRIVATE_H
 
-#include <gio/gio.h>
-
-#include "libedataserver/e-source.h"
-#include "libedataserver/e-client.h"
+#include <libedataserver/libedataserver.h>
 
 G_BEGIN_DECLS
 
diff --git a/libedataserver/e-client.h b/libedataserver/e-client.h
index 5833cf0..203f95f 100644
--- a/libedataserver/e-client.h
+++ b/libedataserver/e-client.h
@@ -19,6 +19,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_CLIENT_H
 #define E_CLIENT_H
 
diff --git a/libedataserver/e-credentials.h b/libedataserver/e-credentials.h
index 8078fcd..e3dcd93 100644
--- a/libedataserver/e-credentials.h
+++ b/libedataserver/e-credentials.h
@@ -19,6 +19,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef EDS_DISABLE_DEPRECATED
 
 #ifndef E_CREDENTIALS_H
diff --git a/libedataserver/e-data-server-util.h b/libedataserver/e-data-server-util.h
index f9ba9cb..371a415 100644
--- a/libedataserver/e-data-server-util.h
+++ b/libedataserver/e-data-server-util.h
@@ -19,6 +19,10 @@
  * Authors: Rodrigo Moya <rodrigo ximian com>
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_DATA_SERVER_UTIL_H
 #define E_DATA_SERVER_UTIL_H
 
diff --git a/libedataserver/e-debug-log.h b/libedataserver/e-debug-log.h
index 1862a1a..9e40b07 100644
--- a/libedataserver/e-debug-log.h
+++ b/libedataserver/e-debug-log.h
@@ -21,6 +21,10 @@
  * Author: Federico Mena-Quintero <federico novell com>
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_DEBUG_LOG_H
 #define E_DEBUG_LOG_H
 
diff --git a/libedataserver/e-flag.h b/libedataserver/e-flag.h
index 10d2fb1..b10d9b9 100644
--- a/libedataserver/e-flag.h
+++ b/libedataserver/e-flag.h
@@ -17,6 +17,10 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_FLAG_H
 #define E_FLAG_H
 
diff --git a/libedataserver/e-gdbus-templates.h b/libedataserver/e-gdbus-templates.h
index a42be84..0c45d48 100644
--- a/libedataserver/e-gdbus-templates.h
+++ b/libedataserver/e-gdbus-templates.h
@@ -19,6 +19,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_GDBUS_TEMPLATES_H
 #define E_GDBUS_TEMPLATES_H
 
diff --git a/libedataserver/e-iterator.h b/libedataserver/e-iterator.h
index 356c239..1102f89 100644
--- a/libedataserver/e-iterator.h
+++ b/libedataserver/e-iterator.h
@@ -6,6 +6,10 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef EDS_DISABLE_DEPRECATED
 
 #ifndef E_ITERATOR_H
diff --git a/libedataserver/e-list-iterator.h b/libedataserver/e-list-iterator.h
index 3d3a954..e5386b4 100644
--- a/libedataserver/e-list-iterator.h
+++ b/libedataserver/e-list-iterator.h
@@ -6,6 +6,10 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef EDS_DISABLE_DEPRECATED
 
 #ifndef E_LIST_ITERATOR_H
diff --git a/libedataserver/e-list.h b/libedataserver/e-list.h
index 35a9690..7ee10bf 100644
--- a/libedataserver/e-list.h
+++ b/libedataserver/e-list.h
@@ -6,6 +6,10 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef EDS_DISABLE_DEPRECATED
 
 #ifndef E_LIST_H
diff --git a/libedataserver/e-memory.h b/libedataserver/e-memory.h
index f223349..3ec15de 100644
--- a/libedataserver/e-memory.h
+++ b/libedataserver/e-memory.h
@@ -19,6 +19,10 @@
  * USA
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_MEMORY_H
 #define E_MEMORY_H
 
diff --git a/libedataserver/e-operation-pool.h b/libedataserver/e-operation-pool.h
index 375f067..e5edf32 100644
--- a/libedataserver/e-operation-pool.h
+++ b/libedataserver/e-operation-pool.h
@@ -19,6 +19,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_OPERATION_POOL_H
 #define E_OPERATION_POOL_H
 
diff --git a/libedataserver/e-proxy.h b/libedataserver/e-proxy.h
index fb1cd3d..6dfa156 100644
--- a/libedataserver/e-proxy.h
+++ b/libedataserver/e-proxy.h
@@ -21,6 +21,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_PROXY_H
 #define E_PROXY_H
 
diff --git a/libedataserver/e-sexp.h b/libedataserver/e-sexp.h
index 17b2f18..9ff2935 100644
--- a/libedataserver/e-sexp.h
+++ b/libedataserver/e-sexp.h
@@ -1,6 +1,11 @@
 /*
  * generic s-exp evaluator class
 */
+
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef _E_SEXP_H
 #define _E_SEXP_H
 
diff --git a/libedataserver/e-source-address-book.c b/libedataserver/e-source-address-book.c
index 2687f1d..38eb98a 100644
--- a/libedataserver/e-source-address-book.c
+++ b/libedataserver/e-source-address-book.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-address-book
- * @include: libedataserver/e-source-address-book.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for an address book
  *
  * The #ESourceAddressBook extension identifies the #ESource as an
diff --git a/libedataserver/e-source-address-book.h b/libedataserver/e-source-address-book.h
index bd9dc25..dbe2f4e 100644
--- a/libedataserver/e-source-address-book.h
+++ b/libedataserver/e-source-address-book.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_ADDRESS_BOOK_H
 #define E_SOURCE_ADDRESS_BOOK_H
 
diff --git a/libedataserver/e-source-alarms.c b/libedataserver/e-source-alarms.c
index 57bdcc4..8238a07 100644
--- a/libedataserver/e-source-alarms.c
+++ b/libedataserver/e-source-alarms.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-alarms
- * @include: libedataserver/e-source-alarms.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for alarm state
  *
  * The #ESourceAlarms extension tracks alarm state for a calendar.
diff --git a/libedataserver/e-source-alarms.h b/libedataserver/e-source-alarms.h
index cacc7d5..630aa4f 100644
--- a/libedataserver/e-source-alarms.h
+++ b/libedataserver/e-source-alarms.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_ALARMS_H
 #define E_SOURCE_ALARMS_H
 
diff --git a/libedataserver/e-source-authentication.c b/libedataserver/e-source-authentication.c
index 9246c2c..7122734 100644
--- a/libedataserver/e-source-authentication.c
+++ b/libedataserver/e-source-authentication.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-authentication
- * @include: libedataserver/e-source-authentication.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for authentication settings
  *
  * The #ESourceAuthentication extension tracks authentication settings
diff --git a/libedataserver/e-source-authentication.h b/libedataserver/e-source-authentication.h
index 86faaf0..3d2fbe1 100644
--- a/libedataserver/e-source-authentication.h
+++ b/libedataserver/e-source-authentication.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_AUTHENTICATION_H
 #define E_SOURCE_AUTHENTICATION_H
 
diff --git a/libedataserver/e-source-authenticator.c b/libedataserver/e-source-authenticator.c
index 7d99599..3e9936b 100644
--- a/libedataserver/e-source-authenticator.c
+++ b/libedataserver/e-source-authenticator.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-authenticator
- * @include: libedataserver/e-source-authenticator.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: Interface for authentication attempts
  *
  * An object implementing the #ESourceAuthenticator interface gets passed
diff --git a/libedataserver/e-source-authenticator.h b/libedataserver/e-source-authenticator.h
index c40d09b..e9c0b7f 100644
--- a/libedataserver/e-source-authenticator.h
+++ b/libedataserver/e-source-authenticator.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_AUTHENTICATOR_H
 #define E_SOURCE_AUTHENTICATOR_H
 
diff --git a/libedataserver/e-source-autocomplete.c b/libedataserver/e-source-autocomplete.c
index 5aa9d13..93148e2 100644
--- a/libedataserver/e-source-autocomplete.c
+++ b/libedataserver/e-source-autocomplete.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-autocomplete
- * @include: libedataserver/e-source-autocomplete.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for autocomplete settings
  *
  * The #ESourceAutocomplete extension tracks contact autocompletion
diff --git a/libedataserver/e-source-autocomplete.h b/libedataserver/e-source-autocomplete.h
index db42606..56ec8c8 100644
--- a/libedataserver/e-source-autocomplete.h
+++ b/libedataserver/e-source-autocomplete.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_AUTOCOMPLETE_H
 #define E_SOURCE_AUTOCOMPLETE_H
 
diff --git a/libedataserver/e-source-backend.c b/libedataserver/e-source-backend.c
index e9be2ab..301ceb2 100644
--- a/libedataserver/e-source-backend.c
+++ b/libedataserver/e-source-backend.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-backend
- * @include: libedataserver/e-source-backend.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: Base class for backend-based data sources
  *
  * #ESourceBackend is an abstract base class for data sources requiring
diff --git a/libedataserver/e-source-backend.h b/libedataserver/e-source-backend.h
index 5d3baee..20c8dba 100644
--- a/libedataserver/e-source-backend.h
+++ b/libedataserver/e-source-backend.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_BACKEND_H
 #define E_SOURCE_BACKEND_H
 
diff --git a/libedataserver/e-source-calendar.c b/libedataserver/e-source-calendar.c
index 13d0d52..5714f9b 100644
--- a/libedataserver/e-source-calendar.c
+++ b/libedataserver/e-source-calendar.c
@@ -21,7 +21,7 @@
 
 /**
  * SECTION: e-source-calendar
- * @include: libedataserver/e-source-calendar.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for a calendar
  *
  * The #ESourceCalendar extension identifies the #ESource as a calendar.
@@ -39,7 +39,7 @@
 
 /**
  * SECTION: e-source-memo-list
- * @include: libedataserver/e-source-calendar.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for a memo list
  *
  * The #ESourceCalendar extension identifies the #ESource as a memo list.
@@ -57,7 +57,7 @@
 
 /**
  * SECTION: e-source-task-list
- * @include: libedataserver/e-source-calendar.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for a task list
  *
  * The #ESourceCalendar extension identifies the #ESource as a task list.
diff --git a/libedataserver/e-source-calendar.h b/libedataserver/e-source-calendar.h
index ac84bc4..573e0be 100644
--- a/libedataserver/e-source-calendar.h
+++ b/libedataserver/e-source-calendar.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_CALENDAR_H
 #define E_SOURCE_CALENDAR_H
 
diff --git a/libedataserver/e-source-camel.c b/libedataserver/e-source-camel.c
index df0d67b..107fc2d 100644
--- a/libedataserver/e-source-camel.c
+++ b/libedataserver/e-source-camel.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-camel
- * @include: libedataserver/e-source-camel.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for #CamelSettings
  *
  * #ESourceCamel itself is abstract.  Its sole function is to
diff --git a/libedataserver/e-source-camel.h b/libedataserver/e-source-camel.h
index 703955e..98d5265 100644
--- a/libedataserver/e-source-camel.h
+++ b/libedataserver/e-source-camel.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_CAMEL_H
 #define E_SOURCE_CAMEL_H
 
diff --git a/libedataserver/e-source-collection.c b/libedataserver/e-source-collection.c
index 4a80c4a..ce89226 100644
--- a/libedataserver/e-source-collection.c
+++ b/libedataserver/e-source-collection.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-collection
- * @include: libedataserver/e-source-collection.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for grouping related resources
  *
  * The #ESourceCollection extension identifies the #ESource as the root
diff --git a/libedataserver/e-source-collection.h b/libedataserver/e-source-collection.h
index b7e95be..36806d5 100644
--- a/libedataserver/e-source-collection.h
+++ b/libedataserver/e-source-collection.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_COLLECTION_H
 #define E_SOURCE_COLLECTION_H
 
diff --git a/libedataserver/e-source-enums.h b/libedataserver/e-source-enums.h
index d4c7214..8e7bf05 100644
--- a/libedataserver/e-source-enums.h
+++ b/libedataserver/e-source-enums.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_ENUMS_H
 #define E_SOURCE_ENUMS_H
 
diff --git a/libedataserver/e-source-extension.c b/libedataserver/e-source-extension.c
index 07024cf..4d7ea76 100644
--- a/libedataserver/e-source-extension.c
+++ b/libedataserver/e-source-extension.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-extension
- * @include: libedataserver/e-source-extension.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: Base class for #ESource extensions
  *
  * #ESourceExtension is an abstract base class for #ESource extension
diff --git a/libedataserver/e-source-extension.h b/libedataserver/e-source-extension.h
index 4095696..a51e4df 100644
--- a/libedataserver/e-source-extension.h
+++ b/libedataserver/e-source-extension.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_EXTENSION_H
 #define E_SOURCE_EXTENSION_H
 
diff --git a/libedataserver/e-source-goa.c b/libedataserver/e-source-goa.c
index 3fd17b9..9efd009 100644
--- a/libedataserver/e-source-goa.c
+++ b/libedataserver/e-source-goa.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-goa
- * @include: libedataserver/e-source-goa.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for GNOME Online Accounts
  *
  * The #ESourceGoa extension associates an #ESource with a #GoaAccount.
diff --git a/libedataserver/e-source-goa.h b/libedataserver/e-source-goa.h
index ed68d9f..bbbbb67 100644
--- a/libedataserver/e-source-goa.h
+++ b/libedataserver/e-source-goa.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_GOA_H
 #define E_SOURCE_GOA_H
 
diff --git a/libedataserver/e-source-mail-account.c b/libedataserver/e-source-mail-account.c
index 65c2698..8331a87 100644
--- a/libedataserver/e-source-mail-account.c
+++ b/libedataserver/e-source-mail-account.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-mail-account
- * @include: libedataserver/e-source-mail-account.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for an email account
  *
  * The #ESourceMailAccount extension identifies the #ESource as a
diff --git a/libedataserver/e-source-mail-account.h b/libedataserver/e-source-mail-account.h
index c956ae3..506182c 100644
--- a/libedataserver/e-source-mail-account.h
+++ b/libedataserver/e-source-mail-account.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_MAIL_ACCOUNT_H
 #define E_SOURCE_MAIL_ACCOUNT_H
 
diff --git a/libedataserver/e-source-mail-composition.c b/libedataserver/e-source-mail-composition.c
index db42b88..d26668c 100644
--- a/libedataserver/e-source-mail-composition.c
+++ b/libedataserver/e-source-mail-composition.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-mail-composition
- * @include: libedataserver/e-source-mail-composition.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for mail composition settings
  *
  * The #ESourceMailComposition extension tracks settings to be applied
diff --git a/libedataserver/e-source-mail-composition.h b/libedataserver/e-source-mail-composition.h
index 29c8ffd..5430433 100644
--- a/libedataserver/e-source-mail-composition.h
+++ b/libedataserver/e-source-mail-composition.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_MAIL_COMPOSITION_H
 #define E_SOURCE_MAIL_COMPOSITION_H
 
diff --git a/libedataserver/e-source-mail-identity.c b/libedataserver/e-source-mail-identity.c
index 2f1797b..7e7a330 100644
--- a/libedataserver/e-source-mail-identity.c
+++ b/libedataserver/e-source-mail-identity.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-mail-identity
- * @include: libedataserver/e-source-mail-identity.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for an email identity
  *
  * The #ESourceMailIdentity extension describes an "identity" for a mail
diff --git a/libedataserver/e-source-mail-identity.h b/libedataserver/e-source-mail-identity.h
index 276fc84..9b2cef0 100644
--- a/libedataserver/e-source-mail-identity.h
+++ b/libedataserver/e-source-mail-identity.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_MAIL_IDENTITY_H
 #define E_SOURCE_MAIL_IDENTITY_H
 
diff --git a/libedataserver/e-source-mail-signature.c b/libedataserver/e-source-mail-signature.c
index fc198d7..3860139 100644
--- a/libedataserver/e-source-mail-signature.c
+++ b/libedataserver/e-source-mail-signature.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-mail-signature
- * @include: libedataserver/e-source-mail-signature.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for email signatures
  *
  * The #ESourceMailSignature extension refers to a personalized email
diff --git a/libedataserver/e-source-mail-signature.h b/libedataserver/e-source-mail-signature.h
index 3922f8f..668c8be 100644
--- a/libedataserver/e-source-mail-signature.h
+++ b/libedataserver/e-source-mail-signature.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_MAIL_SIGNATURE_H
 #define E_SOURCE_MAIL_SIGNATURE_H
 
diff --git a/libedataserver/e-source-mail-submission.c b/libedataserver/e-source-mail-submission.c
index 32d84c7..448939f 100644
--- a/libedataserver/e-source-mail-submission.c
+++ b/libedataserver/e-source-mail-submission.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-mail-submission
- * @include: libedataserver/e-source-mail-submission.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for submitting emails
  *
  * The #ESourceMailSubmission extension tracks settings to be applied
diff --git a/libedataserver/e-source-mail-submission.h b/libedataserver/e-source-mail-submission.h
index 0833609..d23e541 100644
--- a/libedataserver/e-source-mail-submission.h
+++ b/libedataserver/e-source-mail-submission.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_MAIL_SUBMISSION_H
 #define E_SOURCE_MAIL_SUBMISSION_H
 
diff --git a/libedataserver/e-source-mail-transport.c b/libedataserver/e-source-mail-transport.c
index d54f993..847fa9e 100644
--- a/libedataserver/e-source-mail-transport.c
+++ b/libedataserver/e-source-mail-transport.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-mail-transport
- * @include: libedataserver/e-source-mail-transport.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for an email transport
  *
  * The #ESourceMailTransport extension identifies the #ESource as a
diff --git a/libedataserver/e-source-mail-transport.h b/libedataserver/e-source-mail-transport.h
index de55111..72c18bf 100644
--- a/libedataserver/e-source-mail-transport.h
+++ b/libedataserver/e-source-mail-transport.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_MAIL_TRANSPORT_H
 #define E_SOURCE_MAIL_TRANSPORT_H
 
diff --git a/libedataserver/e-source-mdn.c b/libedataserver/e-source-mdn.c
index e63d645..6776e88 100644
--- a/libedataserver/e-source-mdn.c
+++ b/libedataserver/e-source-mdn.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-mdn
- * @include: libedataserver/e-source-mdn.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for MDN settings
  *
  * The #ESourceMDN extension tracks Message Disposition Notification
diff --git a/libedataserver/e-source-mdn.h b/libedataserver/e-source-mdn.h
index 016ef7d..404ea00 100644
--- a/libedataserver/e-source-mdn.h
+++ b/libedataserver/e-source-mdn.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_MDN_H
 #define E_SOURCE_MDN_H
 
diff --git a/libedataserver/e-source-offline.c b/libedataserver/e-source-offline.c
index b5f60f4..2a34cb9 100644
--- a/libedataserver/e-source-offline.c
+++ b/libedataserver/e-source-offline.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-offline
- * @include: libedataserver/e-source-offline.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for offline settings
  *
  * The #ESourceOffline extension tracks whether data from a remote
diff --git a/libedataserver/e-source-offline.h b/libedataserver/e-source-offline.h
index 00053db..5f34a6a 100644
--- a/libedataserver/e-source-offline.h
+++ b/libedataserver/e-source-offline.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_OFFLINE_H
 #define E_SOURCE_OFFLINE_H
 
diff --git a/libedataserver/e-source-openpgp.c b/libedataserver/e-source-openpgp.c
index 18aa3ab..ebdfbaf 100644
--- a/libedataserver/e-source-openpgp.c
+++ b/libedataserver/e-source-openpgp.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-openpgp
- * @include: libedataserver/e-source-openpgp.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for OpenPGP settings
  *
  * The #ESourceOpenPGP extension tracks OpenPGP (RFC 4880) settings to be
diff --git a/libedataserver/e-source-openpgp.h b/libedataserver/e-source-openpgp.h
index 840b929..c4d5348 100644
--- a/libedataserver/e-source-openpgp.h
+++ b/libedataserver/e-source-openpgp.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_OPENPGP_H
 #define E_SOURCE_OPENPGP_H
 
diff --git a/libedataserver/e-source-refresh.c b/libedataserver/e-source-refresh.c
index 7c5fa57..8c0e493 100644
--- a/libedataserver/e-source-refresh.c
+++ b/libedataserver/e-source-refresh.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-refresh
- * @include: libedataserver/e-source-refresh.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for refresh settings
  *
  * The #ESourceRefresh extension tracks the interval for fetching
diff --git a/libedataserver/e-source-refresh.h b/libedataserver/e-source-refresh.h
index 9b05ba9..1856176 100644
--- a/libedataserver/e-source-refresh.h
+++ b/libedataserver/e-source-refresh.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_REFRESH_H
 #define E_SOURCE_REFRESH_H
 
diff --git a/libedataserver/e-source-registry.c b/libedataserver/e-source-registry.c
index 6d4f5a0..01237b1 100644
--- a/libedataserver/e-source-registry.c
+++ b/libedataserver/e-source-registry.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-registry
- * @include: libedataserver/e-source-registry.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: A central repository for data sources
  *
  * The #ESourceRegistry is a global singleton store for all #ESource
diff --git a/libedataserver/e-source-registry.h b/libedataserver/e-source-registry.h
index c675fa7..8ee290f 100644
--- a/libedataserver/e-source-registry.h
+++ b/libedataserver/e-source-registry.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_REGISTRY_H
 #define E_SOURCE_REGISTRY_H
 
diff --git a/libedataserver/e-source-security.c b/libedataserver/e-source-security.c
index 6bc916d..b2d945b 100644
--- a/libedataserver/e-source-security.c
+++ b/libedataserver/e-source-security.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-security
- * @include: libedataserver/e-source-security.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for security settings
  *
  * The #ESourceSecurity extension tracks settings for establishing a
diff --git a/libedataserver/e-source-security.h b/libedataserver/e-source-security.h
index 28e2e85..67d083e 100644
--- a/libedataserver/e-source-security.h
+++ b/libedataserver/e-source-security.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_SECURITY_H
 #define E_SOURCE_SECURITY_H
 
diff --git a/libedataserver/e-source-selectable.c b/libedataserver/e-source-selectable.c
index 5645387..1e9aede 100644
--- a/libedataserver/e-source-selectable.c
+++ b/libedataserver/e-source-selectable.c
@@ -18,10 +18,9 @@
 
 /**
  * SECTION: e-source-selectable
- * @include: libedataserver/e-source-selectable.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: Base class for selectable data sources
- * @see_also: #ESourceAddressBook, #ESourceCalendar, #ESourceMemoList,
- *            #ESourceTaskList
+ * @see_also: #ESourceCalendar, #ESourceMemoList, #ESourceTaskList
  *
  * #ESourceSelectable is an abstract base class for data sources
  * that can be selected in an #ESourceSelector or similar widget.
diff --git a/libedataserver/e-source-selectable.h b/libedataserver/e-source-selectable.h
index 07d43b0..59df451 100644
--- a/libedataserver/e-source-selectable.h
+++ b/libedataserver/e-source-selectable.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_SELECTABLE_H
 #define E_SOURCE_SELECTABLE_H
 
diff --git a/libedataserver/e-source-smime.c b/libedataserver/e-source-smime.c
index 7bb7fb6..4e631fb 100644
--- a/libedataserver/e-source-smime.c
+++ b/libedataserver/e-source-smime.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-smime
- * @include: libedataserver/e-source-smime.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for S/MIME settings
  *
  * The #ESourceSMIME extension tracks Secure/Multipurpose Internet Mail
diff --git a/libedataserver/e-source-smime.h b/libedataserver/e-source-smime.h
index 841727f..4a1659d 100644
--- a/libedataserver/e-source-smime.h
+++ b/libedataserver/e-source-smime.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_SMIME_H
 #define E_SOURCE_SMIME_H
 
diff --git a/libedataserver/e-source-webdav.c b/libedataserver/e-source-webdav.c
index 917a568..e09f1e3 100644
--- a/libedataserver/e-source-webdav.c
+++ b/libedataserver/e-source-webdav.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source-webdav
- * @include: libedataserver/e-source-webdav.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: #ESource extension for WebDAV settings
  *
  * The #ESourceWebdav extension tracks settings for accessing resources
diff --git a/libedataserver/e-source-webdav.h b/libedataserver/e-source-webdav.h
index 3871277..1e69471 100644
--- a/libedataserver/e-source-webdav.h
+++ b/libedataserver/e-source-webdav.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_WEBDAV_H
 #define E_SOURCE_WEBDAV_H
 
diff --git a/libedataserver/e-source.c b/libedataserver/e-source.c
index 62a7a9a..4e668fd 100644
--- a/libedataserver/e-source.c
+++ b/libedataserver/e-source.c
@@ -18,7 +18,7 @@
 
 /**
  * SECTION: e-source
- * @include: libedataserver/e-source.h
+ * @include: libedataserver/libedataserver.h
  * @short_description: Hierarchical data sources
  *
  * An #ESource (or "data source") is a description of a file or network
diff --git a/libedataserver/e-source.h b/libedataserver/e-source.h
index df2b520..8e42ef5 100644
--- a/libedataserver/e-source.h
+++ b/libedataserver/e-source.h
@@ -16,6 +16,10 @@
  *
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_H
 #define E_SOURCE_H
 
diff --git a/libedataserver/e-time-utils.h b/libedataserver/e-time-utils.h
index 78a5a8d..a791856 100644
--- a/libedataserver/e-time-utils.h
+++ b/libedataserver/e-time-utils.h
@@ -8,6 +8,10 @@
  * (C) 2001 Ximian, Inc.
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_TIME_UTILS_H
 #define E_TIME_UTILS_H
 
diff --git a/libedataserver/e-uid.h b/libedataserver/e-uid.h
index 7286d73..a0b80c7 100644
--- a/libedataserver/e-uid.h
+++ b/libedataserver/e-uid.h
@@ -20,6 +20,10 @@
  * Author: Dan Winship <danw ximian com>
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_UID_H
 #define E_UID_H
 
diff --git a/libedataserver/e-url.h b/libedataserver/e-url.h
index 168cbae..783bb2d 100644
--- a/libedataserver/e-url.h
+++ b/libedataserver/e-url.h
@@ -25,6 +25,10 @@
  * USA.
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_URL_H
 #define E_URL_H
 
diff --git a/libedataserver/e-xml-hash-utils.h b/libedataserver/e-xml-hash-utils.h
index 0150f06..88c6821 100644
--- a/libedataserver/e-xml-hash-utils.h
+++ b/libedataserver/e-xml-hash-utils.h
@@ -17,6 +17,10 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_XML_HASH_UTILS_H
 #define E_XML_HASH_UTILS_H
 
diff --git a/libedataserver/e-xml-utils.h b/libedataserver/e-xml-utils.h
index cda2b1c..663671c 100644
--- a/libedataserver/e-xml-utils.h
+++ b/libedataserver/e-xml-utils.h
@@ -17,6 +17,10 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
+#error "Only <libedataserver/libedataserver.h> should be included directly."
+#endif
+
 #ifndef E_XML_UTILS_H
 #define E_XML_UTILS_H
 
diff --git a/libedataserver/libedataserver.h b/libedataserver/libedataserver.h
new file mode 100644
index 0000000..98d999d
--- /dev/null
+++ b/libedataserver/libedataserver.h
@@ -0,0 +1,77 @@
+/*
+ * libedataserver.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#ifndef LIBEDATASERVER_H
+#define LIBEDATASERVER_H
+
+#define __LIBEDATASERVER_H_INSIDE__
+
+#include <libedataserver/e-categories.h>
+#include <libedataserver/e-client.h>
+#include <libedataserver/e-credentials.h>
+#include <libedataserver/e-data-server-util.h>
+#include <libedataserver/e-debug-log.h>
+#include <libedataserver/e-flag.h>
+#include <libedataserver/e-gdbus-marshallers.h>
+#include <libedataserver/e-gdbus-templates.h>
+#include <libedataserver/e-iterator.h>
+#include <libedataserver/e-list-iterator.h>
+#include <libedataserver/e-list.h>
+#include <libedataserver/e-memory.h>
+#include <libedataserver/e-operation-pool.h>
+#include <libedataserver/e-proxy.h>
+#include <libedataserver/e-sexp.h>
+#include <libedataserver/e-source-address-book.h>
+#include <libedataserver/e-source-alarms.h>
+#include <libedataserver/e-source-authentication.h>
+#include <libedataserver/e-source-autocomplete.h>
+#include <libedataserver/e-source-backend.h>
+#include <libedataserver/e-source-calendar.h>
+#include <libedataserver/e-source-camel.h>
+#include <libedataserver/e-source-collection.h>
+#include <libedataserver/e-source-enums.h>
+#include <libedataserver/e-source-enumtypes.h>
+#include <libedataserver/e-source-extension.h>
+#include <libedataserver/e-source-goa.h>
+#include <libedataserver/e-source-mail-account.h>
+#include <libedataserver/e-source-mail-composition.h>
+#include <libedataserver/e-source-mail-identity.h>
+#include <libedataserver/e-source-mail-signature.h>
+#include <libedataserver/e-source-mail-submission.h>
+#include <libedataserver/e-source-mail-transport.h>
+#include <libedataserver/e-source-mdn.h>
+#include <libedataserver/e-source-offline.h>
+#include <libedataserver/e-source-openpgp.h>
+#include <libedataserver/e-source-refresh.h>
+#include <libedataserver/e-source-registry.h>
+#include <libedataserver/e-source-security.h>
+#include <libedataserver/e-source-selectable.h>
+#include <libedataserver/e-source-smime.h>
+#include <libedataserver/e-source-webdav.h>
+#include <libedataserver/e-source.h>
+#include <libedataserver/e-time-utils.h>
+#include <libedataserver/e-uid.h>
+#include <libedataserver/e-url.h>
+#include <libedataserver/e-xml-hash-utils.h>
+#include <libedataserver/e-xml-utils.h>
+#include <libedataserver/eds-version.h>
+
+#undef __LIBEDATASERVER_H_INSIDE__
+
+#endif /* LIBEDATASERVER_H */
+
diff --git a/libedataserverui/Makefile.am b/libedataserverui/Makefile.am
index 2b5d51f..28ea8b3 100644
--- a/libedataserverui/Makefile.am
+++ b/libedataserverui/Makefile.am
@@ -9,6 +9,7 @@ CPPFLAGS = \
 	-I$(top_builddir)/addressbook		\
 	-I$(top_srcdir)/calendar		\
 	-I$(top_builddir)/calendar		\
+	-DLIBEDATASERVERUI_COMPILATION		\
 	-DG_LOG_DOMAIN=\"e-data-server-ui\"	\
 	-DE_DATA_SERVER_UI_UIDIR=\""$(uidir)"\"	\
 	$(E_DATA_SERVER_UI_CFLAGS)		\
@@ -19,6 +20,7 @@ CPPFLAGS = \
 lib_LTLIBRARIES = libedataserverui-3.0.la
 
 libedataserveruiinclude_HEADERS =	\
+	libedataserverui.h		\
 	e-categories-dialog.h		\
 	e-categories-editor.h		\
 	e-categories-selector.h		\
diff --git a/libedataserverui/e-book-auth-util.c b/libedataserverui/e-book-auth-util.c
index c35ad0d..99b5973 100644
--- a/libedataserverui/e-book-auth-util.c
+++ b/libedataserverui/e-book-auth-util.c
@@ -30,10 +30,9 @@
 #include <string.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n-lib.h>
-#include <libebook/e-book.h>
+
 #include <libedataserverui/e-passwords.h>
-#include <libedataserver/e-url.h>
-#include <libedataserver/e-source-authentication.h>
+
 #include "e-book-auth-util.h"
 
 typedef struct {
diff --git a/libedataserverui/e-book-auth-util.h b/libedataserverui/e-book-auth-util.h
index ed3514b..0313c6b 100644
--- a/libedataserverui/e-book-auth-util.h
+++ b/libedataserverui/e-book-auth-util.h
@@ -20,13 +20,17 @@
  *
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_BOOK_AUTH_UTIL_H
 #define E_BOOK_AUTH_UTIL_H
 
 #ifndef E_BOOK_DISABLE_DEPRECATED
 
 #include <gtk/gtk.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 G_BEGIN_DECLS
 
diff --git a/libedataserverui/e-categories-dialog.c b/libedataserverui/e-categories-dialog.c
index 89e8d68..aff1912 100644
--- a/libedataserverui/e-categories-dialog.c
+++ b/libedataserverui/e-categories-dialog.c
@@ -25,8 +25,10 @@
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 #include <glib/gi18n-lib.h>
-#include "libedataserver/e-categories.h"
-#include "libedataserver/libedataserver-private.h"
+
+#include <libedataserver/libedataserver.h>
+#include <libedataserver/libedataserver-private.h>
+
 #include "e-categories-dialog.h"
 #include "e-categories-editor.h"
 #include "e-categories-selector.h"
diff --git a/libedataserverui/e-categories-dialog.h b/libedataserverui/e-categories-dialog.h
index dd306b3..a2d0511 100644
--- a/libedataserverui/e-categories-dialog.h
+++ b/libedataserverui/e-categories-dialog.h
@@ -17,6 +17,10 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_CATEGORIES_DIALOG_H
 #define E_CATEGORIES_DIALOG_H
 
diff --git a/libedataserverui/e-categories-editor.c b/libedataserverui/e-categories-editor.c
index f86d059..9080322 100644
--- a/libedataserverui/e-categories-editor.c
+++ b/libedataserverui/e-categories-editor.c
@@ -22,8 +22,10 @@
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 #include <glib/gi18n-lib.h>
-#include "libedataserver/e-categories.h"
-#include "libedataserver/libedataserver-private.h"
+
+#include <libedataserver/libedataserver.h>
+#include <libedataserver/libedataserver-private.h>
+
 #include "e-categories-editor.h"
 #include "e-categories-selector.h"
 #include "e-category-completion.h"
diff --git a/libedataserverui/e-categories-editor.h b/libedataserverui/e-categories-editor.h
index 02a3951..b088348 100644
--- a/libedataserverui/e-categories-editor.h
+++ b/libedataserverui/e-categories-editor.h
@@ -17,6 +17,10 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_CATEGORIES_EDITOR_H
 #define E_CATEGORIES_EDITOR_H
 
diff --git a/libedataserverui/e-categories-selector.c b/libedataserverui/e-categories-selector.c
index 9fd1677..9ebb00e 100644
--- a/libedataserverui/e-categories-selector.c
+++ b/libedataserverui/e-categories-selector.c
@@ -19,7 +19,9 @@
 
 #include <config.h>
 #include <glib/gi18n-lib.h>
-#include "libedataserver/e-categories.h"
+
+#include <libedataserver/libedataserver.h>
+
 #include "e-categories-selector.h"
 #include "e-data-server-ui-marshal.h"
 
diff --git a/libedataserverui/e-categories-selector.h b/libedataserverui/e-categories-selector.h
index acb93c0..ac06ac8 100644
--- a/libedataserverui/e-categories-selector.h
+++ b/libedataserverui/e-categories-selector.h
@@ -17,6 +17,10 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_CATEGORIES_SELECTOR_H
 #define E_CATEGORIES_SELECTOR_H
 
diff --git a/libedataserverui/e-category-completion.c b/libedataserverui/e-category-completion.c
index 6ab1406..095df50 100644
--- a/libedataserverui/e-category-completion.c
+++ b/libedataserverui/e-category-completion.c
@@ -23,7 +23,8 @@
 
 #include <string.h>
 #include <glib/gi18n-lib.h>
-#include <libedataserver/e-categories.h>
+
+#include <libedataserver/libedataserver.h>
 
 #define E_CATEGORY_COMPLETION_GET_PRIVATE(obj) \
 	(G_TYPE_INSTANCE_GET_PRIVATE \
diff --git a/libedataserverui/e-category-completion.h b/libedataserverui/e-category-completion.h
index db32370..397d47a 100644
--- a/libedataserverui/e-category-completion.h
+++ b/libedataserverui/e-category-completion.h
@@ -15,6 +15,10 @@
  * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_CATEGORY_COMPLETION_H
 #define E_CATEGORY_COMPLETION_H
 
diff --git a/libedataserverui/e-category-editor.c b/libedataserverui/e-category-editor.c
index 03d4e47..3f83f0b 100644
--- a/libedataserverui/e-category-editor.c
+++ b/libedataserverui/e-category-editor.c
@@ -23,7 +23,9 @@
 #include <string.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n-lib.h>
-#include "libedataserver/e-categories.h"
+
+#include <libedataserver/libedataserver.h>
+
 #include "e-category-editor.h"
 
 #define E_CATEGORY_EDITOR_GET_PRIVATE(obj) \
diff --git a/libedataserverui/e-category-editor.h b/libedataserverui/e-category-editor.h
index e17290b..5ca0b1c 100644
--- a/libedataserverui/e-category-editor.h
+++ b/libedataserverui/e-category-editor.h
@@ -17,6 +17,10 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_CATEGORY_EDITOR_H
 #define E_CATEGORY_EDITOR_H
 
diff --git a/libedataserverui/e-cell-renderer-color.h b/libedataserverui/e-cell-renderer-color.h
index 0e0da70..0c3315f 100644
--- a/libedataserverui/e-cell-renderer-color.h
+++ b/libedataserverui/e-cell-renderer-color.h
@@ -18,6 +18,10 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef _E_CELL_RENDERER_COLOR_H_
 #define _E_CELL_RENDERER_COLOR_H_
 
diff --git a/libedataserverui/e-client-utils.c b/libedataserverui/e-client-utils.c
index ca17864..e920b79 100644
--- a/libedataserverui/e-client-utils.c
+++ b/libedataserverui/e-client-utils.c
@@ -27,12 +27,10 @@
 #include <gtk/gtk.h>
 #include <libsoup/soup.h>
 
-#include <libedataserver/e-client.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libebook/e-book-client.h>
-#include <libecal/e-cal-client.h>
+#include <libebook/libebook.h>
+#include <libecal/libecal.h>
 
-#include "libedataserver/e-client-private.h"
+#include <libedataserver/e-client-private.h>
 
 #include "e-passwords.h"
 #include "e-client-utils.h"
diff --git a/libedataserverui/e-client-utils.h b/libedataserverui/e-client-utils.h
index 048abe1..3dbba31 100644
--- a/libedataserverui/e-client-utils.h
+++ b/libedataserverui/e-client-utils.h
@@ -19,12 +19,15 @@
  *
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_CLIENT_UTILS_H
 #define E_CLIENT_UTILS_H
 
 #include <gtk/gtk.h>
-
-#include <libedataserver/e-client.h>
+#include <libedataserver/libedataserver.h>
 
 G_BEGIN_DECLS
 
diff --git a/libedataserverui/e-contact-store.c b/libedataserverui/e-contact-store.c
index 9c81cd1..5aa4ce9 100644
--- a/libedataserverui/e-contact-store.c
+++ b/libedataserverui/e-contact-store.c
@@ -26,6 +26,7 @@
 
 #include <string.h>
 #include <glib/gi18n-lib.h>
+
 #include "e-contact-store.h"
 
 #define ITER_IS_VALID(contact_store, iter) \
diff --git a/libedataserverui/e-contact-store.h b/libedataserverui/e-contact-store.h
index 645df62..86dbe49 100644
--- a/libedataserverui/e-contact-store.h
+++ b/libedataserverui/e-contact-store.h
@@ -20,14 +20,15 @@
  * Authors: Hans Petter Jansson <hpj novell com>
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_CONTACT_STORE_H
 #define E_CONTACT_STORE_H
 
 #include <gtk/gtk.h>
-#include <libebook/e-contact.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-client-view.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
 
 /* Standard GObject macros */
 #define E_TYPE_CONTACT_STORE \
diff --git a/libedataserverui/e-destination-store.c b/libedataserverui/e-destination-store.c
index 80e681c..1f9309e 100644
--- a/libedataserverui/e-destination-store.c
+++ b/libedataserverui/e-destination-store.c
@@ -26,6 +26,7 @@
 
 #include <string.h>
 #include <glib/gi18n-lib.h>
+
 #include "e-destination-store.h"
 
 #define ITER_IS_VALID(destination_store, iter) \
diff --git a/libedataserverui/e-destination-store.h b/libedataserverui/e-destination-store.h
index 67f2a79..3d18b87 100644
--- a/libedataserverui/e-destination-store.h
+++ b/libedataserverui/e-destination-store.h
@@ -20,11 +20,15 @@
  * Authors: Hans Petter Jansson <hpj novell com>
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_DESTINATION_STORE_H
 #define E_DESTINATION_STORE_H
 
 #include <gtk/gtk.h>
-#include <libebook/e-destination.h>
+#include <libebook/libebook.h>
 
 /* Standard GObject macros */
 #define E_TYPE_DESTINATION_STORE \
diff --git a/libedataserverui/e-name-selector-dialog.c b/libedataserverui/e-name-selector-dialog.c
index b12aaa4..5fd7f0b 100644
--- a/libedataserverui/e-name-selector-dialog.c
+++ b/libedataserverui/e-name-selector-dialog.c
@@ -30,15 +30,8 @@
 #include <gdk/gdkkeysyms.h>
 #include <glib/gi18n-lib.h>
 
-#include <libedataserver/e-sexp.h>
-#include <libedataserver/e-categories.h>
-#include <libedataserver/e-source-address-book.h>
-
-#include <libebackend/e-extensible.h>
-
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-client-view.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
+#include <libebackend/libebackend.h>
 
 #include "e-source-combo-box.h"
 #include "e-destination-store.h"
diff --git a/libedataserverui/e-name-selector-dialog.h b/libedataserverui/e-name-selector-dialog.h
index 35d93b3..ee78ff9 100644
--- a/libedataserverui/e-name-selector-dialog.h
+++ b/libedataserverui/e-name-selector-dialog.h
@@ -21,11 +21,16 @@
  * Authors: Hans Petter Jansson <hpj novell com>
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_NAME_SELECTOR_DIALOG_H
 #define E_NAME_SELECTOR_DIALOG_H
 
 #include <gtk/gtk.h>
-#include <libedataserver/e-source-registry.h>
+#include <libedataserver/libedataserver.h>
+
 #include <libedataserverui/e-contact-store.h>
 #include <libedataserverui/e-name-selector-model.h>
 
diff --git a/libedataserverui/e-name-selector-entry.c b/libedataserverui/e-name-selector-entry.c
index c4eeffe..3abec38 100644
--- a/libedataserverui/e-name-selector-entry.c
+++ b/libedataserverui/e-name-selector-entry.c
@@ -27,16 +27,8 @@
 #include <gconf/gconf-client.h>
 
 #include <camel/camel.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-contact.h>
-#include <libebook/e-destination.h>
+#include <libebackend/libebackend.h>
 
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserver/e-source-autocomplete.h>
-#include <libedataserver/e-source-registry.h>
-
-#include <libedataserver/e-sexp.h>
-#include <libebackend/e-extensible.h>
 #include <libedataserverui/e-client-utils.h>
 
 #include "e-name-selector-entry.h"
diff --git a/libedataserverui/e-name-selector-entry.h b/libedataserverui/e-name-selector-entry.h
index b31430a..ce77a67 100644
--- a/libedataserverui/e-name-selector-entry.h
+++ b/libedataserverui/e-name-selector-entry.h
@@ -21,12 +21,16 @@
  * Authors: Hans Petter Jansson <hpj novell com>
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_NAME_SELECTOR_ENTRY_H
 #define E_NAME_SELECTOR_ENTRY_H
 
 #include <gtk/gtk.h>
-#include <libebook/e-contact.h>
-#include <libedataserver/e-source-registry.h>
+#include <libebook/libebook.h>
+
 #include <libedataserverui/e-contact-store.h>
 #include <libedataserverui/e-destination-store.h>
 #include <libedataserverui/e-tree-model-generator.h>
diff --git a/libedataserverui/e-name-selector-list.c b/libedataserverui/e-name-selector-list.c
index 33161ea..13a7d04 100644
--- a/libedataserverui/e-name-selector-list.c
+++ b/libedataserverui/e-name-selector-list.c
@@ -28,13 +28,10 @@
 #include <gdk/gdkkeysyms.h>
 #include <glib/gi18n-lib.h>
 
-#include <libebook/e-book.h>
-#include <libebook/e-contact.h>
-#include <libebook/e-destination.h>
 #include <libedataserverui/e-book-auth-util.h>
-#include "libedataserver/e-sexp.h"
 #include <libedataserverui/e-data-server-ui-marshal.h>
 #include <libedataserverui/e-name-selector-entry.h>
+
 #include "e-name-selector-list.h"
 
 #define E_NAME_SELECTOR_LIST_GET_PRIVATE(obj) \
diff --git a/libedataserverui/e-name-selector-list.h b/libedataserverui/e-name-selector-list.h
index c863eab..0dd4234 100644
--- a/libedataserverui/e-name-selector-list.h
+++ b/libedataserverui/e-name-selector-list.h
@@ -22,11 +22,16 @@
  *
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_NAME_SELECTOR_LIST_H
 #define E_NAME_SELECTOR_LIST_H
 
 #include <gtk/gtk.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
+
 #include <libedataserverui/e-contact-store.h>
 #include <libedataserverui/e-destination-store.h>
 #include <libedataserverui/e-tree-model-generator.h>
diff --git a/libedataserverui/e-name-selector-model.h b/libedataserverui/e-name-selector-model.h
index 5f14a8e..ac86ed4 100644
--- a/libedataserverui/e-name-selector-model.h
+++ b/libedataserverui/e-name-selector-model.h
@@ -20,6 +20,10 @@
  * Authors: Hans Petter Jansson <hpj novell com>
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_NAME_SELECTOR_MODEL_H
 #define E_NAME_SELECTOR_MODEL_H
 
diff --git a/libedataserverui/e-name-selector.c b/libedataserverui/e-name-selector.c
index 9b19445..effd8fe 100644
--- a/libedataserverui/e-name-selector.c
+++ b/libedataserverui/e-name-selector.c
@@ -27,10 +27,9 @@
 #include <string.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n-lib.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-contact.h>
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserver/e-source-autocomplete.h>
+
+#include <libebook/libebook.h>
+
 #include <libedataserverui/e-client-utils.h>
 #include <libedataserverui/e-contact-store.h>
 #include <libedataserverui/e-destination-store.h>
diff --git a/libedataserverui/e-name-selector.h b/libedataserverui/e-name-selector.h
index 7449f7d..40ad1f9 100644
--- a/libedataserverui/e-name-selector.h
+++ b/libedataserverui/e-name-selector.h
@@ -20,10 +20,15 @@
  * Authors: Hans Petter Jansson <hpj novell com>
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_NAME_SELECTOR_H
 #define E_NAME_SELECTOR_H
 
-#include <libedataserver/e-source-registry.h>
+#include <libedataserver/libedataserver.h>
+
 #include <libedataserverui/e-name-selector-model.h>
 #include <libedataserverui/e-name-selector-dialog.h>
 #include <libedataserverui/e-name-selector-entry.h>
diff --git a/libedataserverui/e-passwords.c b/libedataserverui/e-passwords.c
index f13e314..96ce70e 100644
--- a/libedataserverui/e-passwords.c
+++ b/libedataserverui/e-passwords.c
@@ -48,9 +48,9 @@
 #include <glib/gi18n-lib.h>
 #include <gnome-keyring.h>
 
+#include <libedataserver/libedataserver.h>
+
 #include "e-passwords.h"
-#include "libedataserver/e-flag.h"
-#include "libedataserver/e-url.h"
 
 #define d(x)
 
diff --git a/libedataserverui/e-passwords.h b/libedataserverui/e-passwords.h
index 870e5f1..0c3b857 100644
--- a/libedataserverui/e-passwords.h
+++ b/libedataserverui/e-passwords.h
@@ -20,6 +20,10 @@
  * USA.
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef EDS_DISABLE_DEPRECATED
 
 #ifndef _E_PASSWORD_H_
diff --git a/libedataserverui/e-source-combo-box.c b/libedataserverui/e-source-combo-box.c
index ee69b93..078143d 100644
--- a/libedataserverui/e-source-combo-box.c
+++ b/libedataserverui/e-source-combo-box.c
@@ -22,8 +22,6 @@
 #include <config.h>
 #endif
 
-#include <libedataserver/e-source-selectable.h>
-
 #include "e-source-combo-box.h"
 #include "e-cell-renderer-color.h"
 
diff --git a/libedataserverui/e-source-combo-box.h b/libedataserverui/e-source-combo-box.h
index 1083891..94d92e7 100644
--- a/libedataserverui/e-source-combo-box.h
+++ b/libedataserverui/e-source-combo-box.h
@@ -18,11 +18,15 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_COMBO_BOX_H
 #define E_SOURCE_COMBO_BOX_H
 
 #include <gtk/gtk.h>
-#include <libedataserver/e-source-registry.h>
+#include <libedataserver/libedataserver.h>
 
 #define E_TYPE_SOURCE_COMBO_BOX \
 	(e_source_combo_box_get_type ())
diff --git a/libedataserverui/e-source-selector-dialog.h b/libedataserverui/e-source-selector-dialog.h
index 86eb959..3ebb3b7 100644
--- a/libedataserverui/e-source-selector-dialog.h
+++ b/libedataserverui/e-source-selector-dialog.h
@@ -21,6 +21,10 @@
  * Author: Rodrigo Moya <rodrigo novell com>
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_SELECTOR_DIALOG_H
 #define E_SOURCE_SELECTOR_DIALOG_H
 
diff --git a/libedataserverui/e-source-selector.c b/libedataserverui/e-source-selector.c
index fb1af20..1cb50d6 100644
--- a/libedataserverui/e-source-selector.c
+++ b/libedataserverui/e-source-selector.c
@@ -27,8 +27,6 @@
 
 #include <string.h>
 
-#include <libedataserver/e-source-selectable.h>
-
 #include "e-cell-renderer-color.h"
 #include "e-data-server-ui-marshal.h"
 #include "e-source-selector.h"
diff --git a/libedataserverui/e-source-selector.h b/libedataserverui/e-source-selector.h
index af1e247..c595218 100644
--- a/libedataserverui/e-source-selector.h
+++ b/libedataserverui/e-source-selector.h
@@ -21,11 +21,15 @@
  * Author: Ettore Perazzoli <ettore ximian com>
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_SOURCE_SELECTOR_H
 #define E_SOURCE_SELECTOR_H
 
 #include <gtk/gtk.h>
-#include <libedataserver/e-source-registry.h>
+#include <libedataserver/libedataserver.h>
 
 /* Standard GObject macros */
 #define E_TYPE_SOURCE_SELECTOR \
diff --git a/libedataserverui/e-tree-model-generator.h b/libedataserverui/e-tree-model-generator.h
index 62d5cd6..3e693e8 100644
--- a/libedataserverui/e-tree-model-generator.h
+++ b/libedataserverui/e-tree-model-generator.h
@@ -20,6 +20,10 @@
  * Authors: Hans Petter Jansson <hpj novell com>
  */
 
+#if !defined (__LIBEDATASERVERUI_H_INSIDE__) && !defined (LIBEDATASERVERUI_COMPILATION)
+#error "Only <libedataserverui/libedataserverui.h> should be included directly."
+#endif
+
 #ifndef E_TREE_MODEL_GENERATOR_H
 #define E_TREE_MODEL_GENERATOR_H
 
diff --git a/libedataserverui/libedataserverui.h b/libedataserverui/libedataserverui.h
new file mode 100644
index 0000000..32865a1
--- /dev/null
+++ b/libedataserverui/libedataserverui.h
@@ -0,0 +1,50 @@
+/*
+ * libedataserverui.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with the program; if not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+#ifndef LIBEDATASERVERUI_H
+#define LIBEDATASERVERUI_H
+
+#define __LIBEDATASERVERUI_H_INSIDE__
+
+#include <libedataserver/libedataserver.h>
+
+#include <libedataserverui/e-book-auth-util.h>
+#include <libedataserverui/e-categories-dialog.h>
+#include <libedataserverui/e-categories-editor.h>
+#include <libedataserverui/e-categories-selector.h>
+#include <libedataserverui/e-category-completion.h>
+#include <libedataserverui/e-category-editor.h>
+#include <libedataserverui/e-cell-renderer-color.h>
+#include <libedataserverui/e-client-utils.h>
+#include <libedataserverui/e-contact-store.h>
+#include <libedataserverui/e-destination-store.h>
+#include <libedataserverui/e-name-selector-dialog.h>
+#include <libedataserverui/e-name-selector-entry.h>
+#include <libedataserverui/e-name-selector-list.h>
+#include <libedataserverui/e-name-selector-model.h>
+#include <libedataserverui/e-name-selector.h>
+#include <libedataserverui/e-passwords.h>
+#include <libedataserverui/e-source-combo-box.h>
+#include <libedataserverui/e-source-selector-dialog.h>
+#include <libedataserverui/e-source-selector.h>
+#include <libedataserverui/e-tree-model-generator.h>
+
+#undef __LIBEDATASERVERUI_H_INSIDE__
+
+#endif /* LIBEDATASERVERUI_H */
+
diff --git a/modules/cache-reaper/e-cache-reaper-utils.c b/modules/cache-reaper/e-cache-reaper-utils.c
index 4ba57c4..39495b6 100644
--- a/modules/cache-reaper/e-cache-reaper-utils.c
+++ b/modules/cache-reaper/e-cache-reaper-utils.c
@@ -18,7 +18,7 @@
 
 #include "e-cache-reaper-utils.h"
 
-#include <libedataserver/e-data-server-util.h>
+#include <libedataserver/libedataserver.h>
 
 #define REAPING_DIRECTORY_NAME ".reaping"
 
diff --git a/modules/cache-reaper/module-cache-reaper.c b/modules/cache-reaper/module-cache-reaper.c
index 39c4142..92d84a1 100644
--- a/modules/cache-reaper/module-cache-reaper.c
+++ b/modules/cache-reaper/module-cache-reaper.c
@@ -20,10 +20,7 @@
 #include <time.h>
 #include <glib/gstdio.h>
 
-#include <libedataserver/e-data-server-util.h>
-
-#include <libebackend/e-extension.h>
-#include <libebackend/e-source-registry-server.h>
+#include <libebackend/libebackend.h>
 
 #include "e-cache-reaper-utils.h"
 
diff --git a/modules/google-backend/module-google-backend.c b/modules/google-backend/module-google-backend.c
index 3da1678..deec92d 100644
--- a/modules/google-backend/module-google-backend.c
+++ b/modules/google-backend/module-google-backend.c
@@ -19,22 +19,7 @@
 #include <config.h>
 #include <glib/gi18n-lib.h>
 
-#include <libedataserver/e-uid.h>
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-calendar.h>
-#include <libedataserver/e-source-camel.h>
-#include <libedataserver/e-source-collection.h>
-#include <libedataserver/e-source-mail-account.h>
-#include <libedataserver/e-source-mail-identity.h>
-#include <libedataserver/e-source-mail-transport.h>
-#include <libedataserver/e-source-security.h>
-#include <libedataserver/e-source-webdav.h>
-
-#include <libebackend/e-collection-backend.h>
-#include <libebackend/e-collection-backend-factory.h>
-#include <libebackend/e-server-side-source.h>
-#include <libebackend/e-source-registry-server.h>
+#include <libebackend/libebackend.h>
 
 /* Standard GObject macros */
 #define E_TYPE_GOOGLE_BACKEND \
diff --git a/modules/online-accounts/goaewsclient.c b/modules/online-accounts/goaewsclient.c
index d387b4d..375a0f2 100644
--- a/modules/online-accounts/goaewsclient.c
+++ b/modules/online-accounts/goaewsclient.c
@@ -32,7 +32,7 @@
 #include <libsoup/soup.h>
 #include <libxml/xmlIO.h>
 
-#include <libedataserver/e-data-server-util.h>
+#include <libedataserver/libedataserver.h>
 
 #include "goaewsclient.h"
 
diff --git a/modules/online-accounts/module-online-accounts.c b/modules/online-accounts/module-online-accounts.c
index 9bcede7..6549fd6 100644
--- a/modules/online-accounts/module-online-accounts.c
+++ b/modules/online-accounts/module-online-accounts.c
@@ -23,20 +23,7 @@
 #include <goa/goa.h>
 #include <gnome-keyring.h>
 
-#include <libedataserver/e-uid.h>
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-camel.h>
-#include <libedataserver/e-source-collection.h>
-#include <libedataserver/e-source-goa.h>
-#include <libedataserver/e-source-mail-account.h>
-#include <libedataserver/e-source-mail-identity.h>
-#include <libedataserver/e-source-mail-submission.h>
-#include <libedataserver/e-source-mail-transport.h>
-
-#include <libebackend/e-extension.h>
-#include <libebackend/e-server-side-source.h>
-#include <libebackend/e-source-registry-server.h>
+#include <libebackend/libebackend.h>
 
 #include "goaewsclient.h"
 
diff --git a/modules/yahoo-backend/module-yahoo-backend.c b/modules/yahoo-backend/module-yahoo-backend.c
index bff98f3..78ff77c 100644
--- a/modules/yahoo-backend/module-yahoo-backend.c
+++ b/modules/yahoo-backend/module-yahoo-backend.c
@@ -19,22 +19,7 @@
 #include <config.h>
 #include <glib/gi18n-lib.h>
 
-#include <libedataserver/e-uid.h>
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-calendar.h>
-#include <libedataserver/e-source-camel.h>
-#include <libedataserver/e-source-collection.h>
-#include <libedataserver/e-source-mail-account.h>
-#include <libedataserver/e-source-mail-identity.h>
-#include <libedataserver/e-source-mail-transport.h>
-#include <libedataserver/e-source-security.h>
-#include <libedataserver/e-source-webdav.h>
-
-#include <libebackend/e-collection-backend.h>
-#include <libebackend/e-collection-backend-factory.h>
-#include <libebackend/e-server-side-source.h>
-#include <libebackend/e-source-registry-server.h>
+#include <libebackend/libebackend.h>
 
 /* Standard GObject macros */
 #define E_TYPE_YAHOO_BACKEND \
diff --git a/services/evolution-addressbook-factory/Makefile.am b/services/evolution-addressbook-factory/Makefile.am
index beafb50..4c060bc 100644
--- a/services/evolution-addressbook-factory/Makefile.am
+++ b/services/evolution-addressbook-factory/Makefile.am
@@ -22,6 +22,7 @@ evolution_addressbook_factory_CPPFLAGS = \
 	$(GNOME_KEYRING_CFLAGS) \
 	$(FACTORY_GTK_CFLAGS) \
 	$(DBUS_GLIB_CFLAGS) \
+	$(CAMEL_CFLAGS) \
 	$(SOUP_CFLAGS) \
 	$(GOA_CFLAGS) \
 	$(CODE_COVERAGE_CFLAGS) \
@@ -40,6 +41,7 @@ evolution_addressbook_factory_LDADD = \
 	$(GNOME_KEYRING_LIBS) \
 	$(FACTORY_GTK_LIBS) \
 	$(DBUS_GLIB_LIBS) \
+	$(CAMEL_LIBS) \
 	$(SOUP_LIBS) \
 	$(GOA_LIBS) \
 	$(NULL)
diff --git a/services/evolution-addressbook-factory/evolution-addressbook-factory.c b/services/evolution-addressbook-factory/evolution-addressbook-factory.c
index 9450c81..f99da5c 100644
--- a/services/evolution-addressbook-factory/evolution-addressbook-factory.c
+++ b/services/evolution-addressbook-factory/evolution-addressbook-factory.c
@@ -38,8 +38,7 @@
 #endif
 #endif
 
-#include <libedata-book/e-data-book-factory.h>
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedata-book/libedata-book.h>
 
 static gboolean opt_keep_running = FALSE;
 static gboolean opt_wait_for_client = FALSE;
diff --git a/services/evolution-calendar-factory/Makefile.am b/services/evolution-calendar-factory/Makefile.am
index 6c205d5..91cdccd 100644
--- a/services/evolution-calendar-factory/Makefile.am
+++ b/services/evolution-calendar-factory/Makefile.am
@@ -22,6 +22,7 @@ evolution_calendar_factory_CPPFLAGS = \
 	$(GNOME_KEYRING_CFLAGS) \
 	$(FACTORY_GTK_CFLAGS) \
 	$(DBUS_GLIB_CFLAGS) \
+	$(CAMEL_CFLAGS) \
 	$(SOUP_CFLAGS) \
 	$(CODE_COVERAGE_CFLAGS) \
 	$(NULL)
@@ -39,6 +40,7 @@ evolution_calendar_factory_LDADD = \
 	$(GNOME_KEYRING_LIBS) \
 	$(FACTORY_GTK_LIBS) \
 	$(DBUS_GLIB_LIBS) \
+	$(CAMEL_CFLAGS) \
 	$(SOUP_LIBS) \
 	$(NULL)
 
diff --git a/services/evolution-calendar-factory/evolution-calendar-factory.c b/services/evolution-calendar-factory/evolution-calendar-factory.c
index aa76072..36fa064 100644
--- a/services/evolution-calendar-factory/evolution-calendar-factory.c
+++ b/services/evolution-calendar-factory/evolution-calendar-factory.c
@@ -42,8 +42,7 @@
 #endif
 #endif
 
-#include <libedata-cal/e-data-cal-factory.h>
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedata-cal/libedata-cal.h>
 
 static gboolean opt_keep_running = FALSE;
 static gboolean opt_wait_for_client = FALSE;
diff --git a/services/evolution-source-registry/evolution-source-registry-migrate-basedir.c b/services/evolution-source-registry/evolution-source-registry-migrate-basedir.c
index 0c320a0..6b647ea 100644
--- a/services/evolution-source-registry/evolution-source-registry-migrate-basedir.c
+++ b/services/evolution-source-registry/evolution-source-registry-migrate-basedir.c
@@ -18,7 +18,7 @@
 
 #include <errno.h>
 #include <glib/gstdio.h>
-#include <libedataserver/e-data-server-util.h>
+#include <libedataserver/libedataserver.h>
 
 /* Forward Declarations */
 void evolution_source_registry_migrate_basedir (void);
diff --git a/services/evolution-source-registry/evolution-source-registry-migrate-sources.c b/services/evolution-source-registry/evolution-source-registry-migrate-sources.c
index 3b304b7..d21caa2 100644
--- a/services/evolution-source-registry/evolution-source-registry-migrate-sources.c
+++ b/services/evolution-source-registry/evolution-source-registry-migrate-sources.c
@@ -23,29 +23,7 @@
 #include <libsoup/soup.h>
 #include <gnome-keyring.h>
 
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserver/e-source-alarms.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-source-autocomplete.h>
-#include <libedataserver/e-source-calendar.h>
-#include <libedataserver/e-source-camel.h>
-#include <libedataserver/e-source-collection.h>
-#include <libedataserver/e-source-mail-account.h>
-#include <libedataserver/e-source-mail-composition.h>
-#include <libedataserver/e-source-mail-identity.h>
-#include <libedataserver/e-source-mail-signature.h>
-#include <libedataserver/e-source-mail-submission.h>
-#include <libedataserver/e-source-mail-transport.h>
-#include <libedataserver/e-source-mdn.h>
-#include <libedataserver/e-source-offline.h>
-#include <libedataserver/e-source-openpgp.h>
-#include <libedataserver/e-source-refresh.h>
-#include <libedataserver/e-source-security.h>
-#include <libedataserver/e-source-smime.h>
-#include <libedataserver/e-data-server-util.h>
-#include <libedataserver/e-uid.h>
-
-#include <libebackend/e-server-side-source.h>
+#include <libebackend/libebackend.h>
 
 /* These constants are collected from various e-source-*.h files
  * throughout evolution-data-server and known extension packages. */
diff --git a/services/evolution-source-registry/evolution-source-registry.c b/services/evolution-source-registry/evolution-source-registry.c
index 56b9a21..2c1a0bc 100644
--- a/services/evolution-source-registry/evolution-source-registry.c
+++ b/services/evolution-source-registry/evolution-source-registry.c
@@ -21,7 +21,7 @@
 #include <stdlib.h>
 #include <glib/gi18n.h>
 
-#include <libebackend/e-source-registry-server.h>
+#include <libebackend/libebackend.h>
 
 /* Forward Declarations */
 void evolution_source_registry_migrate_basedir (void);
diff --git a/tests/libebook/Makefile.am b/tests/libebook/Makefile.am
index 1094f40..543593e 100644
--- a/tests/libebook/Makefile.am
+++ b/tests/libebook/Makefile.am
@@ -10,6 +10,7 @@ TEST_CPPFLAGS =					\
 	-I$(top_builddir)/addressbook		\
 	-DSRCDIR=\""$(srcdir)"\"		\
 	$(EVOLUTION_ADDRESSBOOK_CFLAGS)		\
+	$(CAMEL_CFLAGS)				\
 	$(NULL)
 
 TEST_LIBS =					\
@@ -33,11 +34,13 @@ libebook_test_utils_la_CPPFLAGS = \
 	-I$(top_builddir)/addressbook   \
 	-DSRCDIR=\""$(srcdir)"\"        \
 	$(EVOLUTION_ADDRESSBOOK_CFLAGS) \
+	$(CAMEL_CFLAGS) \
 	$(NULL)
 
 libebook_test_utils_la_LIBADD = \
 	$(top_builddir)/addressbook/libebook/libebook-1.2.la	\
 	$(EVOLUTION_ADDRESSBOOK_LIBS)                           \
+	$(CAMEL_LIBS) \
 	$(NULL)
 
 TEST_CPPFLAGS =					\
diff --git a/tests/libebook/client/Makefile.am b/tests/libebook/client/Makefile.am
index 1ea89ba..670029b 100644
--- a/tests/libebook/client/Makefile.am
+++ b/tests/libebook/client/Makefile.am
@@ -10,11 +10,13 @@ libclient_test_utils_la_CPPFLAGS =				\
 	-I$(top_builddir)/addressbook				\
 	-DSRCDIR=\""$(srcdir)"\"				\
 	$(EVOLUTION_ADDRESSBOOK_CFLAGS)				\
+	$(CAMEL_CFLAGS)						\
 	$(NULL)
 
 libclient_test_utils_la_LIBADD = 				\
 	$(top_builddir)/addressbook/libebook/libebook-1.2.la	\
 	$(EVOLUTION_ADDRESSBOOK_LIBS)				\
+	$(CAMEL_LIBS)						\
 	$(NULL)
 
 # Should be kept ordered approximately from least to most difficult/complex
diff --git a/tests/libebook/client/client-test-utils.c b/tests/libebook/client/client-test-utils.c
index 289a969..e84a473 100644
--- a/tests/libebook/client/client-test-utils.c
+++ b/tests/libebook/client/client-test-utils.c
@@ -2,10 +2,8 @@
 
 #include <stdio.h>
 #include <stdlib.h>
-#include <libedataserver/e-source-registry.h>
-#include <libedataserver/e-source-address-book.h>
 
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedataserver/libedataserver.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/client-test-utils.h b/tests/libebook/client/client-test-utils.h
index 953cc86..e933f23 100644
--- a/tests/libebook/client/client-test-utils.h
+++ b/tests/libebook/client/client-test-utils.h
@@ -1,8 +1,7 @@
 #ifndef CLIENT_TEST_UTILS_H
 #define CLIENT_TEST_UTILS_H
 
-#include <libebook/e-book-client.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 void report_error (const gchar *operation, GError **error);
 void print_email (EContact *contact);
diff --git a/tests/libebook/client/test-client-add-contact.c b/tests/libebook/client/test-client-add-contact.c
index fb66f18..fc784e2 100644
--- a/tests/libebook/client/test-client-add-contact.c
+++ b/tests/libebook/client/test-client-add-contact.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-async.c b/tests/libebook/client/test-client-async.c
index d4833e3..1e5b250 100644
--- a/tests/libebook/client/test-client-async.c
+++ b/tests/libebook/client/test-client-async.c
@@ -1,8 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-examine.c b/tests/libebook/client/test-client-examine.c
index a1425e6..fbc1c3b 100644
--- a/tests/libebook/client/test-client-examine.c
+++ b/tests/libebook/client/test-client-examine.c
@@ -2,7 +2,7 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-get-contact.c b/tests/libebook/client/test-client-get-contact.c
index e46ad42..8c27483 100644
--- a/tests/libebook/client/test-client-get-contact.c
+++ b/tests/libebook/client/test-client-get-contact.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-get-revision.c b/tests/libebook/client/test-client-get-revision.c
index 9d56b2d..d13e863 100644
--- a/tests/libebook/client/test-client-get-revision.c
+++ b/tests/libebook/client/test-client-get-revision.c
@@ -2,7 +2,7 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-get-view.c b/tests/libebook/client/test-client-get-view.c
index eef85ef..55cafae 100644
--- a/tests/libebook/client/test-client-get-view.c
+++ b/tests/libebook/client/test-client-get-view.c
@@ -1,8 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-modify-contact.c b/tests/libebook/client/test-client-modify-contact.c
index 9705176..d9d0aae 100644
--- a/tests/libebook/client/test-client-modify-contact.c
+++ b/tests/libebook/client/test-client-modify-contact.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-nonexistent-id.c b/tests/libebook/client/test-client-nonexistent-id.c
index f3c44f7..0df821d 100644
--- a/tests/libebook/client/test-client-nonexistent-id.c
+++ b/tests/libebook/client/test-client-nonexistent-id.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-photo-is-uri.c b/tests/libebook/client/test-client-photo-is-uri.c
index 8dd8019..19f9029 100644
--- a/tests/libebook/client/test-client-photo-is-uri.c
+++ b/tests/libebook/client/test-client-photo-is-uri.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-refresh.c b/tests/libebook/client/test-client-refresh.c
index c624502..9ffaef3 100644
--- a/tests/libebook/client/test-client-refresh.c
+++ b/tests/libebook/client/test-client-refresh.c
@@ -2,7 +2,7 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-remove-contact-by-uid.c b/tests/libebook/client/test-client-remove-contact-by-uid.c
index d18be19..bc1c5c5 100644
--- a/tests/libebook/client/test-client-remove-contact-by-uid.c
+++ b/tests/libebook/client/test-client-remove-contact-by-uid.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-remove-contact.c b/tests/libebook/client/test-client-remove-contact.c
index 904a2e4..a945d75 100644
--- a/tests/libebook/client/test-client-remove-contact.c
+++ b/tests/libebook/client/test-client-remove-contact.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-remove-contacts.c b/tests/libebook/client/test-client-remove-contacts.c
index e915c75..cdba188 100644
--- a/tests/libebook/client/test-client-remove-contacts.c
+++ b/tests/libebook/client/test-client-remove-contacts.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-remove.c b/tests/libebook/client/test-client-remove.c
index c42611a..85ab904 100644
--- a/tests/libebook/client/test-client-remove.c
+++ b/tests/libebook/client/test-client-remove.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-revision-view.c b/tests/libebook/client/test-client-revision-view.c
index 42ebd97..02214ce 100644
--- a/tests/libebook/client/test-client-revision-view.c
+++ b/tests/libebook/client/test-client-revision-view.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-search.c b/tests/libebook/client/test-client-search.c
index 5a9e287..b2bc80c 100644
--- a/tests/libebook/client/test-client-search.c
+++ b/tests/libebook/client/test-client-search.c
@@ -1,8 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-self.c b/tests/libebook/client/test-client-self.c
index eeec99b..1a1b4cc 100644
--- a/tests/libebook/client/test-client-self.c
+++ b/tests/libebook/client/test-client-self.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-stress-factory--fifo.c b/tests/libebook/client/test-client-stress-factory--fifo.c
index 4084c11..954de03 100644
--- a/tests/libebook/client/test-client-stress-factory--fifo.c
+++ b/tests/libebook/client/test-client-stress-factory--fifo.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-stress-factory--serial.c b/tests/libebook/client/test-client-stress-factory--serial.c
index 9fd8899..1af2bba 100644
--- a/tests/libebook/client/test-client-stress-factory--serial.c
+++ b/tests/libebook/client/test-client-stress-factory--serial.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-stress-factory--single-book.c b/tests/libebook/client/test-client-stress-factory--single-book.c
index 3a8e3f5..d0e2666 100644
--- a/tests/libebook/client/test-client-stress-factory--single-book.c
+++ b/tests/libebook/client/test-client-stress-factory--single-book.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-stress-views.c b/tests/libebook/client/test-client-stress-views.c
index fd24b68..c4b4782 100644
--- a/tests/libebook/client/test-client-stress-views.c
+++ b/tests/libebook/client/test-client-stress-views.c
@@ -1,8 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-suppress-notifications.c b/tests/libebook/client/test-client-suppress-notifications.c
index e87bdf6..7a83811 100644
--- a/tests/libebook/client/test-client-suppress-notifications.c
+++ b/tests/libebook/client/test-client-suppress-notifications.c
@@ -1,8 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client-uid-only-view.c b/tests/libebook/client/test-client-uid-only-view.c
index dbcc4a6..21d78f5 100644
--- a/tests/libebook/client/test-client-uid-only-view.c
+++ b/tests/libebook/client/test-client-uid-only-view.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/client/test-client.c b/tests/libebook/client/test-client.c
index ec54a8e..0de6380 100644
--- a/tests/libebook/client/test-client.c
+++ b/tests/libebook/client/test-client.c
@@ -1,8 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libebook/ebook-test-utils.c b/tests/libebook/ebook-test-utils.c
index a49aac4..699074a 100644
--- a/tests/libebook/ebook-test-utils.c
+++ b/tests/libebook/ebook-test-utils.c
@@ -1,8 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <gio/gio.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/ebook-test-utils.h b/tests/libebook/ebook-test-utils.h
index ad1be19..d8d00cd 100644
--- a/tests/libebook/ebook-test-utils.h
+++ b/tests/libebook/ebook-test-utils.h
@@ -22,7 +22,7 @@
 #ifndef _EBOOK_TEST_UTILS_H
 #define _EBOOK_TEST_UTILS_H
 
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #define EBOOK_TEST_UTILS_DATA_DIR "data"
 #define EBOOK_TEST_UTILS_VCARDS_DIR "vcards"
diff --git a/tests/libebook/test-bulk-methods.c b/tests/libebook/test-bulk-methods.c
index be96521..d35a046 100644
--- a/tests/libebook/test-bulk-methods.c
+++ b/tests/libebook/test-bulk-methods.c
@@ -1,6 +1,4 @@
-#include <libebook/e-book-client.h>
-#include <libebook/e-book-query.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 #define BATCH_SIZE 50
 
diff --git a/tests/libebook/test-categories.c b/tests/libebook/test-categories.c
index d65b217..4c5b2ea 100644
--- a/tests/libebook/test-categories.c
+++ b/tests/libebook/test-categories.c
@@ -1,6 +1,6 @@
 #include <stdlib.h>
 #include <string.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 gint
 main (gint argc,
diff --git a/tests/libebook/test-changes.c b/tests/libebook/test-changes.c
index 424c5bf..a7cfad2 100644
--- a/tests/libebook/test-changes.c
+++ b/tests/libebook/test-changes.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-date.c b/tests/libebook/test-date.c
index b7ccabf..b640d9c 100644
--- a/tests/libebook/test-date.c
+++ b/tests/libebook/test-date.c
@@ -1,5 +1,5 @@
 #include <stdlib.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 gint
 main (gint argc,
diff --git a/tests/libebook/test-ebook-add-contact.c b/tests/libebook/test-ebook-add-contact.c
index d79719c..f489380 100644
--- a/tests/libebook/test-ebook-add-contact.c
+++ b/tests/libebook/test-ebook-add-contact.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-async.c b/tests/libebook/test-ebook-async.c
index 7d3b018..b78dda6 100644
--- a/tests/libebook/test-ebook-async.c
+++ b/tests/libebook/test-ebook-async.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 static GMainLoop *loop;
 
diff --git a/tests/libebook/test-ebook-commit-contact.c b/tests/libebook/test-ebook-commit-contact.c
index 0fcf16c..2c12c5c 100644
--- a/tests/libebook/test-ebook-commit-contact.c
+++ b/tests/libebook/test-ebook-commit-contact.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-get-book-view.c b/tests/libebook/test-ebook-get-book-view.c
index 3c78074..c4355ac 100644
--- a/tests/libebook/test-ebook-get-book-view.c
+++ b/tests/libebook/test-ebook-get-book-view.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-get-contact.c b/tests/libebook/test-ebook-get-contact.c
index 0bb2005..ba3902b 100644
--- a/tests/libebook/test-ebook-get-contact.c
+++ b/tests/libebook/test-ebook-get-contact.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-get-required-fields.c b/tests/libebook/test-ebook-get-required-fields.c
index 6c3cea3..5f6ed50 100644
--- a/tests/libebook/test-ebook-get-required-fields.c
+++ b/tests/libebook/test-ebook-get-required-fields.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-get-static-capabilities.c b/tests/libebook/test-ebook-get-static-capabilities.c
index f9a8500..42cce08 100644
--- a/tests/libebook/test-ebook-get-static-capabilities.c
+++ b/tests/libebook/test-ebook-get-static-capabilities.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-get-supported-auth-methods.c b/tests/libebook/test-ebook-get-supported-auth-methods.c
index 9248478..5fcef1f 100644
--- a/tests/libebook/test-ebook-get-supported-auth-methods.c
+++ b/tests/libebook/test-ebook-get-supported-auth-methods.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-get-supported-fields.c b/tests/libebook/test-ebook-get-supported-fields.c
index d2b576d..4a85f52 100644
--- a/tests/libebook/test-ebook-get-supported-fields.c
+++ b/tests/libebook/test-ebook-get-supported-fields.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-remove-contact-by-id.c b/tests/libebook/test-ebook-remove-contact-by-id.c
index faa76c9..98062d4 100644
--- a/tests/libebook/test-ebook-remove-contact-by-id.c
+++ b/tests/libebook/test-ebook-remove-contact-by-id.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-remove-contact.c b/tests/libebook/test-ebook-remove-contact.c
index 69d09a2..fe71c3c 100644
--- a/tests/libebook/test-ebook-remove-contact.c
+++ b/tests/libebook/test-ebook-remove-contact.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-remove-contacts.c b/tests/libebook/test-ebook-remove-contacts.c
index c4d0e27..eabe89e 100644
--- a/tests/libebook/test-ebook-remove-contacts.c
+++ b/tests/libebook/test-ebook-remove-contacts.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-remove.c b/tests/libebook/test-ebook-remove.c
index 876e62a..42ec25c 100644
--- a/tests/libebook/test-ebook-remove.c
+++ b/tests/libebook/test-ebook-remove.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-stress-factory--fifo.c b/tests/libebook/test-ebook-stress-factory--fifo.c
index 5b45955..1d1f70d 100644
--- a/tests/libebook/test-ebook-stress-factory--fifo.c
+++ b/tests/libebook/test-ebook-stress-factory--fifo.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-stress-factory--serial.c b/tests/libebook/test-ebook-stress-factory--serial.c
index 4086bd6..155f2cc 100644
--- a/tests/libebook/test-ebook-stress-factory--serial.c
+++ b/tests/libebook/test-ebook-stress-factory--serial.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook-stress-factory--single-book.c b/tests/libebook/test-ebook-stress-factory--single-book.c
index 6d54f83..8512e67 100644
--- a/tests/libebook/test-ebook-stress-factory--single-book.c
+++ b/tests/libebook/test-ebook-stress-factory--single-book.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-ebook.c b/tests/libebook/test-ebook.c
index e9a0d0b..91c5375 100644
--- a/tests/libebook/test-ebook.c
+++ b/tests/libebook/test-ebook.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 #include "ebook-test-utils.h"
 
diff --git a/tests/libebook/test-nonexistent-id.c b/tests/libebook/test-nonexistent-id.c
index 32dfaae..0411134 100644
--- a/tests/libebook/test-nonexistent-id.c
+++ b/tests/libebook/test-nonexistent-id.c
@@ -1,5 +1,5 @@
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 gint
 main (gint argc, gchar **argv)
diff --git a/tests/libebook/test-photo.c b/tests/libebook/test-photo.c
index e4cd2af..3cd0e49 100644
--- a/tests/libebook/test-photo.c
+++ b/tests/libebook/test-photo.c
@@ -1,6 +1,6 @@
 #include <stdlib.h>
 #include <string.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 static const gchar *photo_data =
 	"/9j/4AAQSkZJRgABAQEARwBHAAD//gAXQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q/9sAQwAIBgYHB"
diff --git a/tests/libebook/test-query.c b/tests/libebook/test-query.c
index 05232dc..791383c 100644
--- a/tests/libebook/test-query.c
+++ b/tests/libebook/test-query.c
@@ -1,5 +1,5 @@
 #include <string.h>
-#include <libebook/e-book-query.h>
+#include <libebook/libebook.h>
 
 #define QUERY_STRING1
 #define QUERY_STRING2
diff --git a/tests/libebook/test-search.c b/tests/libebook/test-search.c
index 0b1da27..fb84bb8 100644
--- a/tests/libebook/test-search.c
+++ b/tests/libebook/test-search.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 gint
 main (gint argc,
diff --git a/tests/libebook/test-self.c b/tests/libebook/test-self.c
index c456eb7..5dec95c 100644
--- a/tests/libebook/test-self.c
+++ b/tests/libebook/test-self.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 gint
 main (gint argc,
diff --git a/tests/libebook/test-stress-bookviews.c b/tests/libebook/test-stress-bookviews.c
index 022629c..1c2c296 100644
--- a/tests/libebook/test-stress-bookviews.c
+++ b/tests/libebook/test-stress-bookviews.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libebook/e-book.h>
+#include <libebook/libebook.h>
 
 static void
 print_contact (EContact *contact)
diff --git a/tests/libebook/test-string.c b/tests/libebook/test-string.c
index bd46aff..2df44e6 100644
--- a/tests/libebook/test-string.c
+++ b/tests/libebook/test-string.c
@@ -1,6 +1,6 @@
 #include <stdlib.h>
 #include <string.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 #define TEST_ID "test-uid"
 
diff --git a/tests/libebook/test-undefinedfield.c b/tests/libebook/test-undefinedfield.c
index 538b791..d994987 100644
--- a/tests/libebook/test-undefinedfield.c
+++ b/tests/libebook/test-undefinedfield.c
@@ -1,5 +1,5 @@
 #include <stdlib.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 gint
 main (gint argc,
diff --git a/tests/libebook/test-untyped-phones.c b/tests/libebook/test-untyped-phones.c
index 24c5c33..3f70ec0 100644
--- a/tests/libebook/test-untyped-phones.c
+++ b/tests/libebook/test-untyped-phones.c
@@ -1,6 +1,6 @@
 #include <stdlib.h>
 #include <string.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 /* TEL;WORK:... should map to PHONE_BUSINESS
  * TEL;FAX:... should map to OTHER_FAX. */
diff --git a/tests/libebook/test-vcard-parsing.c b/tests/libebook/test-vcard-parsing.c
index 82148e3..685f3f2 100644
--- a/tests/libebook/test-vcard-parsing.c
+++ b/tests/libebook/test-vcard-parsing.c
@@ -1,5 +1,4 @@
-#include <libebook/e-vcard.h>
-#include <libebook/e-contact.h>
+#include <libebook/libebook.h>
 
 static gboolean
 compare_single_value (EVCard *vcard,
diff --git a/tests/libebook/vcard/Makefile.am b/tests/libebook/vcard/Makefile.am
index 7b1832a..bc20146 100644
--- a/tests/libebook/vcard/Makefile.am
+++ b/tests/libebook/vcard/Makefile.am
@@ -5,12 +5,14 @@ dump_vcard_CPPFLAGS = \
 	-I$(top_builddir)		\
 	-I$(top_srcdir)/addressbook	\
 	-I$(top_builddir)/addressbook	\
-	$(EVOLUTION_ADDRESSBOOK_CFLAGS)
+	$(EVOLUTION_ADDRESSBOOK_CFLAGS)	\
+	$(CAMEL_CFLAGS)
 
 dump_vcard_LDADD = 						\
 	$(top_builddir)/addressbook/libebook/libebook-1.2.la	\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la	\
-	$(EVOLUTION_ADDRESSBOOK_LIBS)
+	$(EVOLUTION_ADDRESSBOOK_LIBS)				\
+	$(CAMEL_LIBS)
 
 EXTRA_DIST=1.vcf 2.vcf 3.vcf 4.vcf 5.vcf 6.vcf 7.vcf 8.vcf 9.vcf 10.vcf 11.vcf
 
diff --git a/tests/libebook/vcard/dump-vcard.c b/tests/libebook/vcard/dump-vcard.c
index 1b8bdbe..60d7458 100644
--- a/tests/libebook/vcard/dump-vcard.c
+++ b/tests/libebook/vcard/dump-vcard.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdio.h>
-#include <libebook/e-vcard.h>
+#include <libebook/libebook.h>
 
 gint
 main (gint argc,
diff --git a/tests/libecal/Makefile.am b/tests/libecal/Makefile.am
index 1b8db9a..c69d825 100644
--- a/tests/libecal/Makefile.am
+++ b/tests/libecal/Makefile.am
@@ -14,11 +14,13 @@ libecal_test_utils_la_CPPFLAGS = \
 	-I$(top_builddir)/calendar			\
 	$(LIBICAL_CFLAGS)				\
 	$(EVOLUTION_CALENDAR_CFLAGS)                    \
+	$(CAMEL_CFLAGS)					\
 	$(NULL)
 
 libecal_test_utils_la_LIBADD = \
 	$(top_builddir)/calendar/libecal/libecal-1.2.la		\
 	$(EVOLUTION_CALENDAR_LIBS)				\
+	$(CAMEL_LIBS)						\
 	$(NULL)
 
 TEST_ECAL_LIBS = \
diff --git a/tests/libecal/client/Makefile.am b/tests/libecal/client/Makefile.am
index af2b893..a3f986b 100644
--- a/tests/libecal/client/Makefile.am
+++ b/tests/libecal/client/Makefile.am
@@ -10,11 +10,13 @@ libclient_test_utils_la_CPPFLAGS =				\
 	-I$(top_builddir)/calendar				\
 	-DSRCDIR=\""$(srcdir)"\"				\
 	$(EVOLUTION_CALENDAR_CFLAGS)				\
+	$(CAMEL_CFLAGS)						\
 	$(NULL)
 
 libclient_test_utils_la_LIBADD = 				\
 	$(top_builddir)/calendar/libecal/libecal-1.2.la		\
 	$(EVOLUTION_CALENDAR_LIBS)				\
+	$(CAMEL_LIBS)						\
 	$(NULL)
 
 # ordered by relative complexity
diff --git a/tests/libecal/client/client-test-utils.c b/tests/libecal/client/client-test-utils.c
index 44eacde..12a2aa2 100644
--- a/tests/libecal/client/client-test-utils.c
+++ b/tests/libecal/client/client-test-utils.c
@@ -1,10 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdio.h>
-#include <libedataserver/e-source-registry.h>
-#include <libedataserver/e-source-calendar.h>
-
-#include <libedataserver/e-gdbus-templates.h>
+#include <libedataserver/libedataserver.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libecal/client/client-test-utils.h b/tests/libecal/client/client-test-utils.h
index 9c10538..c7b6836 100644
--- a/tests/libecal/client/client-test-utils.h
+++ b/tests/libecal/client/client-test-utils.h
@@ -1,8 +1,7 @@
 #ifndef CLIENT_TEST_UTILS_H
 #define CLIENT_TEST_UTILS_H
 
-#include <libecal/e-cal-client.h>
-#include <libedataserver/e-source-registry.h>
+#include <libecal/libecal.h>
 
 void print_ecomp (ECalComponent *ecalcomp);
 void print_icomp (icalcomponent *icalcomp);
diff --git a/tests/libecal/client/test-client-add-timezone.c b/tests/libecal/client/test-client-add-timezone.c
index 0ca13ba..b191f9f 100644
--- a/tests/libecal/client/test-client-add-timezone.c
+++ b/tests/libecal/client/test-client-add-timezone.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-bulk-methods.c b/tests/libecal/client/test-client-bulk-methods.c
index 62d3a64..322a951 100644
--- a/tests/libecal/client/test-client-bulk-methods.c
+++ b/tests/libecal/client/test-client-bulk-methods.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-create-object.c b/tests/libecal/client/test-client-create-object.c
index 5ae6e7f..095a403 100644
--- a/tests/libecal/client/test-client-create-object.c
+++ b/tests/libecal/client/test-client-create-object.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-examine.c b/tests/libecal/client/test-client-examine.c
index 2875d39..92b8ba6 100644
--- a/tests/libecal/client/test-client-examine.c
+++ b/tests/libecal/client/test-client-examine.c
@@ -2,7 +2,7 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libecal/client/test-client-get-attachment-uris.c b/tests/libecal/client/test-client-get-attachment-uris.c
index 2186638..6447c00 100644
--- a/tests/libecal/client/test-client-get-attachment-uris.c
+++ b/tests/libecal/client/test-client-get-attachment-uris.c
@@ -2,7 +2,7 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-get-free-busy.c b/tests/libecal/client/test-client-get-free-busy.c
index bc37b8b..3c46ef0 100644
--- a/tests/libecal/client/test-client-get-free-busy.c
+++ b/tests/libecal/client/test-client-get-free-busy.c
@@ -1,8 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
-#include <libecal/e-cal-time-util.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-get-object-list.c b/tests/libecal/client/test-client-get-object-list.c
index 74301d0..2144783 100644
--- a/tests/libecal/client/test-client-get-object-list.c
+++ b/tests/libecal/client/test-client-get-object-list.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-get-revision.c b/tests/libecal/client/test-client-get-revision.c
index d8a7692..65b2f5b 100644
--- a/tests/libecal/client/test-client-get-revision.c
+++ b/tests/libecal/client/test-client-get-revision.c
@@ -2,7 +2,7 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libecal/client/test-client-get-view.c b/tests/libecal/client/test-client-get-view.c
index 0537f6c..32c8a3c 100644
--- a/tests/libecal/client/test-client-get-view.c
+++ b/tests/libecal/client/test-client-get-view.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-modify-object.c b/tests/libecal/client/test-client-modify-object.c
index 9417ef6..5305364 100644
--- a/tests/libecal/client/test-client-modify-object.c
+++ b/tests/libecal/client/test-client-modify-object.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-open.c b/tests/libecal/client/test-client-open.c
index b8284e9..e5b9d97 100644
--- a/tests/libecal/client/test-client-open.c
+++ b/tests/libecal/client/test-client-open.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-receive-objects.c b/tests/libecal/client/test-client-receive-objects.c
index fd7fe8f..7c49f36 100644
--- a/tests/libecal/client/test-client-receive-objects.c
+++ b/tests/libecal/client/test-client-receive-objects.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-refresh.c b/tests/libecal/client/test-client-refresh.c
index c52b5e0..0c8b24b 100644
--- a/tests/libecal/client/test-client-refresh.c
+++ b/tests/libecal/client/test-client-refresh.c
@@ -2,7 +2,7 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-remove-object.c b/tests/libecal/client/test-client-remove-object.c
index eb5eb3d..7333ff5 100644
--- a/tests/libecal/client/test-client-remove-object.c
+++ b/tests/libecal/client/test-client-remove-object.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-revision-view.c b/tests/libecal/client/test-client-revision-view.c
index e772353..3099d15 100644
--- a/tests/libecal/client/test-client-revision-view.c
+++ b/tests/libecal/client/test-client-revision-view.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-send-objects.c b/tests/libecal/client/test-client-send-objects.c
index 429005b..4fbc83a 100644
--- a/tests/libecal/client/test-client-send-objects.c
+++ b/tests/libecal/client/test-client-send-objects.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "client-test-utils.h"
diff --git a/tests/libecal/client/test-client-stress-factory--fifo.c b/tests/libecal/client/test-client-stress-factory--fifo.c
index 111d2ad..b4eddc9 100644
--- a/tests/libecal/client/test-client-stress-factory--fifo.c
+++ b/tests/libecal/client/test-client-stress-factory--fifo.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libecal/client/test-client-stress-factory--serial.c b/tests/libecal/client/test-client-stress-factory--serial.c
index 1c098db..894a72f 100644
--- a/tests/libecal/client/test-client-stress-factory--serial.c
+++ b/tests/libecal/client/test-client-stress-factory--serial.c
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libecal/client/test-client-stress-factory--single-cal.c b/tests/libecal/client/test-client-stress-factory--single-cal.c
index bdc173b..cc0d4da 100644
--- a/tests/libecal/client/test-client-stress-factory--single-cal.c
+++ b/tests/libecal/client/test-client-stress-factory--single-cal.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libecal/client/test-client-stress-views.c b/tests/libecal/client/test-client-stress-views.c
index 716b270..427e05d 100644
--- a/tests/libecal/client/test-client-stress-views.c
+++ b/tests/libecal/client/test-client-stress-views.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal-client.h>
+#include <libecal/libecal.h>
 
 #include "client-test-utils.h"
 
diff --git a/tests/libecal/ecal-test-utils.c b/tests/libecal/ecal-test-utils.c
index e42d8c3..4d62d64 100644
--- a/tests/libecal/ecal-test-utils.c
+++ b/tests/libecal/ecal-test-utils.c
@@ -21,7 +21,7 @@
 
 #include <stdlib.h>
 #include <gio/gio.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/ecal-test-utils.h b/tests/libecal/ecal-test-utils.h
index 2d440cc..f72b1ba 100644
--- a/tests/libecal/ecal-test-utils.h
+++ b/tests/libecal/ecal-test-utils.h
@@ -22,7 +22,7 @@
 #ifndef _ECAL_TEST_UTILS_H
 #define _ECAL_TEST_UTILS_H
 
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 typedef struct {
         GSourceFunc  cb;
diff --git a/tests/libecal/test-ecal-add-timezone.c b/tests/libecal/test-ecal-add-timezone.c
index 488ffb5..42f7181 100644
--- a/tests/libecal/test-ecal-add-timezone.c
+++ b/tests/libecal/test-ecal-add-timezone.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-create-object--2.c b/tests/libecal/test-ecal-create-object--2.c
index 60368b7..a174a14 100644
--- a/tests/libecal/test-ecal-create-object--2.c
+++ b/tests/libecal/test-ecal-create-object--2.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-create-object.c b/tests/libecal/test-ecal-create-object.c
index db997c1..197de66 100644
--- a/tests/libecal/test-ecal-create-object.c
+++ b/tests/libecal/test-ecal-create-object.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-get-alarm-email-address.c b/tests/libecal/test-ecal-get-alarm-email-address.c
index cb033de..baf37b8 100644
--- a/tests/libecal/test-ecal-get-alarm-email-address.c
+++ b/tests/libecal/test-ecal-get-alarm-email-address.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal-get-cal-address.c b/tests/libecal/test-ecal-get-cal-address.c
index 0e3285c..27b975d 100644
--- a/tests/libecal/test-ecal-get-cal-address.c
+++ b/tests/libecal/test-ecal-get-cal-address.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal-get-capabilities.c b/tests/libecal/test-ecal-get-capabilities.c
index ff4d257..fca611e 100644
--- a/tests/libecal/test-ecal-get-capabilities.c
+++ b/tests/libecal/test-ecal-get-capabilities.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal-get-default-object.c b/tests/libecal/test-ecal-get-default-object.c
index d506565..13401f6 100644
--- a/tests/libecal/test-ecal-get-default-object.c
+++ b/tests/libecal/test-ecal-get-default-object.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-get-free-busy.c b/tests/libecal/test-ecal-get-free-busy.c
index 2f90401..c43721c 100644
--- a/tests/libecal/test-ecal-get-free-busy.c
+++ b/tests/libecal/test-ecal-get-free-busy.c
@@ -1,8 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
-#include <libecal/e-cal-time-util.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-get-ldap-attribute.c b/tests/libecal/test-ecal-get-ldap-attribute.c
index d67cc55..6c74346 100644
--- a/tests/libecal/test-ecal-get-ldap-attribute.c
+++ b/tests/libecal/test-ecal-get-ldap-attribute.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal-get-object-list.c b/tests/libecal/test-ecal-get-object-list.c
index 7c86cf0..40063a1 100644
--- a/tests/libecal/test-ecal-get-object-list.c
+++ b/tests/libecal/test-ecal-get-object-list.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-get-objects-for-uid.c b/tests/libecal/test-ecal-get-objects-for-uid.c
index 3c2242f..aa40022 100644
--- a/tests/libecal/test-ecal-get-objects-for-uid.c
+++ b/tests/libecal/test-ecal-get-objects-for-uid.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-get-query.c b/tests/libecal/test-ecal-get-query.c
index 2c74418..2e9fe8b 100644
--- a/tests/libecal/test-ecal-get-query.c
+++ b/tests/libecal/test-ecal-get-query.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-get-timezone.c b/tests/libecal/test-ecal-get-timezone.c
index 08128d4..b8ed566 100644
--- a/tests/libecal/test-ecal-get-timezone.c
+++ b/tests/libecal/test-ecal-get-timezone.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-modify-object.c b/tests/libecal/test-ecal-modify-object.c
index ae7477a..9ef77ce 100644
--- a/tests/libecal/test-ecal-modify-object.c
+++ b/tests/libecal/test-ecal-modify-object.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-open.c b/tests/libecal/test-ecal-open.c
index ec41405..ad31b97 100644
--- a/tests/libecal/test-ecal-open.c
+++ b/tests/libecal/test-ecal-open.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal-receive-objects.c b/tests/libecal/test-ecal-receive-objects.c
index 3438f92..618ce13 100644
--- a/tests/libecal/test-ecal-receive-objects.c
+++ b/tests/libecal/test-ecal-receive-objects.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-remove-object.c b/tests/libecal/test-ecal-remove-object.c
index 4b376d6..b58b07b 100644
--- a/tests/libecal/test-ecal-remove-object.c
+++ b/tests/libecal/test-ecal-remove-object.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-send-objects.c b/tests/libecal/test-ecal-send-objects.c
index 5df5329..a21f3ef 100644
--- a/tests/libecal/test-ecal-send-objects.c
+++ b/tests/libecal/test-ecal-send-objects.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-set-default-timezone.c b/tests/libecal/test-ecal-set-default-timezone.c
index 637e37e..553e6d5 100644
--- a/tests/libecal/test-ecal-set-default-timezone.c
+++ b/tests/libecal/test-ecal-set-default-timezone.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 #include "ecal-test-utils.h"
diff --git a/tests/libecal/test-ecal-set-mode.c b/tests/libecal/test-ecal-set-mode.c
index ae22f09..0929005 100644
--- a/tests/libecal/test-ecal-set-mode.c
+++ b/tests/libecal/test-ecal-set-mode.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal-stress-factory--fifo.c b/tests/libecal/test-ecal-stress-factory--fifo.c
index 9040b80..6025cf5 100644
--- a/tests/libecal/test-ecal-stress-factory--fifo.c
+++ b/tests/libecal/test-ecal-stress-factory--fifo.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal-stress-factory--open-async.c b/tests/libecal/test-ecal-stress-factory--open-async.c
index a01f8c5..5569470 100644
--- a/tests/libecal/test-ecal-stress-factory--open-async.c
+++ b/tests/libecal/test-ecal-stress-factory--open-async.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal-stress-factory--serial.c b/tests/libecal/test-ecal-stress-factory--serial.c
index c9f90cb..e7f9d70 100644
--- a/tests/libecal/test-ecal-stress-factory--serial.c
+++ b/tests/libecal/test-ecal-stress-factory--serial.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal-stress-factory--single-cal.c b/tests/libecal/test-ecal-stress-factory--single-cal.c
index f8c87f7..30c53be 100644
--- a/tests/libecal/test-ecal-stress-factory--single-cal.c
+++ b/tests/libecal/test-ecal-stress-factory--single-cal.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 #include "ecal-test-utils.h"
 
diff --git a/tests/libecal/test-ecal.c b/tests/libecal/test-ecal.c
index c4b1fb7..ba0711f 100644
--- a/tests/libecal/test-ecal.c
+++ b/tests/libecal/test-ecal.c
@@ -23,10 +23,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <glib/gi18n.h>
-#include <libecal/e-cal.h>
-#include <libecal/e-cal-component.h>
-#include <libecal/e-cal-time-util.h>
-#include <libedataserver/e-data-server-util.h>
+#include <libecal/libecal.h>
 #include <libical/ical.h>
 
 /* start_testing_scaffold */
diff --git a/tests/libecal/test-recur.c b/tests/libecal/test-recur.c
index ea261e1..2ec59f5 100644
--- a/tests/libecal/test-recur.c
+++ b/tests/libecal/test-recur.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 gint
 main (gint argc,
diff --git a/tests/libecal/test-search.c b/tests/libecal/test-search.c
index 1b561ec..52c20ba 100644
--- a/tests/libecal/test-search.c
+++ b/tests/libecal/test-search.c
@@ -1,7 +1,7 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 
 #include <stdlib.h>
-#include <libecal/e-cal.h>
+#include <libecal/libecal.h>
 
 gint
 main (gint argc,
diff --git a/tests/libedata-cal/Makefile.am b/tests/libedata-cal/Makefile.am
index 78af55e..e7ddfb3 100644
--- a/tests/libedata-cal/Makefile.am
+++ b/tests/libedata-cal/Makefile.am
@@ -10,7 +10,8 @@ test_e_sexp_CPPFLAGS =							\
 	-I$(top_srcdir)							\
 	-I$(top_srcdir)/calendar					\
 	-I$(top_builddir)/calendar					\
-	$(EVOLUTION_CALENDAR_CFLAGS)
+	$(EVOLUTION_CALENDAR_CFLAGS)					\
+	$(CAMEL_CFLAGS)
 
 test_e_sexp_LDADD =							\
 	$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la	\
@@ -18,7 +19,8 @@ test_e_sexp_LDADD =							\
 	$(top_builddir)/libebackend/libebackend-1.2.la		\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
 	$(EVOLUTION_CALENDAR_LIBS)					\
-	$(E_DATA_SERVER_LIBS)
+	$(E_DATA_SERVER_LIBS)						\
+	$(CAMEL_LIBS)
 
 test_intervaltree_SOURCES = test-intervaltree.c
 
@@ -27,14 +29,16 @@ test_intervaltree_CPPFLAGS =						\
 	-I$(top_srcdir)							\
 	-I$(top_srcdir)/calendar					\
 	-I$(top_builddir)/calendar					\
-	$(EVOLUTION_CALENDAR_CFLAGS)
+	$(EVOLUTION_CALENDAR_CFLAGS)					\
+	$(CAMEL_CFLAGS)
 
 test_intervaltree_LDADD =						\
 	$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la	\
 	$(top_builddir)/calendar/libecal/libecal-1.2.la			\
 	$(top_builddir)/libebackend/libebackend-1.2.la		\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
-	$(EVOLUTION_CALENDAR_LIBS)
+	$(EVOLUTION_CALENDAR_LIBS)					\
+	$(CAMEL_LIBS)
 
 test_intervaltree_coverage_SOURCES = test-intervaltree.c
 
@@ -43,7 +47,8 @@ test_intervaltree_coverage_CPPFLAGS =					\
 	-I$(top_srcdir)							\
 	-I$(top_srcdir)/calendar					\
 	-I$(top_builddir)/calendar					\
-	$(EVOLUTION_CALENDAR_CFLAGS)
+	$(EVOLUTION_CALENDAR_CFLAGS)					\
+	$(CAMEL_CFLAGS)
 
 test_intervaltree_coverage_LDADD = \
 	$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la	\
@@ -51,6 +56,7 @@ test_intervaltree_coverage_LDADD = \
 	$(top_builddir)/libebackend/libebackend-1.2.la		\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
 	$(EVOLUTION_CALENDAR_LIBS)					\
+	$(CAMEL_LIBS)							\
 	-lgcov
 
 .PHONY: coverage
diff --git a/tests/libedata-cal/test-cal-backend-sexp.c b/tests/libedata-cal/test-cal-backend-sexp.c
index f2c5968..3370a73 100644
--- a/tests/libedata-cal/test-cal-backend-sexp.c
+++ b/tests/libedata-cal/test-cal-backend-sexp.c
@@ -1,4 +1,4 @@
-#include <libedata-cal/e-cal-backend-sexp.h>
+#include <libedata-cal/libedata-cal.h>
 
 static void
 test_query (const gchar *query)
diff --git a/tests/libedata-cal/test-intervaltree.c b/tests/libedata-cal/test-intervaltree.c
index 4a56131..f972315 100644
--- a/tests/libedata-cal/test-intervaltree.c
+++ b/tests/libedata-cal/test-intervaltree.c
@@ -22,10 +22,8 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <string.h>
-#include <libecal/e-cal-recur.h>
-#include <libecal/e-cal-component.h>
 #include <libical/icalcomponent.h>
-#include <libedata-cal/e-cal-backend-intervaltree.h>
+#include <libedata-cal/libedata-cal.h>
 
 #define NUM_INTERVALS_CLOSED  100
 #define NUM_INTERVALS_OPEN  100
diff --git a/tests/libedataserver/e-source-test.c b/tests/libedataserver/e-source-test.c
index 7b0c495..e24ab14 100644
--- a/tests/libedataserver/e-source-test.c
+++ b/tests/libedataserver/e-source-test.c
@@ -19,9 +19,7 @@
 #include <string.h>
 #include <gio/gunixoutputstream.h>
 
-#include <libedataserver/e-source.h>
-#include <libedataserver/e-source-authentication.h>
-#include <libedataserver/e-uid.h>
+#include <libedataserver/libedataserver.h>
 
 #define SIMPLE_KEY_FILE \
 	"[Data Source]\n" \
diff --git a/tests/libedataserverui/Makefile.am b/tests/libedataserverui/Makefile.am
index 606da7d..43eb5ed 100644
--- a/tests/libedataserverui/Makefile.am
+++ b/tests/libedataserverui/Makefile.am
@@ -22,6 +22,7 @@ TEST_EDATASERVERUI_LDFLAGS =						\
 	$(top_builddir)/libebackend/libebackend-1.2.la			\
 	$(top_builddir)/libedataserver/libedataserver-1.2.la		\
 	$(top_builddir)/libedataserverui/libedataserverui-3.0.la	\
+	$(CAMEL_LIBS)							\
 	$(GNOME_KEYRING_LIBS)						\
 	$(E_DATA_SERVER_UI_LIBS)
 
diff --git a/tests/libedataserverui/test-category-completion.c b/tests/libedataserverui/test-category-completion.c
index fdc68a6..de557dc 100644
--- a/tests/libedataserverui/test-category-completion.c
+++ b/tests/libedataserverui/test-category-completion.c
@@ -16,7 +16,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-#include <libedataserverui/e-category-completion.h>
+#include <libedataserverui/libedataserverui.h>
 
 static gboolean
 on_idle_create_widget (void)
diff --git a/tests/libedataserverui/test-contact-store.c b/tests/libedataserverui/test-contact-store.c
index 40816ae..5be64ae 100644
--- a/tests/libedataserverui/test-contact-store.c
+++ b/tests/libedataserverui/test-contact-store.c
@@ -21,7 +21,7 @@
  * Author: Hans Petter Jansson <hpj novell com>
  */
 
-#include <libedataserverui/e-contact-store.h>
+#include <libedataserverui/libedataserverui.h>
 
 static void
 entry_changed (GtkWidget *entry,
diff --git a/tests/libedataserverui/test-name-selector.c b/tests/libedataserverui/test-name-selector.c
index 607178e..6f3f442 100644
--- a/tests/libedataserverui/test-name-selector.c
+++ b/tests/libedataserverui/test-name-selector.c
@@ -21,10 +21,8 @@
  * Author: Hans Petter Jansson <hpj novell com>
  */
 
-#include <libedataserverui/e-name-selector-model.h>
-#include <libedataserverui/e-name-selector-dialog.h>
-#include <libedataserverui/e-name-selector-entry.h>
 #include <camel/camel.h>
+#include <libedataserverui/libedataserverui.h>
 
 static ENameSelectorDialog *name_selector_dialog;
 static GtkWidget           *name_selector_entry_window;
diff --git a/tests/libedataserverui/test-source-combo-box.c b/tests/libedataserverui/test-source-combo-box.c
index 4cc913a..cbebd63 100644
--- a/tests/libedataserverui/test-source-combo-box.c
+++ b/tests/libedataserverui/test-source-combo-box.c
@@ -23,8 +23,7 @@
 #include <config.h>
 #include <gtk/gtk.h>
 
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserverui/e-source-combo-box.h>
+#include <libedataserverui/libedataserverui.h>
 
 static const gchar *extension_name;
 
diff --git a/tests/libedataserverui/test-source-selector.c b/tests/libedataserverui/test-source-selector.c
index 95a959b..7fd0075 100644
--- a/tests/libedataserverui/test-source-selector.c
+++ b/tests/libedataserverui/test-source-selector.c
@@ -21,8 +21,7 @@
  * Author: Ettore Perazzoli <ettore ximian com>
  */
 
-#include <libedataserver/e-source-address-book.h>
-#include <libedataserverui/e-source-selector.h>
+#include <libedataserverui/libedataserverui.h>
 
 static const gchar *extension_name;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]