Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/cut-n-paste
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2005-06-17 10:58:37 (GMT)
committer Marco Pesenti Gritti <marco@src.gnome.org>2005-06-17 10:58:37 (GMT)
commit50ba6d2ea8219ef2ec7b69e027b2a0f8f803e5a6 (patch)
treed477c22e64296bdd75834e171a3eeea277fbf97b /cut-n-paste
parent485a0f8735af92a5a7d0d01709707fc30eb70ad4 (diff)
Better makefile for toolbar editor and update everything to latest libegg.
2005-06-17 Marco Pesenti Gritti <mpg@redhat.com> * 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.
Diffstat (limited to 'cut-n-paste')
-rw-r--r--cut-n-paste/recent-files/egg-recent-model.c10
-rw-r--r--cut-n-paste/recent-files/egg-recent-util.c11
-rwxr-xr-xcut-n-paste/recent-files/update-from-egg.sh25
-rw-r--r--cut-n-paste/toolbar-editor/Makefile.am112
-rw-r--r--cut-n-paste/toolbar-editor/egg-toolbars-model.c5
5 files changed, 113 insertions, 50 deletions
diff --git a/cut-n-paste/recent-files/egg-recent-model.c b/cut-n-paste/recent-files/egg-recent-model.c
index 8b3abe5..067a635 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 6780cd1..bc15a06 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 <math.h>
#include "egg-recent-util.h"
+#ifdef G_OS_WIN32
+#include <windows.h>
+#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 9be68a9..0000000
--- 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 95157ff..26e0b5f 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 <glib-object.h>\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 cf1ee8e..56f4c8f 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 <unistd.h>
@@ -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",