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