r4717 - in trunk/src/host/pye17: . ecore ecore_evas edje evas

marek at docs.openmoko.org marek at docs.openmoko.org
Thu Oct 16 12:25:35 CEST 2008


Author: marek
Date: 2008-10-16 12:25:34 +0200 (Thu, 16 Oct 2008)
New Revision: 4717

Added:
   trunk/src/host/pye17/examples/
Modified:
   trunk/src/host/pye17/Makefile
   trunk/src/host/pye17/ecore/Makefile
   trunk/src/host/pye17/ecore_evas/Makefile
   trunk/src/host/pye17/ecore_evas/ecore_evas.override
   trunk/src/host/pye17/edje/Makefile
   trunk/src/host/pye17/evas/Makefile
Log:
[pye17] manually enhance ecore_evas in order to hide functions and pythonize the module
add example folder and "examples" make target


Modified: trunk/src/host/pye17/Makefile
===================================================================
--- trunk/src/host/pye17/Makefile	2008-10-16 03:55:15 UTC (rev 4716)
+++ trunk/src/host/pye17/Makefile	2008-10-16 10:25:34 UTC (rev 4717)
@@ -10,21 +10,20 @@
 endif
 
 ifeq ($(wildcard $(E_PATH)),)
-$(error Path to enlightenment libaries variable is missing, please set E_PATH)
+$(error Path to enlightenment libaries variable is missing, please set E_PATH (e.g. ~/e17/libs))
 endif
 
 
 PWD := $(shell pwd)
 CODEGEN_PATH = $(PWD)/codegen
+EXAMPLE_PATH = $(PWD)/examples
 PYTHON = $(shell which python)
 
 
 e_bindings = evas ecore ecore_evas edje
 
 ### ToDo ###
-# ecore
 # eet ? embryo ?
-# edje
 
 
 e_bindings_mk = $(e_bindings:=.mk)
@@ -36,6 +35,7 @@
 
 clean:	all
 
+examples: all
+
 %.mk:
-	make -C $*/ CODEGEN_PATH=$(CODEGEN_PATH) E_PATH=$(E_PATH) PYTHON=$(PYTHON) $(MAKECMDGOALS)
-
+	$(MAKE) -C $*/ CODEGEN_PATH=$(CODEGEN_PATH) E_PATH=$(E_PATH) PYTHON=$(PYTHON) EXAMPLE_PATH=$(EXAMPLE_PATH) $(MAKECMDGOALS)

Modified: trunk/src/host/pye17/ecore/Makefile
===================================================================
--- trunk/src/host/pye17/ecore/Makefile	2008-10-16 03:55:15 UTC (rev 4716)
+++ trunk/src/host/pye17/ecore/Makefile	2008-10-16 10:25:34 UTC (rev 4717)
@@ -1,13 +1,14 @@
 CFLAGS = `pkg-config --cflags ecore glib-2.0 pygtk-2.0` `python-config --includes`
 LDFLAGS = `pkg-config --libs ecore glib-2.0 pygtk-2.0` `python-config --libs`
 
-ECORE_PATH=$(E_PATH)/ecore/src/lib/ecore
+ECORE_PATH = $(E_PATH)/ecore/src/lib/ecore
+LIB_NAME = ecore.so
 
-.PHONY: all clean ecore.so
+.PHONY: all clean examples
 
-all: ecore.so
+all: $(LIB_NAME)
 
-ecore.so: ecore.o ecoremodule.o
+$(LIB_NAME): ecore.o ecoremodule.o
 	$(CC) $(LDFLAGS) -shared $^ -o $@
 
 ecore.c: ecore.defs ecore.override
@@ -18,4 +19,10 @@
 	$(CODEGEN_PATH)/h2def.py $(ECORE_PATH)/Ecore_Data.h >> $@
 
 clean:
-	rm -f *.o *~ ecore.defs ecore.c ecore.so
+	rm -f *.o *~ ecore.defs ecore.c $(LIB_NAME) $(EXAMPLE_PATH)/$(LIB_NAME) $(EXAMPLE_PATH)/*/$(LIB_NAME)
+
+examples: $(LIB_NAME) $(EXAMPLE_PATH)/$(LIB_NAME)
+	ln -s $(EXAMPLE_PATH)/$(LIB_NAME) $(EXAMPLE_PATH)/ecore_evas/
+
+$(EXAMPLE_PATH)/$(LIB_NAME):
+	cp $(LIB_NAME) $(EXAMPLE_PATH)

Modified: trunk/src/host/pye17/ecore_evas/Makefile
===================================================================
--- trunk/src/host/pye17/ecore_evas/Makefile	2008-10-16 03:55:15 UTC (rev 4716)
+++ trunk/src/host/pye17/ecore_evas/Makefile	2008-10-16 10:25:34 UTC (rev 4717)
@@ -1,13 +1,14 @@
 CFLAGS = `pkg-config --cflags ecore-evas glib-2.0 pygtk-2.0` `python-config --includes`
 LDFLAGS = `pkg-config --libs ecore-evas glib-2.0 pygtk-2.0` `python-config --libs`
 
-ECORE_EVAS_PATH=$(E_PATH)/ecore/src/lib/ecore_evas
+ECORE_EVAS_PATH = $(E_PATH)/ecore/src/lib/ecore_evas
+LIB_NAME = ecore_evas.so
 
-.PHONY: all clean ecore_evas.so
+.PHONY: all clean examples
 
-all: ecore_evas.so
+all: $(LIB_NAME)
 
-ecore_evas.so: ecore_evas.o ecore_evasmodule.o
+$(LIB_NAME): ecore_evas.o ecore_evasmodule.o
 	$(CC) $(LDFLAGS) -shared $^ -o $@
 
 ecore_evas.c: ecore_evas.defs ecore_evas.override
@@ -17,4 +18,10 @@
 	$(CODEGEN_PATH)/h2def.py $(ECORE_EVAS_PATH)/Ecore_Evas.h > $@
 
 clean:
-	rm -f *.o *~ ecore_evas.defs ecore_evas.c ecore_evas.so
+	rm -f *.o *~ ecore_evas.defs ecore_evas.c $(LIB_NAME) $(EXAMPLE_PATH)/$(LIB_NAME) $(EXAMPLE_PATH)/*/$(LIB_NAME)
+
+examples: $(LIB_NAME) $(EXAMPLE_PATH)/$(LIB_NAME)
+	ln -s $(EXAMPLE_PATH)/$(LIB_NAME) $(EXAMPLE_PATH)/ecore_evas/
+
+$(EXAMPLE_PATH)/$(LIB_NAME):
+	cp $(LIB_NAME) $(EXAMPLE_PATH)

Modified: trunk/src/host/pye17/ecore_evas/ecore_evas.override
===================================================================
--- trunk/src/host/pye17/ecore_evas/ecore_evas.override	2008-10-16 03:55:15 UTC (rev 4716)
+++ trunk/src/host/pye17/ecore_evas/ecore_evas.override	2008-10-16 10:25:34 UTC (rev 4717)
@@ -7,4 +7,42 @@
 %%
 ignore-glob
   *_get_type
-%%
\ No newline at end of file
+%%
+ignore
+  ecore_evas_init
+  ecore_evas_shutdown
+  ecore_evas_ecore_evas_get
+%%
+define software_x11_new kwargs
+static Ecore_Evas *
+_wrap_software_x11_new(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+    static char *kwlist[] = { "w", "h", NULL };
+    PyGObject *new_self;
+    int w, h;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,"ii:software_x11_new.__new__", kwlist, &w, &h))
+        return NULL;
+
+    new_self = PyObject_GC_New(PyGObject, &PyEcore_Evas_Type);
+
+    if (new_self == NULL)
+        return NULL;
+
+    new_self->inst_dict = NULL;
+    new_self->weakreflist = NULL;
+    new_self->private_flags.flags = 0;
+    new_self->obj = ecore_evas_software_x11_new(NULL, 0, 0, 0, w, h);
+
+    if(new_self->obj == NULL) {
+        Py_DECREF(new_self);
+        PyErr_SetString(PyExc_TypeError, "Can't create ecore_evas object. Check your DISPLAY variable!");
+        return NULL;
+    }
+
+    //g_object_ref(new_self->obj);
+    //pygobject_register_wrapper_full(new_self, FALSE);
+    PyObject_GC_Track((PyObject *)new_self);
+
+    return (PyObject*)new_self;
+}

