Build framework for new libebackend library.
authorRob Bradford <rob@openedhand.com>
Tue, 29 Apr 2008 14:34:35 +0000 (14:34 +0000)
committerRob Bradford <rbradford@src.gnome.org>
Tue, 29 Apr 2008 14:34:35 +0000 (14:34 +0000)
2009-04-23  Rob Bradford  <rob@openedhand.com>

* Makefile.am:
* configure.in:
* libebackend/Makefile.am:
* libebackend/libebackend.pc.in:
Build framework for new libebackend library.

* libedataserver/Makefile.am:
Remove files that have moved to libebackend.

* libedataserver/e-data-server-module.[ch]:
* libedataserver/e-db3-utils.[ch]:
* libedataserver/e-dbhash.[ch]:
* libedataserer/e-file-cache.[ch]:
Moved to libebackend.

* src/Makefile.am:
* src/server.c:
Use libebackend headers and link to the library.

* docs/reference/Makefile.am:
* docs/reference/libebackend/Makefile.am:
* docs/reference/libebackend/libebackend-docs.xml:
* docs/reference/libebackend/libebackend-sections.txt:
* docs/reference/libebackend/libebackend.types:
Add documentation for new libebackend library.

* docs/reference/libedataserver/libedataserver.types:
Remove types that have been moved to libebackend.

* docs/reference/calendar/libedata-cal/Makefile.am:
Add libebackend to the gtk-doc scanner libraries.

svn path=/trunk/; revision=8703

39 files changed:
ChangeLog
Makefile.am
addressbook/ChangeLog
addressbook/backends/file/Makefile.am
addressbook/backends/file/e-book-backend-file-factory.c
addressbook/backends/file/e-book-backend-file.c
addressbook/backends/groupwise/Makefile.am
addressbook/backends/groupwise/e-book-backend-groupwise-factory.c
addressbook/backends/groupwise/e-book-backend-groupwise.c
addressbook/backends/ldap/e-book-backend-ldap-factory.c
addressbook/backends/vcf/Makefile.am
addressbook/backends/vcf/e-book-backend-vcf-factory.c
addressbook/libedata-book/Makefile.am
addressbook/libedata-book/e-book-backend-cache.h
addressbook/libedata-book/e-data-book-factory.c
calendar/ChangeLog
calendar/libedata-cal/e-cal-backend-cache.h
calendar/libedata-cal/e-data-cal-factory.c
configure.in
docs/reference/Makefile.am
docs/reference/calendar/libedata-cal/Makefile.am
docs/reference/libebackend/Makefile.am [new file with mode: 0644]
docs/reference/libebackend/libebackend-docs.xml [new file with mode: 0644]
docs/reference/libebackend/libebackend-sections.txt [new file with mode: 0644]
docs/reference/libebackend/libebackend.types [new file with mode: 0644]
docs/reference/libedataserver/libedataserver.types
libebackend/Makefile.am [new file with mode: 0644]
libebackend/e-data-server-module.c [moved from libedataserver/e-data-server-module.c with 99% similarity]
libebackend/e-data-server-module.h [moved from libedataserver/e-data-server-module.h with 100% similarity]
libebackend/e-db3-utils.c [moved from libedataserver/e-db3-utils.c with 100% similarity]
libebackend/e-db3-utils.h [moved from libedataserver/e-db3-utils.h with 100% similarity]
libebackend/e-dbhash.c [moved from libedataserver/e-dbhash.c with 100% similarity]
libebackend/e-dbhash.h [moved from libedataserver/e-dbhash.h with 100% similarity]
libebackend/e-file-cache.c [moved from libedataserver/e-file-cache.c with 99% similarity]
libebackend/e-file-cache.h [moved from libedataserver/e-file-cache.h with 100% similarity]
libebackend/libebackend.pc.in [new file with mode: 0644]
libedataserver/Makefile.am
src/Makefile.am
src/server.c

