From 50ba6d2ea8219ef2ec7b69e027b2a0f8f803e5a6 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 17 Jun 2005 10:58:37 +0000 Subject: [PATCH] Better makefile for toolbar editor and update everything to latest libegg. 2005-06-17 Marco Pesenti Gritti * configure.ac: * cut-n-paste/recent-files/egg-recent-model.c: (egg_recent_model_write_raw), (egg_recent_model_lock_file), (egg_recent_model_unlock_file): * cut-n-paste/recent-files/egg-recent-util.c: (egg_recent_util_get_unique_id): * cut-n-paste/recent-files/update-from-egg.sh: * cut-n-paste/toolbar-editor/Makefile.am: * cut-n-paste/toolbar-editor/egg-editable-toolbar.c: * cut-n-paste/toolbar-editor/egg-editable-toolbar.h: * cut-n-paste/toolbar-editor/egg-toolbar-editor.c: * cut-n-paste/toolbar-editor/egg-toolbars-model.c: (egg_toolbars_model_get_type): * cut-n-paste/toolbar-editor/egg-toolbars-model.h: Better makefile for toolbar editor and update everything to latest libegg. --- ChangeLog | 20 ++++ configure.ac | 2 + cut-n-paste/recent-files/egg-recent-model.c | 10 ++ cut-n-paste/recent-files/egg-recent-util.c | 11 ++ cut-n-paste/recent-files/update-from-egg.sh | 25 ---- cut-n-paste/toolbar-editor/Makefile.am | 112 ++++++++++++++---- .../toolbar-editor/egg-toolbars-model.c | 5 + 7 files changed, 135 insertions(+), 50 deletions(-) delete mode 100755 cut-n-paste/recent-files/update-from-egg.sh diff --git a/ChangeLog b/ChangeLog index 7f0b7dca..8608d077 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +2005-06-17 Marco Pesenti Gritti + + * configure.ac: + * cut-n-paste/recent-files/egg-recent-model.c: + (egg_recent_model_write_raw), (egg_recent_model_lock_file), + (egg_recent_model_unlock_file): + * cut-n-paste/recent-files/egg-recent-util.c: + (egg_recent_util_get_unique_id): + * cut-n-paste/recent-files/update-from-egg.sh: + * cut-n-paste/toolbar-editor/Makefile.am: + * cut-n-paste/toolbar-editor/egg-editable-toolbar.c: + * cut-n-paste/toolbar-editor/egg-editable-toolbar.h: + * cut-n-paste/toolbar-editor/egg-toolbar-editor.c: + * cut-n-paste/toolbar-editor/egg-toolbars-model.c: + (egg_toolbars_model_get_type): + * cut-n-paste/toolbar-editor/egg-toolbars-model.h: + + Better makefile for toolbar editor and update everything + to latest libegg. + 2005-06-17 Marco Pesenti Gritti * shell/ev-window.c: (update_document_mode): diff --git a/configure.ac b/configure.ac index 4a1a913b..fc7d2240 100644 --- a/configure.ac +++ b/configure.ac @@ -19,6 +19,8 @@ AM_PROG_CC_STDC AC_PROG_CXX AC_STDC_HEADERS AC_PROG_INTLTOOL +AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal]) +AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums]) GNOME_DEBUG_CHECK diff --git a/cut-n-paste/recent-files/egg-recent-model.c b/cut-n-paste/recent-files/egg-recent-model.c index 8b3abe5e..067a6353 100644 --- a/cut-n-paste/recent-files/egg-recent-model.c +++ b/cut-n-paste/recent-files/egg-recent-model.c @@ -193,7 +193,9 @@ egg_recent_model_write_raw (EggRecentModel *model, FILE *file, if (fputs (content, file) == EOF) return FALSE; +#ifndef G_OS_WIN32 fsync (fd); +#endif rewind (file); return TRUE; @@ -884,6 +886,7 @@ egg_recent_model_open_file (EggRecentModel *model) static gboolean egg_recent_model_lock_file (FILE *file) { +#ifdef F_TLOCK int fd; gint try = 5; @@ -913,17 +916,24 @@ egg_recent_model_lock_file (FILE *file) } return FALSE; +#else + return TRUE; +#endif } static gboolean egg_recent_model_unlock_file (FILE *file) { +#ifdef F_TLOCK int fd; rewind (file); fd = fileno (file); return (lockf (fd, F_ULOCK, 0) == 0) ? TRUE : FALSE; +#else + return TRUE; +#endif } static void diff --git a/cut-n-paste/recent-files/egg-recent-util.c b/cut-n-paste/recent-files/egg-recent-util.c index 6780cd1e..bc15a06e 100644 --- a/cut-n-paste/recent-files/egg-recent-util.c +++ b/cut-n-paste/recent-files/egg-recent-util.c @@ -12,6 +12,10 @@ #include #include "egg-recent-util.h" +#ifdef G_OS_WIN32 +#include +#endif + #define EGG_RECENT_UTIL_HOSTNAME_SIZE 512 /* ripped out of gedit2 */ @@ -128,7 +132,14 @@ egg_recent_util_get_unique_id (void) guint32 rand; int pid; +#ifndef G_OS_WIN32 gethostname (hostname, EGG_RECENT_UTIL_HOSTNAME_SIZE); +#else + { + DWORD size = EGG_RECENT_UTIL_HOSTNAME_SIZE; + GetComputerName (hostname, &size); + } +#endif time (&the_time); rand = g_random_int (); diff --git a/cut-n-paste/recent-files/update-from-egg.sh b/cut-n-paste/recent-files/update-from-egg.sh deleted file mode 100755 index 9be68a9b..00000000 --- a/cut-n-paste/recent-files/update-from-egg.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -function die() { - echo $* - exit 1 -} - -if test -z "$EGGDIR"; then - echo "Must set EGGDIR" - exit 1 -fi - -if test -z "$EGGFILES"; then - echo "Must set EGGFILES" - exit 1 -fi - -for FILE in $EGGFILES; do - if cmp -s $EGGDIR/$FILE $FILE; then - echo "File $FILE is unchanged" - else - cp $EGGDIR/$FILE $FILE || die "Could not move $EGGDIR/$FILE to $FILE" - echo "Updated $FILE" - fi -done diff --git a/cut-n-paste/toolbar-editor/Makefile.am b/cut-n-paste/toolbar-editor/Makefile.am index 95157ff9..26e0b5f9 100644 --- a/cut-n-paste/toolbar-editor/Makefile.am +++ b/cut-n-paste/toolbar-editor/Makefile.am @@ -1,43 +1,105 @@ - -INCLUDES = $(TOOLBAR_EDITOR_CFLAGS) \ - -DCURSOR_DIR=\"$(pkgdatadir)\" - -noinst_LTLIBRARIES = libtoolbareditor.la - EGGSOURCES = \ - egg-toolbars-model.c \ - egg-editable-toolbar.c \ + egg-editable-toolbar.c \ + egg-toolbars-model.c \ egg-toolbar-editor.c EGGHEADERS = \ - eggintl.h \ - egg-toolbars-model.h \ - egg-editable-toolbar.h \ + egg-editable-toolbar.h \ + egg-toolbars-model.h \ egg-toolbar-editor.h -libtoolbareditor_la_SOURCES = \ - $(EGGSOURCES) \ - eggmarshalers.c - noinst_HEADERS = \ - $(EGGHEADERS) \ - eggmarshalers.h + $(EGGHEADERS) \ + eggmarshalers.h \ + eggintl.h + +noinst_LTLIBRARIES = libegg.la + +libegg_la_SOURCES = \ + $(BUILT_SOURCES) \ + $(EGGSOURCES) \ + $(EGGHEADERS) -BUILT_SOURCES = eggmarshalers.h eggmarshalers.c +libegg_la_CPPFLAGS = \ + -I$(top_builddir)/lib/egg \ + -DCURSOR_DIR=\"$(pkgdatadir)/art\" \ + $(AM_CPPFLAGS) -eggmarshalers.h: eggmarshalers.list - $(GLIB_GENMARSHAL) --prefix=_egg_marshal $(srcdir)/eggmarshalers.list --header > eggmarshalers.h +libegg_la_CFLAGS = \ + $(TOOLBAR_EDITOR_CFLAGS) \ + $(AM_CFLAGS) -eggmarshalers.c: eggmarshalers.list - echo '#include "eggmarshalers.h"' > eggmarshalers.c - $(GLIB_GENMARSHAL) --prefix=_egg_marshal $(srcdir)/eggmarshalers.list --body >> eggmarshalers.c +BUILT_SOURCES = \ + eggmarshalers.c \ + eggmarshalers.h \ + eggtypebuiltins.c \ + eggtypebuiltins.h -egg-marshal.c: eggmarshalers.c eggmarshalers.h +stamp_files = \ + stamp-eggmarshalers.c \ + stamp-eggmarshalers.h \ + stamp-eggtypebuiltins.c \ + stamp-eggtypebuiltins.h -EXTRA_DIST= \ +eggmarshalers.h: stamp-eggmarshalers.h + @true +stamp-eggmarshalers.h: eggmarshalers.list + $(GLIB_GENMARSHAL) --prefix=_egg_marshal $(srcdir)/eggmarshalers.list --header > eggmarshalers.h \ + && echo timestamp > $(@F) + +eggmarshalers.c: stamp-eggmarshalers.c + @true +stamp-eggmarshalers.c: eggmarshalers.list + $(GLIB_GENMARSHAL) --prefix=_egg_marshal $(srcdir)/eggmarshalers.list --header --body > eggmarshalers.c \ + && echo timestamp > $(@F) + +eggtypebuiltins.c: stamp-eggtypebuiltins.c + @true +stamp-eggtypebuiltins.c: $(EGGHEADERS) + ( cd $(srcdir) && $(GLIB_MKENUMS) \ + --fhead "#include \"eggtypebuiltins.h\"\n\n" \ + --fprod "\n/* enumerations from \"@filename@\" */" \ + --fprod "\n#include \"@filename@\"" \ + --vhead "static const G@Type@Value _@enum_name@_values[] = {" \ + --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ + --vtail " { 0, NULL, NULL }\n};\n\n" \ + --vtail "GType\n@enum_name@_get_type (void)\n{\n" \ + --vtail " static GType type = 0;\n\n" \ + --vtail " if (G_UNLIKELY (type == 0))\n" \ + --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \ + --vtail " return type;\n}\n\n" \ + $(^F) ) > xgen-$(@F) \ + && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \ + && rm -f xgen-$(@F) \ + && echo timestamp > $(@F) + +eggtypebuiltins.h: stamp-eggtypebuiltins.h + @true +stamp-eggtypebuiltins.h: $(EGGHEADERS) + ( cd $(srcdir) && $(GLIB_MKENUMS) \ + --fhead "#ifndef __EGGTYPEBUILTINS_H__\n" \ + --fhead "#define __EGGTYPEBUILTINS_H__ 1\n\n" \ + --fhead "#include \n\n" \ + --fhead "G_BEGIN_DECLS\n\n" \ + --ftail "G_END_DECLS\n\n" \ + --ftail "#endif /* __EGGTYPEBUILTINS_H__ */\n" \ + --fprod "\n/* --- @filename@ --- */" \ + --eprod "#define EGG_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \ + --eprod "GType @enum_name@_get_type (void);\n" \ + $(^F) ) > xgen-$(@F) \ + && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \ + && rm -f xgen-$(@F) \ + && echo timestamp > $(@F) + +EXTRA_DIST = \ eggmarshalers.list EGGFILES=$(EGGSOURCES) $(EGGHEADERS) EGGDIR=$(srcdir)/../../../libegg/libegg + regenerate-built-sources: EGGFILES="$(EGGFILES) eggmarshalers.list" EGGDIR="$(EGGDIR)" $(top_srcdir)/cut-n-paste/update-from-egg.sh + +CLEANFILES = $(stamp_files) $(BUILT_SOURCES) +DISTCLEANFILES = $(stamp_files) $(BUILT_SOURCES) +MAINTAINERCLEANFILES = $(stamp_files) $(BUILT_SOURCES) diff --git a/cut-n-paste/toolbar-editor/egg-toolbars-model.c b/cut-n-paste/toolbar-editor/egg-toolbars-model.c index cf1ee8e0..56f4c8fb 100644 --- a/cut-n-paste/toolbar-editor/egg-toolbars-model.c +++ b/cut-n-paste/toolbar-editor/egg-toolbars-model.c @@ -22,6 +22,7 @@ #include "config.h" #include "egg-toolbars-model.h" +#include "eggtypebuiltins.h" #include "eggmarshalers.h" #include @@ -88,6 +89,10 @@ egg_toolbars_model_get_type (void) 0, /* n_preallocs */ (GInstanceInitFunc) egg_toolbars_model_init }; + volatile GType flags_type; /* work around gcc's optimiser */ + + /* make sure the flags type is known */ + flags_type = EGG_TYPE_TB_MODEL_FLAGS; type = g_type_register_static (G_TYPE_OBJECT, "EggToolbarsModel", -- 2.43.5