Modified: trunk/src/host/pye17/edje/Makefile
===================================================================
--- trunk/src/host/pye17/edje/Makefile	2008-10-16 03:55:15 UTC (rev 4716)
+++ trunk/src/host/pye17/edje/Makefile	2008-10-16 10:25:34 UTC (rev 4717)
@@ -1,13 +1,14 @@
 CFLAGS = `pkg-config --cflags edje glib-2.0 pygtk-2.0` `python-config --includes`
 LDFLAGS = `pkg-config --libs edje glib-2.0 pygtk-2.0` `python-config --libs`
 
-EDJE_PATH=$(E_PATH)/edje/src/lib
+EDJE_PATH = $(E_PATH)/edje/src/lib
+LIB_NAME = edje.so
 
-.PHONY: all clean edje.so
+.PHONY: all clean examples
 
-all: edje.so
+all: $(LIB_NAME)
 
-edje.so: edje.o edjemodule.o
+$(LIB_NAME): edje.o edjemodule.o
 	$(CC) $(LDFLAGS) -shared $^ -o $@
 
 edje.c: edje.defs edje.override
@@ -18,4 +19,9 @@
 	$(CODEGEN_PATH)/h2def.py $(EDJE_PATH)/Edje_Edit.h >> edje.defs
 
 clean:
-	rm -f *.o *~ edje.defs edje.c edje.so
+	rm -f *.o *~ edje.defs edje.c $(LIB_NAME) $(EXAMPLE_PATH)/$(LIB_NAME)
+
+examples: $(LIB_NAME) $(EXAMPLE_PATH)/$(LIB_NAME)
+
+$(EXAMPLE_PATH)/$(LIB_NAME):
+	cp $(LIB_NAME) $(EXAMPLE_PATH)

Modified: trunk/src/host/pye17/evas/Makefile
===================================================================
--- trunk/src/host/pye17/evas/Makefile	2008-10-16 03:55:15 UTC (rev 4716)
+++ trunk/src/host/pye17/evas/Makefile	2008-10-16 10:25:34 UTC (rev 4717)
@@ -1,13 +1,14 @@
 CFLAGS = `pkg-config --cflags evas glib-2.0 pygtk-2.0` `python-config --includes`
 LDFLAGS = `pkg-config --libs evas glib-2.0 pygtk-2.0` `python-config --libs`
 
-EVAS_PATH=$(E_PATH)/evas/src/lib
+EVAS_PATH = $(E_PATH)/evas/src/lib
+LIB_NAME = evas.so
 
-.PHONY: all clean evas.so
+.PHONY: all clean examples
 
-all: evas.so
+all: $(LIB_NAME)
 
-evas.so: evas.o evasmodule.o
+$(LIB_NAME): evas.o evasmodule.o
 	$(CC) $(LDFLAGS) -shared $^ -o $@
 
 evas.c: evas.defs evas.override
@@ -18,4 +19,9 @@
 	$(CODEGEN_PATH)/h2def.py $(EVAS_PATH)/Evas_Data.h >> $@
 
 clean:
-	rm -f *.o *~ evas.defs evas.c evas.so
+	rm -f *.o *~ evas.defs evas.c $(LIB_NAME) $(EXAMPLE_PATH)/$(LIB_NAME)
+
+examples: $(LIB_NAME) $(EXAMPLE_PATH)/$(LIB_NAME)
+
+$(EXAMPLE_PATH)/$(LIB_NAME):
+	cp $(LIB_NAME) $(EXAMPLE_PATH)




More information about the commitlog mailing list