index 8ea173e..e831a83 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,37 @@
+2008-04-23  Rob Bradford  <rob@openedhand.com>
+
+       * Makefile.am:
+       * configure.in:
+       * libebackend/Makefile.am:
+       * libebackend/libebackend.pc.in:
+       Build framework for new libebackend library.
+
+       * libedataserver/Makefile.am:
+       Remove files that have moved to libebackend.
+
+       * libedataserver/e-data-server-module.[ch]:
+       * libedataserver/e-db3-utils.[ch]:
+       * libedataserver/e-dbhash.[ch]:
+       * libedataserer/e-file-cache.[ch]:
+       Moved to libebackend.
+
+       * src/Makefile.am:
+       * src/server.c:
+       Use libebackend headers and link to the library.
+
+       * docs/reference/Makefile.am:
+       * docs/reference/libebackend/Makefile.am:
+       * docs/reference/libebackend/libebackend-docs.xml:
+       * docs/reference/libebackend/libebackend-sections.txt:
+       * docs/reference/libebackend/libebackend.types:
+       Add documentation for new libebackend library.
+
+       * docs/reference/libedataserver/libedataserver.types:
+       Remove types that have been moved to libebackend.
+
+       * docs/reference/calendar/libedata-cal/Makefile.am:
+       Add libebackend to the gtk-doc scanner libraries.
+
 2008-04-23  Matthew Barnes  <mbarnes@redhat.com>
 
        * README: Put it back.  Apparently Automake insists on it.
index 9b7cf8a..2d170dd 100644 (file)
@@ -9,8 +9,7 @@ if ENABLE_CALENDAR
 CALENDAR_DIR = calendar
 endif
 
-SUBDIRS = $(LIBDB) win32 libedataserver servers camel addressbook $(CALENDAR_DIR) libedataserverui src docs art po
-DIST_SUBDIRS= win32 libedataserver servers camel addressbook calendar libedataserverui src docs art po
+SUBDIRS = $(LIBDB) win32 libedataserver libebackend servers camel addressbook $(CALENDAR_DIR) libedataserverui src docs art po
 
 changelogs =                   \
        ChangeLog
index 1edc78c..1b1dd4e 100644 (file)
@@ -1,3 +1,21 @@
+2008-04-23  Rob Bradford  <rob@openedhand.com>
+
+       * backends/file/Makefile.am:
+       * backends/groupwise/Makefile.am:
+       * backends/vcf/Makefile.am:
+       * libedata-book/Makefile.am:
+       Link against the new libebackend library.
+
+       * backends/file/e-book-backend-file-factory.c:
+       * backends/file/e-book-backend-file.c:
+       * backends/groupwise/e-book-backend-groupwise-factory.c:
+       * backends/groupwise/e-book-backend-groupwise.c:
+       * backends/ldap/e-book-backend-ldap-factory.c:
+       * backends/vcf/e-book-backend-vcf-factory.c:
+       * libedata-book/e-book-backend-cache.h:
+       * libedata-book/e-data-book-factory.c:
+       Use new paths for header files that have been moved to libebackend.
+
 2008-04-28  Ashish Shrivastava  <shashish@novell.com>
 
        ** Fix for bug #381307 (bugzilla.novell.com)
index fa814c2..c4dd1b6 100644 (file)
@@ -18,6 +18,7 @@ libebookbackendfile_la_LIBADD =                                               \
        $(top_builddir)/addressbook/libebook/libebook-1.2.la            \
        $(top_builddir)/addressbook/libedata-book/libedata-book-1.2.la  \
        $(top_builddir)/libedataserver/libedataserver-1.2.la            \
+       $(top_builddir)/libebackend/libebackend-1.2.la          \
        $(DB_LIBS)                              \
        $(EVOLUTION_ADDRESSBOOK_LIBS)
 
index 3b8ecb2..9cd9968 100644 (file)
@@ -27,7 +27,7 @@
 
 #include <string.h>
 
-#include "libedataserver/e-data-server-module.h"
+#include "libebackend/e-data-server-module.h"
 #include "libedata-book/e-book-backend-factory.h"
 #include "e-book-backend-file.h"
 
