r7016 - in dumbhippo/trunk/client: common/ddm linux linux/config
- From: commits mugshot org
- To: online-desktop-list gnome org
- Subject: r7016 - in dumbhippo/trunk/client: common/ddm linux linux/config
- Date: Tue, 11 Dec 2007 12:18:11 -0600 (CST)
Author: otaylor
Date: 2007-12-11 12:18:10 -0600 (Tue, 11 Dec 2007)
New Revision: 7016
Added:
dumbhippo/trunk/client/common/ddm/ddm-feed.c
dumbhippo/trunk/client/common/ddm/ddm-feed.h
dumbhippo/trunk/client/common/ddm/ddm-marshal.list
dumbhippo/trunk/client/common/ddm/test-feed-object.c
Modified:
dumbhippo/trunk/client/common/ddm/ddm.h
dumbhippo/trunk/client/linux/
dumbhippo/trunk/client/linux/Makefile-libddm.am
dumbhippo/trunk/client/linux/config/
Log:
ddm-feed.[ch] ddm.h test-feed-object.c: Add a DDMFeed object to
hold feeds (not hooked up to anything yet)
Makefifile-libddm.am ddm-marshal.list: Add marshaller generation
for libddm
Added: dumbhippo/trunk/client/common/ddm/ddm-feed.c
===================================================================
--- dumbhippo/trunk/client/common/ddm/ddm-feed.c 2007-12-11 18:15:32 UTC (rev 7015)
+++ dumbhippo/trunk/client/common/ddm/ddm-feed.c 2007-12-11 18:18:10 UTC (rev 7016)
@@ -0,0 +1,261 @@
+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+
+#include "ddm-feed.h"
+#include "ddm-marshal.h"
+
+typedef struct _DDMFeedItem DDMFeedItem;
+typedef struct _DDMFeedIterReal DDMFeedIterReal;
+
+struct _DDMFeedItem {
+ DDMDataResource *resource;
+ gint64 timestamp;
+};
+
+struct _DDMFeed {
+ GObject parent;
+
+ GList *items;
+ GHashTable *nodes_by_resource;
+};
+
+struct _DDMFeedClass {
+ GObjectClass parent_class;
+};
+
+struct _DDMFeedIterReal {
+ DDMFeed *feed;
+ GList *node;
+};
+
+static void ddm_feed_clear_internal (DDMFeed *feed,
+ gboolean emit_signals);
+static void ddm_feed_finalize (GObject *object);
+
+enum {
+ ITEM_ADDED,
+ ITEM_CHANGED,
+ ITEM_REMOVED,
+ LAST_SIGNAL
+};
+
+static int signals[LAST_SIGNAL];
+
+G_DEFINE_TYPE(DDMFeed, ddm_feed, G_TYPE_OBJECT);
+
+static void
+ddm_feed_init(DDMFeed *feed)
+{
+ feed->items = NULL;
+ feed->nodes_by_resource = g_hash_table_new(g_direct_hash, NULL);
+}
+
+static void
+ddm_feed_class_init(DDMFeedClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = ddm_feed_finalize;
+
+ signals[ITEM_ADDED] =
+ g_signal_new ("item-added",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ ddm_marshal_VOID__POINTER_INT64,
+ G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_INT64);
+
+ signals[ITEM_CHANGED] =
+ g_signal_new ("item-changed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ ddm_marshal_VOID__POINTER_INT64,
+ G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_INT64);
+
+ signals[ITEM_REMOVED] =
+ g_signal_new ("item-removed",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ ddm_marshal_VOID__POINTER,
+ G_TYPE_NONE, 1, G_TYPE_POINTER);
+}
+
+static void
+ddm_feed_finalize (GObject *object)
+{
+ DDMFeed *feed = DDM_FEED(object);
+
+ ddm_feed_clear_internal(feed, FALSE);
+
+ g_hash_table_destroy(feed->nodes_by_resource);
+ g_assert(feed->items == NULL);
+}
+
+DDMFeed *
+ddm_feed_new (void)
+{
+ return g_object_new(DDM_TYPE_FEED, NULL);
+}
+
+static void
+feed_insert_sorted (DDMFeed *feed,
+ GList *node,
+ gint64 timestamp)
+{
+ GList *l, *prev;
+
+ prev = NULL;
+ for (l = feed->items; l; l = l->next) {
+ DDMFeedItem *other = l->data;
+ if (other->timestamp < timestamp)
+ break;
+ prev = l;
+ }
+
+ if (prev == NULL) {
+ node->prev = NULL;
+ node->next = feed->items;
+ if (node->next)
+ node->next->prev = node;
+ feed->items = node;
+ } else {
+ node->prev = prev;
+ node->next = prev->next;
+ if (node->next)
+ node->next->prev = node;
+ prev->next = node;
+ }
+}
+
+void
+ddm_feed_add_item (DDMFeed *feed,
+ DDMDataResource *resource,
+ gint64 timestamp)
+{
+ GList *node;
+ DDMFeedItem *item;
+
+ g_return_if_fail(DDM_IS_FEED(feed));
+
+ node = g_hash_table_lookup(feed->nodes_by_resource, resource);
+ if (node != NULL) {
+ item = node->data;
+
+ if (item->timestamp == timestamp)
+ return;
+
+ item->timestamp = timestamp;
+
+ feed->items = g_list_remove_link(feed->items, node);
+ feed_insert_sorted(feed, node, timestamp);
+
+ g_signal_emit(feed, signals[ITEM_CHANGED], 0, resource, timestamp);
+ } else {
+ item = g_slice_new(DDMFeedItem);
+ item->resource = ddm_data_resource_ref(resource);
+ item->timestamp = timestamp;
+
+ node = g_list_alloc();
+ node->data = item;
+
+ g_hash_table_insert(feed->nodes_by_resource, resource, node);
+ feed_insert_sorted(feed, node, timestamp);
+
+ g_signal_emit(feed, signals[ITEM_ADDED], 0, resource, timestamp);
+ }
+}
+
+void
+ddm_feed_remove_item (DDMFeed *feed,
+ DDMDataResource *resource)
+{
+ GList *node;
+ DDMFeedItem *item;
+
+ g_return_if_fail(DDM_IS_FEED(feed));
+
+ node = g_hash_table_lookup(feed->nodes_by_resource, resource);
+ if (node == NULL) {
+ g_warning("ddm_feed_remove_item(): resource %s not in feed",
+ ddm_data_resource_get_resource_id(resource));
+ return;
+ }
+
+ feed->items = g_list_remove_link(feed->items, node);
+ g_hash_table_remove(feed->nodes_by_resource, resource);
+
+ item = node->data;
+
+ g_signal_emit(feed, signals[ITEM_REMOVED], 0, item->resource);
+ ddm_data_resource_unref(item->resource);
+ g_slice_free(DDMFeedItem, item);
+}
+
+static void
+ddm_feed_clear_internal (DDMFeed *feed,
+ gboolean emit_signals)
+{
+ GList *items, *l;
+
+ g_return_if_fail(DDM_IS_FEED(feed));
+
+ g_hash_table_remove_all(feed->nodes_by_resource);
+
+ items = feed->items;
+ feed->items = NULL;
+
+ for (l = items; l; l = l->next) {
+ DDMFeedItem *item = items->data;
+
+ if (emit_signals)
+ g_signal_emit(feed, signals[ITEM_REMOVED], 0, item->resource);
+ ddm_data_resource_unref(item->resource);
+ g_slice_free(DDMFeedItem, item);
+ }
+
+ g_list_free(items);
+}
+
+void
+ddm_feed_clear (DDMFeed *feed)
+{
+ g_return_if_fail(DDM_IS_FEED(feed));
+
+ ddm_feed_clear_internal(feed, TRUE);
+}
+
+void
+ddm_feed_iter_init (DDMFeedIter *iter,
+ DDMFeed *feed)
+{
+ DDMFeedIterReal *real = (DDMFeedIterReal *)iter;
+
+ g_return_if_fail(DDM_IS_FEED(feed));
+
+ real->feed = feed;
+ real->node = feed->items;
+}
+
+gboolean
+ddm_feed_iter_next (DDMFeedIter *iter,
+ DDMDataResource **resource,
+ gint64 *timestamp)
+{
+ DDMFeedIterReal *real = (DDMFeedIterReal *)iter;
+ DDMFeedItem *item;
+
+ if (real->node == NULL)
+ return FALSE;
+
+ item = real->node->data;
+ *resource = item->resource;
+ *timestamp = item->timestamp;
+
+ real->node = real->node->next;
+
+ return TRUE;
+}
Added: dumbhippo/trunk/client/common/ddm/ddm-feed.h
===================================================================
--- dumbhippo/trunk/client/common/ddm/ddm-feed.h 2007-12-11 18:15:32 UTC (rev 7015)
+++ dumbhippo/trunk/client/common/ddm/ddm-feed.h 2007-12-11 18:18:10 UTC (rev 7016)
@@ -0,0 +1,65 @@
+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+
+#ifndef DDM_COMPILATION
+#ifndef DDM_INSIDE_DDM_H
+#error "Do not include this file directly, include ddm.h instead"
+#endif /* DDM_INSIDE_DDM_H */
+#endif /* DDM_COMPILATION */
+
+#ifndef __DDM_FEED_H__
+#define __DDM_FEED_H__
+
+#include <glib-object.h>
+#include <ddm/ddm-data-resource.h>
+
+G_BEGIN_DECLS
+
+/* DDMFeed is an object used to store the contents of a single resource property
+ * of type DDM_DATA_FEED. It has signals:
+ *
+ * ::item-added - an item was added
+ * ::item-removed - an item was removed
+ * ::item-changed - an item's timestamp changed, possibly reordering it in the feed
+ *
+ * DDMFeedIter can be used to iterate through a feed in order starting with the
+ * most recent item.
+ */
+
+typedef struct _DDMFeed DDMFeed;
+typedef struct _DDMFeedClass DDMFeedClass;
+typedef struct _DDMFeedIter DDMFeedIter;
+
+struct _DDMFeedIter {
+ gpointer data1;
+ gpointer data2;
+};
+
+#define DDM_TYPE_FEED (ddm_feed_get_type ())
+#define DDM_FEED(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), DDM_TYPE_FEED, DDMFeed))
+#define DDM_FEED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DDM_TYPE_FEED, DDMFeedClass))
+#define DDM_IS_FEED(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), DDM_TYPE_FEED))
+#define DDM_IS_FEED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DDM_TYPE_FEED))
+#define DDM_FEED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DDM_TYPE_FEED, DDMFeedClass))
+
+GType ddm_feed_get_type (void) G_GNUC_CONST;
+
+DDMFeed *ddm_feed_new (void);
+
+/* If an item for this resource is already in the feed, will update the
+ * item's timestamp and reorder it as necessary */
+void ddm_feed_add_item (DDMFeed *feed,
+ DDMDataResource *resource,
+ gint64 timestamp);
+void ddm_feed_remove_item (DDMFeed *feed,
+ DDMDataResource *resource);
+void ddm_feed_clear (DDMFeed *feed);
+
+void ddm_feed_iter_init (DDMFeedIter *iter,
+ DDMFeed *feed);
+gboolean ddm_feed_iter_next (DDMFeedIter *iter,
+ DDMDataResource **resource,
+ gint64 *timestamp);
+
+G_END_DECLS
+
+#endif /* __DDM_FEED_H__ */
Added: dumbhippo/trunk/client/common/ddm/ddm-marshal.list
===================================================================
--- dumbhippo/trunk/client/common/ddm/ddm-marshal.list 2007-12-11 18:15:32 UTC (rev 7015)
+++ dumbhippo/trunk/client/common/ddm/ddm-marshal.list 2007-12-11 18:18:10 UTC (rev 7016)
@@ -0,0 +1,2 @@
+VOID:POINTER
+VOID:POINTER,INT64
Modified: dumbhippo/trunk/client/common/ddm/ddm.h
===================================================================
--- dumbhippo/trunk/client/common/ddm/ddm.h 2007-12-11 18:15:32 UTC (rev 7015)
+++ dumbhippo/trunk/client/common/ddm/ddm.h 2007-12-11 18:18:10 UTC (rev 7016)
@@ -20,6 +20,7 @@
#include <ddm/ddm-data-model-backend.h>
#include <ddm/ddm-data-query.h>
#include <ddm/ddm-data-resource.h>
+#include <ddm/ddm-feed.h>
#include <ddm/ddm-notification-set.h>
#include <ddm/ddm-qname.h>
Added: dumbhippo/trunk/client/common/ddm/test-feed-object.c
===================================================================
--- dumbhippo/trunk/client/common/ddm/test-feed-object.c 2007-12-11 18:15:32 UTC (rev 7015)
+++ dumbhippo/trunk/client/common/ddm/test-feed-object.c 2007-12-11 18:18:10 UTC (rev 7016)
@@ -0,0 +1,158 @@
+/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
+
+#include <string.h>
+
+#include "ddm-feed.h"
+#include "static-file-backend.h"
+
+/* Three timestamps used when testing */
+#define TS1 G_GINT64_CONSTANT(1197332388000)
+#define TS2 G_GINT64_CONSTANT(1197335965000)
+#define TS3 G_GINT64_CONSTANT(1197337121000)
+
+static enum {
+ ITEM_ADDED,
+ ITEM_CHANGED,
+ ITEM_REMOVED
+} last_op;
+
+static DDMDataResource *last_resource;
+static gint64 last_timestamp;
+
+static void
+on_item_added(DDMFeed *feed,
+ DDMDataResource *resource,
+ gint64 timestamp)
+{
+ last_op = ITEM_ADDED;
+ last_resource = resource;
+ last_timestamp = timestamp;
+}
+
+static void
+on_item_changed(DDMFeed *feed,
+ DDMDataResource *resource,
+ gint64 timestamp)
+{
+ last_op = ITEM_CHANGED;
+ last_resource = resource;
+ last_timestamp = timestamp;
+}
+
+static void
+on_item_removed(DDMFeed *feed,
+ DDMDataResource *resource,
+ gint64 timestamp)
+{
+ last_op = ITEM_REMOVED;
+ last_resource = resource;
+ last_timestamp = -1;
+}
+
+int
+main(int argc, char **argv)
+{
+ GError *error = NULL;
+ DDMDataModel *model;
+ const char *srcdir;
+ char *filename;
+
+ DDMDataResource *user1;
+ DDMDataResource *user2;
+
+ DDMFeed *feed;
+ DDMFeedIter iter;
+
+ DDMDataResource *resource;
+ gint64 timestamp;
+
+ g_type_init();
+
+ /* Load up some data just to have resources to stick into our feed */
+
+ model = ddm_data_model_new_no_backend();
+
+ srcdir = g_getenv("DDM_SRCDIR");
+ if (srcdir == NULL)
+ g_error("DDM_SRCDIR is not set");
+
+ filename = g_build_filename(srcdir, "test-data.xml", NULL);
+ if (!ddm_static_file_parse(filename, model, &error))
+ g_error("Failed to parse test data: %s", error->message);
+
+ g_free(filename);
+
+ user1 = ddm_data_model_lookup_resource(model, "http://mugshot.org/o/user/USER1");
+ g_assert(user1 != NULL);
+
+ user2 = ddm_data_model_lookup_resource(model, "http://mugshot.org/o/user/USER2");
+ g_assert(user2 != NULL);
+
+ /* Create a feed */
+
+ feed = ddm_feed_new();
+ g_signal_connect(feed, "item-added",
+ G_CALLBACK(on_item_added), NULL);
+ g_signal_connect(feed, "item-changed",
+ G_CALLBACK(on_item_changed), NULL);
+ g_signal_connect(feed, "item-removed",
+ G_CALLBACK(on_item_removed), NULL);
+
+ /* Add two items to it */
+
+ ddm_feed_add_item(feed, user1, TS1);
+ g_assert(last_op == ITEM_ADDED);
+ g_assert(last_resource == user1);
+ g_assert(last_timestamp == TS1);
+
+ ddm_feed_add_item(feed, user2, TS2);
+ g_assert(last_op == ITEM_ADDED);
+ g_assert(last_resource == user2);
+ g_assert(last_timestamp == TS2);
+
+ /* Restack the older one to the top */
+
+ ddm_feed_add_item(feed, user1, TS3);
+ g_assert(last_op == ITEM_CHANGED);
+ g_assert(last_resource == user1);
+ g_assert(last_timestamp == TS3);
+
+ /* Iterate through the feed */
+
+ ddm_feed_iter_init(&iter, feed);
+
+ g_assert(ddm_feed_iter_next(&iter, &resource, ×tamp));
+ g_assert(resource == user1);
+ g_assert(timestamp == TS3);
+
+ g_assert(ddm_feed_iter_next(&iter, &resource, ×tamp));
+ g_assert(resource == user2);
+ g_assert(timestamp == TS2);
+
+ g_assert(!ddm_feed_iter_next(&iter, &resource, ×tamp));
+
+ /* Remove an item */
+
+ ddm_feed_remove_item(feed, user2);
+ g_assert(last_op == ITEM_REMOVED);
+ g_assert(last_resource == user2);
+
+ ddm_feed_iter_init(&iter, feed);
+
+ g_assert(ddm_feed_iter_next(&iter, &resource, ×tamp));
+ g_assert(resource == user1);
+ g_assert(timestamp == TS3);
+
+ g_assert(!ddm_feed_iter_next(&iter, &resource, ×tamp));
+
+ /* Remove all items */
+
+ ddm_feed_clear(feed);
+ g_assert(last_op == ITEM_REMOVED);
+ g_assert(last_resource == user1);
+
+ ddm_feed_iter_init(&iter, feed);
+ g_assert(!ddm_feed_iter_next(&iter, &resource, ×tamp));
+
+ return 0;
+}
Property changes on: dumbhippo/trunk/client/linux
___________________________________________________________________
Name: svn:ignore
-
Makefile.in
configure
aclocal.m4
autom4te.cache
build
canvas-dist
+ Makefile.in
Makefile
configure
aclocal.m4
autom4te.cache
build
canvas-dist
test-*
config.status
config.log
libtool
version
mugshot-uri-handler
mugshot
.deps
.libs
*.xpt
# The actual files are .in for the following
*.service
*.pc
*.desktop
Modified: dumbhippo/trunk/client/linux/Makefile-libddm.am
===================================================================
--- dumbhippo/trunk/client/linux/Makefile-libddm.am 2007-12-11 18:15:32 UTC (rev 7015)
+++ dumbhippo/trunk/client/linux/Makefile-libddm.am 2007-12-11 18:18:10 UTC (rev 7016)
@@ -15,17 +15,17 @@
libddm_1_la_LDFLAGS= -export-symbols-regex "^[^_].*" -version-info $(DDM_LT_CURRENT):$(DDM_LT_REVISION):$(DDM_LT_AGE) -no-undefined
-#COMMON_MARSHAL_LIST=$(COMMONSRCDIR)/ddm/ddm-common-marshal.list
-#COMMON_MARSHAL_HEADER=$(MARSHAL_DIR)/ddm-common-marshal.h
-#COMMON_MARSHAL_BODY=$(MARSHAL_DIR)/ddm-common-marshal.c
+DDM_MARSHAL_LIST=$(COMMONSRCDIR)/ddm/ddm-marshal.list
+DDM_MARSHAL_HEADER=$(MARSHAL_DIR)/ddm-marshal.h
+DDM_MARSHAL_BODY=$(MARSHAL_DIR)/ddm-marshal.c
-#$(COMMON_MARSHAL_HEADER): $(COMMON_MARSHAL_LIST)
-# mkdir $(MARSHAL_DIR) || true
-# $(GLIB_GENMARSHAL) --prefix=ddm_common_marshal $(COMMON_MARSHAL_LIST) --header > $(COMMON_MARSHAL_HEADER)
+$(DDM_MARSHAL_HEADER): $(DDM_MARSHAL_LIST)
+ mkdir $(MARSHAL_DIR) 2>/dev/null || true
+ $(GLIB_GENMARSHAL) --prefix=ddm_marshal $(DDM_MARSHAL_LIST) --header > $(DDM_MARSHAL_HEADER)
-#$(COMMON_MARSHAL_BODY): $(COMMON_MARSHAL_LIST)
-# mkdir $(MARSHAL_DIR) || true
-# (echo "#include \"ddm-common-marshal.h\""; $(GLIB_GENMARSHAL) --prefix=ddm_common_marshal $(COMMON_MARSHAL_LIST) --body) > $(COMMON_MARSHAL_BODY)
+$(DDM_MARSHAL_BODY): $(DDM_MARSHAL_LIST)
+ mkdir $(MARSHAL_DIR) 2>/dev/null || true
+ (echo "#include \"ddm-marshal.h\""; $(GLIB_GENMARSHAL) --prefix=ddm_marshal $(DDM_MARSHAL_LIST) --body) > $(DDM_MARSHAL_BODY)
libddmincludedir = $(includedir)/ddm-1/ddm
nodist_libddminclude_HEADERS= \
@@ -38,6 +38,7 @@
$(COMMONSRCDIR)/ddm/ddm-data-model-dbus.h \
$(COMMONSRCDIR)/ddm/ddm-data-resource.h \
$(COMMONSRCDIR)/ddm/ddm-data-query.h \
+ $(COMMONSRCDIR)/ddm/ddm-feed.h \
$(COMMONSRCDIR)/ddm/ddm-notification-set.h \
$(COMMONSRCDIR)/ddm/ddm-qname.h
@@ -55,6 +56,7 @@
$(COMMONSRCDIR)/ddm/ddm-data-resource-internal.h \
$(COMMONSRCDIR)/ddm/ddm-data-query.c \
$(COMMONSRCDIR)/ddm/ddm-data-query-internal.h \
+ $(COMMONSRCDIR)/ddm/ddm-feed.c \
$(COMMONSRCDIR)/ddm/ddm-local-client.c \
$(COMMONSRCDIR)/ddm/ddm-local-client.h \
$(COMMONSRCDIR)/ddm/ddm-notification-set.c \
@@ -67,9 +69,9 @@
$(COMMONSRCDIR)/ddm/hippo-dbus-helper.h \
$(COMMONSRCDIR)/ddm/hippo-dbus-helper-rename.h
-LIBDDM_BUILT_SOURCEFILES = \
- $(COMMON_MARSHAL_HEADER) \
- $(COMMON_MARSHAL_BODY)
+LIBDDM_BUILT_SOURCEFILES = \
+ $(DDM_MARSHAL_HEADER) \
+ $(DDM_MARSHAL_BODY)
MAINTAINERCLEANFILES += $(LIBDDM_BUILT_SOURCEFILES)
BUILT_SOURCES += $(LIBDDM_BUILT_SOURCEFILES)
@@ -103,6 +105,7 @@
ddm_tests = \
test-condition-parser \
test-condition-reduce \
+ test-feed-object \
test-multipart-fetch \
test-notification \
test-rules \
@@ -129,6 +132,11 @@
nodist_test_condition_reduce_SOURCES=$(COMMONSRCDIR)/ddm/test-condition-reduce.c
+test_feed_object_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDDM_CFLAGS) -DDDM_COMPILATION=1
+test_feed_object_LDADD=libddm-1.la libddm-test.la
+
+nodist_test_feed_object_SOURCES=$(COMMONSRCDIR)/ddm/test-feed-object.c
+
test_ddm_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDDM_CFLAGS)
test_ddm_LDADD=libddm-1.la
@@ -168,5 +176,6 @@
-mkdir $(distdir)/common-dist
-mkdir $(distdir)/common-dist/ddm
cp $(LIBDDM_SOURCEFILES) $(nodist_libddminclude_HEADERS) $(nodist_test_ddm_SOURCES) $(distdir)/common-dist/ddm
-# mkdir $(distdir)/common-dist/ddm/generated
-# cp $(COMMONSRCDIR)/ddm/ddm-common-marshal.list $(distdir)/common-dist/ddm
+ mkdir $(distdir)/common-dist/ddm/generated
+ cp $(COMMONSRCDIR)/ddm/ddm-marshal.list $(distdir)/common-dist/ddm
+
Property changes on: dumbhippo/trunk/client/linux/config
___________________________________________________________________
Name: svn:ignore
- compile
config.guess
config.h.in
config.sub
depcomp
install-sh
ltmain.sh
missing
hippo
+ compile
config.guess
config.h.in
config.h
config.sub
depcomp
install-sh
ltmain.sh
missing
hippo
stamp-h1
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]