r7016 - in dumbhippo/trunk/client: common/ddm linux linux/config



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, &timestamp));
+    g_assert(resource == user1);
+    g_assert(timestamp == TS3);
+    
+    g_assert(ddm_feed_iter_next(&iter, &resource, &timestamp));
+    g_assert(resource == user2);
+    g_assert(timestamp == TS2);
+
+    g_assert(!ddm_feed_iter_next(&iter, &resource, &timestamp));
+
+    /* 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, &timestamp));
+    g_assert(resource == user1);
+    g_assert(timestamp == TS3);
+    
+    g_assert(!ddm_feed_iter_next(&iter, &resource, &timestamp));
+
+    /* 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, &timestamp));
+    
+    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]