Hey everyone,
        I remembered (again) that we still don't install libeshell, and I
figured now would be a good time to send a current version of the patch
to do so. I believe that it is a-ok to commit. 
        I've worked up a reasonably small proof-of-concept called
"evolution-term" that implements a terminal component for Evolution --
obviously useless. I can post a tarball if anyone is interested --
hopefully it could be a good jumping-off point for third-party shell
components.

(Hm just encountered possible bug... try to attach a file and
double-click on the filename instead of hitting "ok")

--
Peter Williams     [EMAIL PROTECTED] / [EMAIL PROTECTED]

"Why should I have to change my name? He's the one who 
sucks!"                              -- Michael Bolton
Index: addressbook/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/ChangeLog,v
retrieving revision 1.513
diff -u -r1.513 ChangeLog
--- addressbook/ChangeLog       2001/05/25 18:56:24     1.513
+++ addressbook/ChangeLog       2001/05/25 23:10:59
@@ -1,3 +1,7 @@
+2001-05-25  Peter Williams  <[EMAIL PROTECTED]>
+
+       * gui/component/Makefile.am: Reference libeshell.la instead of libeshell.a.
+
 2001-05-25  Christopher James Lahey  <[EMAIL PROTECTED]>
 
        * gui/widgets/e-addressbook-reflow-adapter.c (addressbook_height):
Index: addressbook/gui/component/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/component/Makefile.am,v
retrieving revision 1.46
diff -u -r1.46 Makefile.am
--- addressbook/gui/component/Makefile.am       2001/05/07 17:33:31     1.46
+++ addressbook/gui/component/Makefile.am       2001/05/25 23:10:59
@@ -43,7 +43,7 @@
 
 evolution_addressbook_LDADD =                                          \
        select-names/libeselectnames.la                                 \
-       $(top_builddir)/shell/libeshell.a                               \
+       $(top_builddir)/shell/libeshell.la                              \
        $(EXTRA_GNOME_LIBS)                                             \
        $(BONOBO_HTML_GNOME_LIBS)                                       \
        $(top_builddir)/addressbook/gui/widgets/libeminicard.a          \
Index: calendar/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/calendar/ChangeLog,v
retrieving revision 1.873
diff -u -r1.873 ChangeLog
--- calendar/ChangeLog  2001/05/23 21:17:39     1.873
+++ calendar/ChangeLog  2001/05/25 23:11:02
@@ -1,3 +1,7 @@
+2001-05-25  Peter Williams  <[EMAIL PROTECTED]>
+
+       * gui/Makefile.am: Reference libeshell.la instead of libeshell.a.
+
 2001-05-23  Federico Mena Quintero  <[EMAIL PROTECTED]>
 
        * gui/dialogs/recurrence-page.c: Finished porting from the old
Index: calendar/gui/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/Makefile.am,v
retrieving revision 1.200
diff -u -r1.200 Makefile.am
--- calendar/gui/Makefile.am    2001/05/17 00:32:25     1.200
+++ calendar/gui/Makefile.am    2001/05/25 23:11:02
@@ -113,7 +113,7 @@
 
 evolution_calendar_LDADD =                                                            
 \
        alarm-notify/libalarm.a                                                        
 \
-       $(top_builddir)/shell/libeshell.a                                              
 \
+       $(top_builddir)/shell/libeshell.la                                             
+ \
        $(top_builddir)/calendar/cal-client/libcal-client.la                           
 \
        $(top_builddir)/calendar/cal-util/libcal-util.la                               
 \
        $(top_builddir)/e-util/libeutil.la                                             
 \
Index: executive-summary/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/executive-summary/ChangeLog,v
retrieving revision 1.59
diff -u -r1.59 ChangeLog
--- executive-summary/ChangeLog 2001/05/23 14:05:40     1.59
+++ executive-summary/ChangeLog 2001/05/25 23:11:02
@@ -1,3 +1,7 @@
+2001-05-25  Peter Williams  <[EMAIL PROTECTED]>
+
+       * component/Makefile.am: Reference libeshell.la instead of libeshell.a.
+
 2001-05-23  Kjartan Maraas  <[EMAIL PROTECTED]>
 
        * component/e-summary-url.c: Mark a string for translation.
Index: mail/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/mail/ChangeLog,v
retrieving revision 1.1237
diff -u -r1.1237 ChangeLog
--- mail/ChangeLog      2001/05/25 20:53:26     1.1237
+++ mail/ChangeLog      2001/05/25 23:11:06
@@ -1,3 +1,7 @@
+2001-05-25  Peter Williams  <[EMAIL PROTECTED]>
+
+       * Makefile.am: Reference libeshell.la instead of libeshell.a.
+
 2001-05-25  Jeffrey Stedfast  <[EMAIL PROTECTED]>
 
        * folder-browser-factory.c (control_activate): Disable Resend on
Index: mail/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/mail/Makefile.am,v
retrieving revision 1.135
diff -u -r1.135 Makefile.am
--- mail/Makefile.am    2001/05/22 18:44:32     1.135
+++ mail/Makefile.am    2001/05/25 23:11:06
@@ -102,7 +102,7 @@
 
 evolution_mail_LDADD =                                         \
        $(top_builddir)/e-util/libeutil.la              \
