From c03e685846f21347e5a0e9943870e99162b0bae8 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Wed, 10 Aug 2005 10:06:41 +0000 Subject: Use privsolib instead of privlib. Link with SHELL_LIBS. Use NO_UNDEFINED. 2005-08-10 Tor Lillqvist * Makefile.am: Use privsolib instead of privlib. Link with SHELL_LIBS. Use NO_UNDEFINED. Use EXEEXT. Use hack to workaround MSYS feature on Win32 when installing the schemas. (INCLUDES): Define EVOLUTION_IMAGESDIR like in ../e-util/e-util-private.h, not EVOLUTION_IMAGES. (idl_defines): Pass marker macro to IDL compiler, see below. * Evolution-Component.idl: Don't generate duplicate code in skels and stubs when including this file from other idl files (in particular, ../mail/Evolution-Mail.idl). Use the include_defs and inhibit pragmas unless IDL-compiling in this directory. See lists.ximian.com/pipermail/evolution-patches/2005-June/010899.html * e-shell-utils.c * e-shell-windows.c: Ue EVOLUTION_IMAGESDIR in such a way that it works even when it is a function call. svn path=/trunk/; revision=30075 --- shell/ChangeLog | 19 +++++++++++++++++ shell/Evolution-Component.idl | 14 +++++++++++++ shell/Makefile.am | 49 ++++++++++++++++++++++++++++++------------- shell/e-shell-utils.c | 4 +++- shell/e-shell-window.c | 15 +++++++++---- 5 files changed, 81 insertions(+), 20 deletions(-) diff --git a/shell/ChangeLog b/shell/ChangeLog index efa028d4c7..0ddd03a8bd 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,22 @@ +2005-08-10 Tor Lillqvist + + * Makefile.am: Use privsolib instead of privlib. Link with + SHELL_LIBS. Use NO_UNDEFINED. Use EXEEXT. Use hack to workaround + MSYS feature on Win32 when installing the schemas. + (INCLUDES): Define EVOLUTION_IMAGESDIR like in + ../e-util/e-util-private.h, not EVOLUTION_IMAGES. + (idl_defines): Pass marker macro to IDL compiler, see below. + + * Evolution-Component.idl: Don't generate duplicate code in skels + and stubs when including this file from other idl files (in + particular, ../mail/Evolution-Mail.idl). Use the include_defs and + inhibit pragmas unless IDL-compiling in this directory. See + lists.ximian.com/pipermail/evolution-patches/2005-June/010899.html + + * e-shell-utils.c + * e-shell-windows.c: Ue EVOLUTION_IMAGESDIR in such a way that it + works even when it is a function call. + 2005-08-10 Not Zed ** See bug #271984. diff --git a/shell/Evolution-Component.idl b/shell/Evolution-Component.idl index defb138ae9..be5360bd38 100644 --- a/shell/Evolution-Component.idl +++ b/shell/Evolution-Component.idl @@ -13,6 +13,15 @@ #include +#ifndef __evolution_shell_COMPILATION +#ifdef __ORBIT_IDL__ +%{ +#pragma include_defs shell/evolution-component.h +%} +#pragma inhibit push +#endif +#endif + module GNOME { module Evolution { enum CreatableItem { @@ -102,4 +111,9 @@ module Evolution { }; }; +#ifndef __evolution_shell_COMPILATION +#ifdef __ORBIT_IDL__ +#pragma inhibit pop +#endif #endif +#endif /* _GNOME_EVOLUTION_COMPONENT_IDL */ diff --git a/shell/Makefile.am b/shell/Makefile.am index 5e73e5403e..2ad1275a6f 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -4,7 +4,7 @@ INCLUDES = \ -I$(top_srcdir) \ -I$(top_srcdir)/shell \ -I$(top_builddir)/shell \ - -DEVOLUTION_IMAGES=\""$(imagesdir)"\" \ + -DEVOLUTION_IMAGESDIR=\""$(imagesdir)"\" \ -DEVOLUTION_LOCALEDIR=\""$(localedir)"\" \ -DEVOLUTION_DATADIR=\""$(datadir)"\" \ -DEVOLUTION_GLADEDIR=\""$(gladedir)"\" \ @@ -39,10 +39,13 @@ IDL_GENERATED_C = \ Evolution-skels.c \ Evolution-stubs.c +idl_defines = \ + -D__evolution_shell_COMPILATION + IDL_GENERATED = $(IDL_GENERATED_H) $(IDL_GENERATED_C) $(IDL_GENERATED_H): $(IDLS) - $(ORBIT_IDL) -I $(srcdir) $(IDL_INCLUDES) $(srcdir)/Evolution.idl + $(ORBIT_IDL) -I $(srcdir) $(idl_defines) $(IDL_INCLUDES) $(srcdir)/Evolution.idl $(IDL_GENERATED_C): $(IDL_GENERATED_H) @@ -70,7 +73,7 @@ idl_DATA = $(IDLS) # Shell library -privlib_LTLIBRARIES = \ +privsolib_LTLIBRARIES = \ libeshell.la eshellincludedir = $(privincludedir)/shell @@ -93,9 +96,12 @@ libeshell_la_SOURCES = \ evolution-shell-component-utils.c \ $(eshellinclude_HEADERS) -libeshell_la_LIBADD = \ - $(top_builddir)/e-util/libeutil.la \ - $(top_builddir)/widgets/misc/libemiscwidgets.la +libeshell_la_LDFLAGS = $(NO_UNDEFINED) + +libeshell_la_LIBADD = \ + $(top_builddir)/e-util/libeutil.la \ + $(top_builddir)/widgets/misc/libemiscwidgets.la \ + $(SHELL_LIBS) # Evolution executable @@ -155,7 +161,7 @@ libevolution_test_la_LIBADD = \ libeshell.la \ $(EVOLUTION_TEST_LIBS) -libevolution_test_la_LDFLAGS = -avoid-version -module +libevolution_test_la_LDFLAGS = -avoid-version -module $(NO_UNDEFINED) if ENABLE_TEST_COMPONENT testserver_in_files = GNOME_Evolution_Test.server.in.in @@ -188,24 +194,37 @@ schema_DATA = $(schema_in_files:.schemas.in.in=-$(BASE_VERSION).schemas) @INTLTOOL_SCHEMAS_RULE@ +if OS_WIN32 install-data-local: - if test -z "$(DESTDIR)" ; then \ - for p in $(schema_DATA) ; do \ - GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $$p; \ - done \ + if test -z "$(DESTDIR)" ; then \ + for p in $(schema_DATA) ; do \ + (echo set GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE); \ + echo $(GCONFTOOL) --makefile-install-rule $$p) >_temp.bat; \ + cmd /c _temp.bat; \ + rm _temp.bat; \ + done \ fi +else +install-data-local: + if test -z "$(DESTDIR)" ; then \ + for p in $(schema_DATA) ; do \ + GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) \ + $(GCONFTOOL) --makefile-install-rule $$p; \ + done \ + fi +endif install-evolution: $(mkinstalldirs) $(DESTDIR)$(bindir) - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) evolution $(DESTDIR)$(bindir)/evolution-$(BASE_VERSION) + $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) evolution$(EXEEXT) $(DESTDIR)$(bindir)/evolution-$(BASE_VERSION)$(EXEEXT) if DEFAULT_BINARY - cd $(DESTDIR)$(bindir) && rm -f evolution && $(LN_S) evolution-$(BASE_VERSION) evolution + cd $(DESTDIR)$(bindir) && rm -f evolution$(EXEEXT) && $(LN_S) evolution-$(BASE_VERSION)$(EXEEXT) evolution$(EXEEXT) endif uninstall-evolution: - $(LIBTOOL) --mode=uninstall rm -rf $(DESTDIR)$(bindir)/evolution-$(BASE_VERSION) + $(LIBTOOL) --mode=uninstall rm -rf $(DESTDIR)$(bindir)/evolution-$(BASE_VERSION)$(EXEEXT) if DEFAULT_BINARY - rm -f $(DESTDIR)$(bindir)/evolution + rm -f $(DESTDIR)$(bindir)/evolution$(EXEEXT) endif if HAVE_DTAPPINTEGRATE diff --git a/shell/e-shell-utils.c b/shell/e-shell-utils.c index 195b25b986..b5a8b9b25c 100644 --- a/shell/e-shell-utils.c +++ b/shell/e-shell-utils.c @@ -31,6 +31,8 @@ #include #include +#include "e-util/e-util-private.h" + #include "e-shell-constants.h" #include "e-shell-utils.h" @@ -43,7 +45,7 @@ get_icon_path (const char *icon_name) if (g_path_is_absolute (icon_name)) icon_path = g_strdup (icon_name); else - icon_path = g_build_filename (EVOLUTION_IMAGES, icon_name, NULL); + icon_path = g_build_filename (EVOLUTION_IMAGESDIR, icon_name, NULL); if (g_file_test (icon_path, G_FILE_TEST_EXISTS)) { return icon_path; diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c index cc05844668..cbb3bfc175 100644 --- a/shell/e-shell-window.c +++ b/shell/e-shell-window.c @@ -28,6 +28,8 @@ #include "Evolution.h" +#include "e-util/e-util-private.h" + #include "e-component-registry.h" #include "e-shell-window-commands.h" #include "e-shell-marshal.h" @@ -464,22 +466,27 @@ static void load_icons (void) { GdkPixbuf *pixbuf; + char *png_file_name; - pixbuf = gdk_pixbuf_new_from_file (EVOLUTION_IMAGES "/offline.png", NULL); + png_file_name = g_build_filename (EVOLUTION_IMAGESDIR, "offline.png", NULL); + pixbuf = gdk_pixbuf_new_from_file (png_file_name, NULL); if (pixbuf == NULL) { - g_warning ("Cannot load `%s'", EVOLUTION_IMAGES "/offline.png"); + g_warning ("Cannot load `%s'", png_file_name); } else { gdk_pixbuf_render_pixmap_and_mask (pixbuf, &offline_pixmap, &offline_mask, 128); g_object_unref (pixbuf); } + g_free (png_file_name); - pixbuf = gdk_pixbuf_new_from_file (EVOLUTION_IMAGES "/online.png", NULL); + png_file_name = g_build_filename (EVOLUTION_IMAGESDIR, "online.png", NULL); + pixbuf = gdk_pixbuf_new_from_file (png_file_name, NULL); if (pixbuf == NULL) { - g_warning ("Cannot load `%s'", EVOLUTION_IMAGES "/online.png"); + g_warning ("Cannot load `%s'", png_file_name); } else { gdk_pixbuf_render_pixmap_and_mask (pixbuf, &online_pixmap, &online_mask, 128); g_object_unref (pixbuf); } + g_free (png_file_name); } static void -- cgit v1.2.3