index cfaf2c6..ef13c5e 100644 (file)
@@ -40,8 +40,9 @@
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
 
-#include "libedataserver/e-dbhash.h"
-#include "libedataserver/e-db3-utils.h"
+#include "libebackend/e-dbhash.h"
+#include "libebackend/e-db3-utils.h"
+
 #include "libedataserver/e-data-server-util.h"
 #include "libedataserver/e-flag.h"
 
index 693f3c7..625f19a 100644 (file)
@@ -20,6 +20,7 @@ libebookbackendgroupwise_la_LIBADD =                                  \
        $(top_builddir)/addressbook/libebook/libebook-1.2.la            \
        $(top_builddir)/addressbook/libedata-book/libedata-book-1.2.la  \
        $(top_builddir)/libedataserver/libedataserver-1.2.la            \
+       $(top_builddir)/libebackend/libebackend-1.2.la          \
        $(DB_LIBS)                                                      \
        $(EVOLUTION_ADDRESSBOOK_LIBS)                                   \
        $(SOUP_LIBS)
index 13479e2..66e503c 100644 (file)
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "libedataserver/e-data-server-module.h"
+#include "libebackend/e-data-server-module.h"
 #include "libedata-book/e-book-backend-factory.h"
 #include "e-book-backend-groupwise.h"
 
index c1ea985..9c5490f 100644 (file)
 #include <glib/gstdio.h>
 #include <glib/gi18n-lib.h>
 
+#include "libebackend/e-db3-utils.h"
+
 #include "libedataserver/e-sexp.h"
 #include "libedataserver/e-data-server-util.h"
-#include "libedataserver/e-db3-utils.h"
 #include "libedataserver/e-flag.h"
 #include "libedataserver/e-url.h"
 #include "libebook/e-contact.h"
index fcd663b..49e4363 100644 (file)
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "libedataserver/e-data-server-module.h"
+#include "libebackend/e-data-server-module.h"
 #include "libedata-book/e-book-backend-factory.h"
 #include "e-book-backend-ldap.h"
 
index f96f4e2..9285665 100644 (file)
@@ -17,6 +17,7 @@ libebookbackendvcf_la_LIBADD =                                                \
        $(top_builddir)/addressbook/libebook/libebook-1.2.la            \
        $(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)
 
 libebookbackendvcf_la_LDFLAGS =                \
index e734604..c66673a 100644 (file)
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "libedataserver/e-data-server-module.h"
+#include "libebackend/e-data-server-module.h"
 #include "libedata-book/e-book-backend-factory.h"
 #include "e-book-backend-vcf.h"
 
index 086b84d..009f8d5 100644 (file)
@@ -47,6 +47,7 @@ libedata_book_1_2_la_LIBADD =                                 \
        $(EVOLUTION_ADDRESSBOOK_LIBS)                           \
        $(top_builddir)/addressbook/libebook/libebook-1.2.la    \
        $(top_builddir)/libedataserver/libedataserver-1.2.la    \
+       $(top_builddir)/libebackend/libebackend-1.2.la  \
        $(DB_LIBS)
 
 libedata_book_1_2_la_LDFLAGS = \
index fcdce62..f710d7e 100644 (file)
@@ -23,7 +23,7 @@
 #ifndef E_BOOK_BACKEND_CACHE_H
 #define E_BOOK_BACKEND_CACHE_H
 
-#include "libedataserver/e-file-cache.h"
+#include "libebackend/e-file-cache.h"
 #include <libebook/e-contact.h>
 
 G_BEGIN_DECLS
index 08ae1af..aa4e039 100644 (file)
@@ -16,7 +16,7 @@
 #include <bonobo-activation/bonobo-activation.h>
 #include <bonobo/bonobo-main.h>
 #include <bonobo/bonobo-arg.h>