-       $(top_builddir)/shell/libeshell.a               \
+       $(top_builddir)/shell/libeshell.la              \
        $(top_builddir)/composer/libcomposer.a          \
        $(top_builddir)/widgets/misc/libemiscwidgets.a  \
        $(top_builddir)/camel/libcamel.la               \
Index: shell/ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/shell/ChangeLog,v
retrieving revision 1.423
diff -u -r1.423 ChangeLog
--- shell/ChangeLog     2001/05/25 18:35:38     1.423
+++ shell/ChangeLog     2001/05/25 23:11:08
@@ -1,3 +1,14 @@
+2001-05-25  Peter Williams  <[EMAIL PROTECTED]>
+
+       * Makefile.am: Change libeshell from a noinst_LIBRARIES to
+       a lib_LTLIBRARIES. Install its headers in 
+       $includedir/evolution/shell.
+
+       * evolution-storage.c (safe_corba_string): New, copy of e_safe_corba_string
+       in libeutil. This way libeshell doesn't have a missing symbol when programs
+       that don't have libeutil link to it.
+       (evolution_storage_register): s,e_safe_corba_string,safe_corba_string,g.
+
 2001-05-21  Christopher James Lahey  <[EMAIL PROTECTED]>
 
        * Makefile.am (INCLUDES): Added ETSPECDIR.  Added
Index: shell/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution/shell/Makefile.am,v
retrieving revision 1.71
diff -u -r1.71 Makefile.am
--- shell/Makefile.am   2001/05/25 18:35:38     1.71
+++ shell/Makefile.am   2001/05/25 23:11:08
@@ -47,33 +47,39 @@
 
 # Shell library
 
-noinst_LIBRARIES =     \
-       libeshell.a
+lib_LTLIBRARIES =      \
+       libeshell.la
 
-libeshell_a_SOURCES =                          \
+eshellincludedir = $(includedir)/evolution/shell
+
+eshellinclude_HEADERS =                        \
+       Evolution.h                             \
+       e-folder-tree.h                         \
+       evolution-local-storage.h               \
+       evolution-session.h                     \
+       evolution-shell-client.h                \
+       evolution-shell-component-client.h      \
+       evolution-shell-component.h             \
+       evolution-shell-component-dnd.h         \
+       evolution-shell-view.h                  \
+       evolution-storage-listener.h            \
+       evolution-storage-set-view-listener.h   \
+       evolution-storage.h
+
+libeshell_la_SOURCES =                                 \
        $(IDL_GENERATED)                        \
        e-folder-tree.c                         \
-       e-folder-tree.h                         \
        evolution-local-storage.c               \
-       evolution-local-storage.h               \
        evolution-session.c                     \
-       evolution-session.h                     \
        evolution-shell-client.c                \
-       evolution-shell-client.h                \
        evolution-shell-component-client.c      \
-       evolution-shell-component-client.h      \
        evolution-shell-component.c             \
-       evolution-shell-component.h             \
        evolution-shell-component-dnd.c         \
-       evolution-shell-component-dnd.h         \
        evolution-shell-view.c                  \
-       evolution-shell-view.h                  \
        evolution-storage-listener.c            \
-       evolution-storage-listener.h            \
        evolution-storage-set-view-listener.c   \
-       evolution-storage-set-view-listener.h   \
        evolution-storage.c                     \
-       evolution-storage.h
+       $(eshellinclude_HEADERS)
 
 # Evolution executable
 
@@ -138,7 +144,7 @@
        main.c
 
 evolution_LDADD =                                              \
-       libeshell.a                                             \
+       libeshell.la                                            \
        importer/libevolution-importer.la                       \
        $(top_builddir)/widgets/misc/libemiscwidgets.a          \
        $(top_builddir)/e-util/libeutil.la                      \
Index: shell/evolution-storage.c
===================================================================
RCS file: /cvs/gnome/evolution/shell/evolution-storage.c,v
retrieving revision 1.35
diff -u -r1.35 evolution-storage.c
--- shell/evolution-storage.c   2001/05/08 22:53:38     1.35
+++ shell/evolution-storage.c   2001/05/25 23:11:08
@@ -33,8 +33,6 @@
 
 #include "Evolution.h"
 
-#include "e-util/e-corba-utils.h"
-
 #include "e-folder-tree.h"
 
 #include "evolution-storage.h"
@@ -75,6 +73,15 @@
 
 /* Utility functions.  */
 
+static const CORBA_char *
+safe_corba_string (const char *s)
+{
+        if (s == NULL)
+                return (CORBA_char *) "";
+
+        return s;
+}
+
 static void
 list_through_listener_foreach (EFolderTree *tree,
                               const char *path,
@@ -611,8 +618,8 @@
        corba_storage_listener = GNOME_Evolution_StorageRegistry_addStorage 
(corba_storage_registry,
                                                                             
corba_storage,
                                                                             
priv->name,
-                                                                            
e_safe_corba_string (priv->toplevel_node_uri),
-                                                                            
e_safe_corba_string (priv->toplevel_node_type),
+                                                                            
+safe_corba_string (priv->toplevel_node_uri),
+                                                                            
+safe_corba_string (priv->toplevel_node_type),
                                                                             &ev);
 
        if (ev._major == CORBA_NO_EXCEPTION) {

Reply via email to