Most of the providers don't have to link with libedataserver
Philip Van Hoof <[email protected]>
| Newsgroups | gmane.comp.gnome.evolution.devel,gmane.comp.gnome.evolution.patches |
|---|---|
| Message-ID | <[email protected]> |
Hi there, As far as I can see is the only camel provider dat uses libedataserver directly, the groupware one. The other camel providers don't use any of the libedataserver functionality hence shouldn't link with it. Not linking might improve dlopen() times. Because by the time the .so is loaded, not linking isn't going improve memory consumption (on a normal desktop system) a lot, indeed. However, it's imo good to have dependencies and build environment correct, and not in a state of ... oh, maybe it's used, maybe not, so we'll just add it to the LIBADD. Nah :), not-so-nice imo. ps. Note that Camel itself only uses a very small subset of the function- ality of libedataserver. This could be fixed by splitting up the library in a libedataserver-common and a libedataserver-specific, and let camel only link with the libedataserver-common. ps. I indeed have the patches and list-of-files (and tests) ready to do this. It should perhaps be discussed first, so let me know if you want this (maybe we can discuss it next #evolution-meet?) This is the list of files Camel uses from libedataserver: e-trie.c, e-iconv.c, e-memory.c, e-msgport.c, e-sexp.c, e-time-utils.c, e-data-server-util.c, md5-utils.c and of course their .h files. The files compile (without any changes) without needing any of the other libedataserver code files. -- Philip Van Hoof, software developer at x-tend home: me at pvanhoof dot be gnome: pvanhoof at gnome dot org work: vanhoof at x-tend dot be http://www.pvanhoof.be - http://www.x-tend.be _______________________________________________ Evolution-hackers mailing list [email protected] http://mail.gnome.org/mailman/listinfo/evolution-hackers
camel_providers_most_Makefile.am.diff
(text/x-patch, 4.5 KB)
Index: hula/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/hula/Makefile.am,v
retrieving revision 1.1
diff -u -p -r1.1 Makefile.am
--- hula/Makefile.am 14 Nov 2005 17:39:32 -0000 1.1
+++ hula/Makefile.am 20 Jul 2006 07:53:40 -0000
@@ -20,7 +20,6 @@ libcamelhula_la_SOURCES = \
libcamelhula_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED)
libcamelhula_la_LIBADD = \
- $(top_builddir)/libedataserver/libedataserver-1.2.la \
$(top_builddir)/camel/libcamel-provider-1.2.la \
$(top_builddir)/camel/libcamel-1.2.la \
$(CAMEL_LIBS)
Index: imap4/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap4/Makefile.am,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile.am
--- imap4/Makefile.am 12 Aug 2005 23:51:34 -0000 1.12
+++ imap4/Makefile.am 20 Jul 2006 07:53:40 -0000
@@ -43,7 +43,6 @@ libcamelimap4_la_SOURCES = \
libcamelimap4_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED)
libcamelimap4_la_LIBADD = \
- $(top_builddir)/libedataserver/libedataserver-${API_VERSION}.la \
$(top_builddir)/camel/libcamel-provider-1.2.la \
$(top_builddir)/camel/libcamel-1.2.la \
$(CAMEL_LIBS)
Index: imap/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap/Makefile.am,v
retrieving revision 1.34
diff -u -p -r1.34 Makefile.am
--- imap/Makefile.am 19 May 2006 15:25:08 -0000 1.34
+++ imap/Makefile.am 20 Jul 2006 07:53:40 -0000
@@ -42,7 +42,6 @@ noinst_HEADERS = \
libcamelimap_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED)
libcamelimap_la_LIBADD = \
- $(top_builddir)/libedataserver/libedataserver-${API_VERSION}.la \
$(top_builddir)/camel/libcamel-provider-1.2.la \
$(top_builddir)/camel/libcamel-1.2.la \
$(CAMEL_LIBS)
Index: local/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/local/Makefile.am,v
retrieving revision 1.20
diff -u -p -r1.20 Makefile.am
--- local/Makefile.am 12 Aug 2005 23:51:34 -0000 1.20
+++ local/Makefile.am 20 Jul 2006 07:53:41 -0000
@@ -57,7 +57,6 @@ noinst_HEADERS = \
libcamellocal_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED)
libcamellocal_la_LIBADD = \
- $(top_builddir)/libedataserver/libedataserver-${API_VERSION}.la \
$(top_builddir)/camel/libcamel-provider-1.2.la \
$(top_builddir)/camel/libcamel-1.2.la \
$(CAMEL_LIBS)
Index: nntp/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/nntp/Makefile.am,v
retrieving revision 1.32
diff -u -p -r1.32 Makefile.am
--- nntp/Makefile.am 12 Aug 2005 23:51:35 -0000 1.32
+++ nntp/Makefile.am 20 Jul 2006 07:53:41 -0000
@@ -35,7 +35,6 @@ noinst_HEADERS = \
libcamelnntp_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED)
libcamelnntp_la_LIBADD = \
- $(top_builddir)/libedataserver/libedataserver-${API_VERSION}.la \
$(top_builddir)/camel/libcamel-provider-1.2.la \
$(top_builddir)/camel/libcamel-1.2.la \
$(CAMEL_LIBS)
Index: pop3/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/pop3/Makefile.am,v
retrieving revision 1.21
diff -u -p -r1.21 Makefile.am
--- pop3/Makefile.am 12 Aug 2005 23:51:35 -0000 1.21
+++ pop3/Makefile.am 20 Jul 2006 07:53:41 -0000
@@ -26,7 +26,6 @@ noinst_HEADERS = \
libcamelpop3_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED)
libcamelpop3_la_LIBADD = \
- $(top_builddir)/libedataserver/libedataserver-${API_VERSION}.la \
$(top_builddir)/camel/libcamel-provider-1.2.la \
$(top_builddir)/camel/libcamel-1.2.la \
$(CAMEL_LIBS)
Index: smtp/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/smtp/Makefile.am,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile.am
--- smtp/Makefile.am 12 Aug 2005 23:51:36 -0000 1.23
+++ smtp/Makefile.am 20 Jul 2006 07:53:41 -0000
@@ -21,7 +21,6 @@ noinst_HEADERS = \
libcamelsmtp_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED)
libcamelsmtp_la_LIBADD = \
- $(top_builddir)/libedataserver/libedataserver-${API_VERSION}.la \
$(top_builddir)/camel/libcamel-provider-1.2.la \
$(top_builddir)/camel/libcamel-1.2.la \
$(CAMEL_LIBS)