-#include "libedataserver/e-data-server-module.h"
+#include "libebackend/e-data-server-module.h"
 #include "e-data-book-factory.h"
 
 #include <backends/groupwise/e-book-backend-groupwise.h>
index b018e38..1afc86b 100644 (file)
@@ -1,3 +1,9 @@
+2008-04-23  Rob Bradford  <rob@openedhand.com>
+
+       * libedata-cal/e-cal-backend-cache.h:
+       * libedata-cal/e-data-cal-factory.c:
+       Use new paths for header files that have been moved to libebackend.
+
 2008-04-29  Milan Crha  <mcrha@redhat.com>
 
        ** Fix for bug #330990
index 5c1ae91..b3d6454 100644 (file)
@@ -22,7 +22,7 @@
 #ifndef E_CAL_BACKEND_CACHE_H
 #define E_CAL_BACKEND_CACHE_H
 
-#include "libedataserver/e-file-cache.h"
+#include "libebackend/e-file-cache.h"
 #include <libecal/e-cal-component.h>
 #include <libecal/e-cal.h>
 
index 365b28d..7c7d9ba 100644 (file)
@@ -25,7 +25,7 @@
 #include <bonobo/bonobo-main.h>
 #include "libedataserver/e-url.h"
 #include "libedataserver/e-source.h"
-#include "libedataserver/e-data-server-module.h"
+#include "libebackend/e-data-server-module.h"
 #include "e-cal-backend.h"
 #include "e-data-cal.h"
 #include "e-data-cal-factory.h"
index 23b39dd..24e5ffa 100644 (file)
@@ -38,9 +38,9 @@ AC_DEFINE_UNQUOTED(BASE_VERSION, "$BASE_VERSION", [Base version (Major.Minor)])
 AC_DEFINE_UNQUOTED(API_VERSION, "$API_VERSION", [Api version (Major.Minor)])
 
 # Libtool versioning
-LIBEDATASERVER_CURRENT=10
+LIBEDATASERVER_CURRENT=11
 LIBEDATASERVER_REVISION=0
-LIBEDATASERVER_AGE=1
+LIBEDATASERVER_AGE=0
 
 LIBEDATASERVERUI_CURRENT=9
 LIBEDATASERVERUI_REVISION=0
@@ -82,6 +82,10 @@ LIBGDATA_GOOGLE_CURRENT=1
 LIBGDATA_GOOGLE_REVISION=0
 LIBGDATA_GOOGLE_AGE=0
 
+LIBEBACKEND_CURRENT=0
+LIBEBACKEND_REVISION=0
+LIBEBACKEND_AGE=0
+
 AC_SUBST(LIBEDATASERVER_CURRENT)
 AC_SUBST(LIBEDATASERVER_REVISION)
 AC_SUBST(LIBEDATASERVER_AGE)
@@ -115,6 +119,9 @@ AC_SUBST(LIBGDATA_AGE)
 AC_SUBST(LIBGDATA_GOOGLE_CURRENT)
 AC_SUBST(LIBGDATA_GOOGLE_REVISION)
 AC_SUBST(LIBGDATA_GOOGLE_AGE)
+AC_SUBST(LIBEBACKEND_CURRENT)
+AC_SUBST(LIBEBACKEND_REVISION)
+AC_SUBST(LIBEBACKEND_AGE)
 
 dnl Put the ACLOCAL flags in the Makefile
 ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
@@ -1397,7 +1404,7 @@ dnl ****************************************
 dnl Flags for the various libraries we build
 dnl ****************************************
 
-dnl --- libedataserver and libedataserverui flags
+dnl --- libedataserver, libedataserverui, libebackend flags
 
 E_DATA_SERVER_DEPS="libxml-2.0 libbonobo-2.0 gconf-2.0 $mozilla_nspr"
 
@@ -1411,6 +1418,12 @@ EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, $THREADS_CFLAGS,
 AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
 AC_SUBST(E_DATA_SERVER_UI_LIBS)
 
+E_BACKEND_DEPS="gobject-2.0 libxml-2.0"
+
+EVO_SET_COMPILE_FLAGS(E_BACKEND, $E_BACKEND_DEPS)
+AC_SUBST(E_BACKEND_CFLAGS)
+AC_SUBST(E_BACKEND_LIBS)
+
 dnl --- evolution-addressbook flags
 
 EVOLUTION_ADDRESSBOOK_DEPS="libxml-2.0 libgnome-2.0 gobject-2.0 gthread-2.0 gconf-2.0"
@@ -1657,6 +1670,8 @@ camel/tests/stream/Makefile
 camel/camel.pc
 camel/camel-provider.pc
 libdb/Makefile
+libebackend/Makefile
+libebackend/libebackend.pc
 libedataserver/Makefile
 libedataserver/libedataserver.pc
 libedataserverui/Makefile
@@ -1687,6 +1702,7 @@ docs/reference/calendar/libedata-cal/Makefile
 docs/reference/camel/Makefile
 docs/reference/libedataserver/Makefile
 docs/reference/libedataserverui/Makefile
+docs/reference/libebackend/Makefile
 po/Makefile.in
 ])
 
index 337803b..157865b 100644 (file)
@@ -1,3 +1,3 @@
-SUBDIRS = addressbook calendar camel libedataserver libedataserverui
+SUBDIRS = addressbook calendar camel libedataserver libedataserverui libebackend
 MKDB_OPTIONS=--output-format=xml
 
index c4906d6..03fcd5f 100644 (file)
@@ -31,6 +31,7 @@ GTKDOC_CFLAGS = \
 
 GTKDOC_LIBS = \
        $(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la       \
+       $(top_builddir)/libebackend/libebackend-1.2.la                  \
        $(EVOLUTION_CALENDAR_LIBS)
 
 ####################################
diff --git a/docs/reference/libebackend/Makefile.am b/docs/reference/libebackend/Makefile.am
new file mode 100644 (file)
index 0000000..cdba039
--- /dev/null
@@ -0,0 +1,174 @@
+## Process this file with automake to produce Makefile.in
+# The name of the module.
+DOC_MODULE = libebackend
+
+content_files=
+HTML_IMAGES=
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE = libebackend-docs.xml
+
+#SCANGOBJ_OPTIONS =
+SCAN_OPTIONS = --deprecated-guards="EDS_DISABLE_DEPRECATED"
+
+DOC_SOURCE_DIR = $(top_srcdir)/libebackend
+HFILE_GLOB = $(top_srcdir)/libebackend/*.h
+CFILE_GLOB = $(top_srcdir)/libebackend/*.c
+IGNORE_HFILES = 
+
+GTKDOC_CFLAGS  =                                       \
+       -I$(top_srcdir)/libebackend                     \
+       -I$(top_srcdir)                                 \
+       -I$(top_builddir)                               \
+       $(E_BACKEND_CFLAGS)
+GTKDOC_LIBS = $(top_builddir)/libebackend/libebackend-1.2.la \
+             $(top_builddir)/libedataserver/libedataserver-1.2.la \
+             $(E_BACKEND_LIBS)
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+EXTRA_DIST =                           \
+       $(content_files)                \
+       $(HTML_IMAGES)                  \
+       $(DOC_MAIN_SGML_FILE)           \
+       $(DOC_MODULE).types             \
+       $(DOC_MODULE)-sections.txt      \
+       $(DOC_MODULE)-overrides.txt
+
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
+          $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
+
+SCANOBJ_FILES =                 \
+       $(DOC_MODULE).args       \
+       $(DOC_MODULE).hierarchy  \
+       $(DOC_MODULE).interfaces \
+       $(DOC_MODULE).prerequisites \
+       $(DOC_MODULE).signals
+
+CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+all-local: html-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB)
+       @echo '*** Scanning header files ***'
+       @-chmod -R u+w $(srcdir)
+       if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
+           CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+       else \
+           cd $(srcdir) ; \
+           for i in $(SCANOBJ_FILES) ; do \
+               test -f $$i || touch $$i ; \
+           done \
+       fi
+       cd $(srcdir) && \
+         gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
+       touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
+       @true
+
+#### templates ####
+
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+       @echo '*** Rebuilding template files ***'
+       @-chmod -R u+w $(srcdir)
+       cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+       touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+       @true
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
+       @echo '*** Building XML ***'
+       @-chmod -R u+w $(srcdir)
+       cd $(srcdir) && \
+       gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
+       touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+       @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+       @echo '*** Building HTML ***'
+       @-chmod -R u+w $(srcdir)
+       rm -rf $(srcdir)/html 
+       mkdir $(srcdir)/html
+       cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+       test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
+       @echo '-- Fixing Crossreferences' 
+       cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+       touch html-build.stamp
+endif
+
+##############
+
+clean-local:
+       rm -f *~ *.bak
+
+maintainer-clean-local: clean
+       cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+install-data-local:
+       $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
+       (installfiles=`echo $(srcdir)/html/*`; \
+       if test "$$installfiles" = '$(srcdir)/html/*'; \
+       then echo '-- Nothing to install' ; \
+       else \
+         for i in $$installfiles; do \
+           echo '-- Installing '$$i ; \
+           $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+         done; \
+         echo '-- Installing $(srcdir)/html/index.sgml' ; \
+         $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
+       fi)
+
+uninstall-local:
+       rm -f $(DESTDIR)$(TARGET_DIR)/*
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+       @echo "*** gtk-doc must be installed and enabled in order to make dist"
+       @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+       mkdir $(distdir)/tmpl
+       mkdir $(distdir)/xml
+       mkdir $(distdir)/html
+       -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+       -cp $(srcdir)/xml/*.xml $(distdir)/xml
+       -cp $(srcdir)/html/* $(distdir)/html
+
+.PHONY : dist-hook-local
+
diff --git a/docs/reference/libebackend/libebackend-docs.xml b/docs/reference/libebackend/libebackend-docs.xml
new file mode 100644 (file)
index 0000000..4300578
--- /dev/null
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+  <bookinfo>
+    <title>Evolution API Reference: libebackend, backend utility library</title>
+  </bookinfo>
+
+  <chapter>
+    <title>Evolution API Reference: libebackend, backend utility library</title>
+    <xi:include href="xml/e-file-cache.xml"/>
+    <xi:include href="xml/e-dbhash.xml"/>
+    <xi:include href="xml/e-data-server-module.xml"/>
+    <xi:include href="xml/e-db3-utils.xml"/>
+  </chapter>
+</book>
diff --git a/docs/reference/libebackend/libebackend-sections.txt b/docs/reference/libebackend/libebackend-sections.txt
new file mode 100644 (file)
index 0000000..ba4e392
--- /dev/null
@@ -0,0 +1,59 @@
+<SECTION>
+<FILE>e-file-cache</FILE>
+EFileCachePrivate
+<TITLE>EFileCache</TITLE>
+EFileCache
+e_file_cache_new
+e_file_cache_remove
+e_file_cache_clean
+e_file_cache_get_object
+e_file_cache_get_objects
+e_file_cache_get_keys
+e_file_cache_add_object
+e_file_cache_replace_object
+e_file_cache_remove_object
+e_file_cache_freeze_changes
+e_file_cache_thaw_changes
+e_file_cache_get_filename
+<SUBSECTION Standard>
+E_FILE_CACHE
+E_IS_FILE_CACHE
+E_TYPE_FILE_CACHE
+e_file_cache_get_type
+E_FILE_CACHE_CLASS
+E_IS_FILE_CACHE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>e-dbhash</FILE>
+EDbHashStatus
+EDbHash
+EDbHashPrivate
+EDbHashFunc
+e_dbhash_new
+e_dbhash_add
+e_dbhash_remove
+e_dbhash_compare
+e_dbhash_foreach_key
+e_dbhash_write
+e_dbhash_destroy
+</SECTION>
+
+<SECTION>
+<FILE>e-data-server-module</FILE>
+e_data_server_module_init
+e_data_server_get_extensions_for_type
+e_data_server_extension_list_free
+e_data_server_module_remove_unused
+e_data_server_module_add_type
+eds_module_initialize
+eds_module_shutdown
+eds_module_list_types
+</SECTION>
+
+<SECTION>
+<FILE>e-db3-utils</FILE>
+e_db3_utils_maybe_recover
+e_db3_utils_upgrade_format
+</SECTION>
+
diff --git a/docs/reference/libebackend/libebackend.types b/docs/reference/libebackend/libebackend.types
new file mode 100644 (file)
index 0000000..1a89530
--- /dev/null
@@ -0,0 +1,3 @@
+#include <libebackend/e-file-cache.h>
+
+e_file_cache_get_type
index 06fbfca..4698566 100644 (file)
@@ -1,7 +1,6 @@
 #include <libedataserver/e-account.h>
 #include <libedataserver/e-account-list.h>
 #include <libedataserver/e-component-listener.h>
-#include <libedataserver/e-file-cache.h>
 #include <libedataserver/e-iterator.h>
 #include <libedataserver/e-list.h>
 #include <libedataserver/e-list-iterator.h>
@@ -12,7 +11,6 @@
 e_account_get_type
 e_account_list_get_type
 e_component_listener_get_type
-e_file_cache_get_type
 e_iterator_get_type
 e_list_get_type
 e_list_iterator_get_type
diff --git a/libebackend/Makefile.am b/libebackend/Makefile.am
new file mode 100644 (file)
index 0000000..4e06c3f
--- /dev/null
@@ -0,0 +1,40 @@
+INCLUDES =                                                             \
+       -I$(top_srcdir)                                                 \
+       -DG_LOG_DOMAIN=\"e-data-server\"                                \
+       -DE_DATA_SERVER_EXTENSIONDIR=\"$(extensiondir)\"                \
+       $(DB_CFLAGS)                                                    \
+       $(E_BACKEND_CFLAGS)
+
+lib_LTLIBRARIES = libebackend-1.2.la
+
+libebackend_1_2_la_SOURCES =           \
+       e-data-server-module.c          \
+       e-dbhash.c                      \
+       e-db3-utils.c                   \
+       e-file-cache.c
+
+libebackend_1_2_la_LIBADD =                            \
+       $(E_BACKEND_LIBS)                               \
+       $(DB_LIBS)
+
+libebackend_1_2_la_LDFLAGS = \
+       -version-info $(LIBEBACKEND_CURRENT):$(LIBEBACKEND_REVISION):$(LIBEBACKEND_AGE) $(NO_UNDEFINED)
+
+libebackendincludedir = $(privincludedir)/libebackend
+
+libebackendinclude_HEADERS =           \
+       e-data-server-module.h          \
+       e-db3-utils.h                   \
+       e-dbhash.h                      \
+       e-file-cache.h
+
+%-$(API_VERSION).pc: %.pc
+        cp $< $@
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libebackend-$(API_VERSION).pc
+
+EXTRA_DIST =                                           \
+       $(pkgconfig_DATA:-$(API_VERSION).pc=.pc.in)
+
+DISTCLEANFILES = $(pkgconfig_DATA)
similarity index 99%
rename from libedataserver/e-data-server-module.c
rename to libebackend/e-data-server-module.c
index f711b0f..1fc272d 100644 (file)
@@ -28,7 +28,7 @@
 
 #include <gmodule.h>
 
-#include "libedataserver-private.h"
+#include "libedataserver/libedataserver-private.h"
 
 #define E_DATA_SERVER_TYPE_MODULE              (e_data_server_module_get_type ())
 #define E_DATA_SERVER_MODULE(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_DATA_SERVER_TYPE_MODULE, EDataServerModule))
@@ -263,7 +263,7 @@ e_data_server_module_add_type (GType type)
        module_objects = g_list_prepend (module_objects, object);
 }
 
-/**
+/*
  * Unref all loaded modules, so that unused modules are unloaded from the
  * system.
  */
similarity index 99%
rename from libedataserver/e-file-cache.c
rename to libebackend/e-file-cache.c
index c325b86..6bbb86f 100644 (file)
@@ -27,8 +27,8 @@
 #include <glib/gstdio.h>
 
 #include "e-file-cache.h"
-#include "e-data-server-util.h"
-#include "e-xml-hash-utils.h"
+#include "libedataserver/e-data-server-util.h"
+#include "libedataserver/e-xml-hash-utils.h"
 
 struct _EFileCachePrivate {
        char *filename;
diff --git a/libebackend/libebackend.pc.in b/libebackend/libebackend.pc.in
new file mode 100644 (file)
index 0000000..db9012b
--- /dev/null
@@ -0,0 +1,15 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+datarootdir=@datarootdir@
+datadir=@datadir@
+
+privincludedir=@privincludedir@
+
+Name: libebackend
+Description: Utility library for Evolution Data Server Backends
+Version: @VERSION@
+Requires: glib-2.0
+Libs: -L${libdir} -lbackend-@API_VERSION@
+Cflags: -I${privincludedir}
index 68a6dbb..6b111da 100644 (file)
@@ -1,7 +1,6 @@
 INCLUDES =                                                             \
        -I$(top_srcdir)                                                 \
        -DG_LOG_DOMAIN=\"e-data-server\"                                \
-       $(DB_CFLAGS)                                                    \
        -DE_DATA_SERVER_PREFIX=\"$(prefix)\"                            \
        -DEVOLUTION_LOCALEDIR=\""$(localedir)"\"                        \
        -DE_DATA_SERVER_EXTENSIONDIR=\"$(extensiondir)\"                \
@@ -18,10 +17,6 @@ libedataserver_1_2_la_SOURCES =              \
        e-account.c                     \
        e-categories.c                  \
        e-component-listener.c          \
-       e-data-server-module.c          \
-       e-dbhash.c                      \
-       e-db3-utils.c                   \
-       e-file-cache.c                  \
        e-flag.c                        \
        e-iconv.c                       \
        e-iterator.c                    \
@@ -47,7 +42,6 @@ libedataserver_1_2_la_SOURCES =               \
 libedataserver_1_2_la_LIBADD =                                 \
        $(E_DATA_SERVER_LIBS)                           \
        $(ICONV_LIBS)                                   \
-       $(DB_LIBS)                                      \
        $(SOCKET_LIBS)                                  \
        $(SOUP_LIBS)
 
@@ -61,10 +55,6 @@ libedataserverinclude_HEADERS =              \
        e-account.h                     \
        e-categories.h                  \
        e-component-listener.h          \
-       e-data-server-module.h          \
-       e-db3-utils.h                   \
-       e-dbhash.h                      \
-       e-file-cache.h                  \
        e-flag.h                        \
        e-iconv.h                       \
        e-iterator.h                    \
index 668213f..cdea400 100644 (file)
@@ -57,6 +57,7 @@ E_DATA_CAL_LIBS=$(top_builddir)/calendar/libedata-cal/libedata-cal-1.2.la
 endif
 
 evolution_data_server_LDADD =                                          \
+        $(top_builddir)/libebackend/libebackend-1.2.la                 \
         $(top_builddir)/addressbook/libedata-book/libedata-book-1.2.la  \
         $(E_DATA_CAL_LIBS)                                             \
         $(E_FACTORY_LIBS)                                              \
index daf6572..0bd38eb 100644 (file)
@@ -42,7 +42,7 @@
 #include <bonobo/bonobo-generic-factory.h>
 #include <gconf/gconf-client.h>
 
-#include <libedataserver/e-data-server-module.h>
+#include <libebackend/e-data-server-module.h>
 #include <libedata-book/e-data-book-factory.h>
 #if ENABLE_CALENDAR
 #include <libedata-cal/e-data-cal-factory.h>