summaryrefslogtreecommitdiffstats
path: root/gio
diff options
context:
space:
mode:
authorJohn Ehresman <jpe@wingware.com>2010-04-14 16:12:22 -0400
committerJohn Ehresman <jpe@wingware.com>2010-04-15 12:18:00 -0400
commit4572baf15f87cc0ef21d731fc7ba0ecf0de2f463 (patch)
tree7d345fac8090155fafb1ddc1fb0d99876665b3ce /gio
parentb28ac0322bf7b1316b5ed8b19492a3848b090ab0 (diff)
downloadpygobject-4572baf15f87cc0ef21d731fc7ba0ecf0de2f463.tar.gz
pygobject-4572baf15f87cc0ef21d731fc7ba0ecf0de2f463.tar.xz
pygobject-4572baf15f87cc0ef21d731fc7ba0ecf0de2f463.zip
Changes to module init, and to compile under python3. Doesn't work though
Diffstat (limited to 'gio')
-rw-r--r--gio/Makefile.am4
-rw-r--r--gio/giomodule.c151
-rw-r--r--gio/unixmodule.c16
3 files changed, 87 insertions, 84 deletions
diff --git a/gio/Makefile.am b/gio/Makefile.am
index a34fd19..455fe74 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -66,7 +66,7 @@ CLEANFILES += gio.c
EXTRA_DIST += $(GIO_DEFS) $(GIO_OVERRIDES)
gio.c: $(GIO_DEFS) $(GIO_OVERRIDES)
_gio_la_CFLAGS = $(GIO_CFLAGS)
-_gio_la_LDFLAGS = $(common_ldflags) -export-symbols-regex init_gio
+_gio_la_LDFLAGS = $(common_ldflags) -export-symbols-regex "init_gio|PyInit__gio"
_gio_la_LIBADD = $(GIO_LIBS) $(top_builddir)/glib/libpyglib-2.0-@PYTHON_BASENAME@.la
_gio_la_SOURCES = \
giomodule.c \
@@ -84,7 +84,7 @@ CLEANFILES += unix.c
EXTRA_DIST += $(GIOUNIX_DEFS) unix.override
unix.c: $(GIOUNIX_DEFS) unix.override
unix_la_CFLAGS = $(GIOUNIX_CFLAGS)
-unix_la_LDFLAGS = $(common_ldflags) -export-symbols-regex initunix
+unix_la_LDFLAGS = $(common_ldflags) -export-symbols-regex "initunix|PyInit_unix"
unix_la_LIBADD = $(GIOUNIX_LIBS)
unix_la_SOURCES = unixmodule.c
nodist_unix_la_SOURCES = unix.c
diff --git a/gio/giomodule.c b/gio/giomodule.c
index 171a06f..292a0d9 100644
--- a/gio/giomodule.c
+++ b/gio/giomodule.c
@@ -39,157 +39,158 @@ void pygio_add_constants(PyObject *module, const gchar *strip_prefix);
extern PyMethodDef pygio_functions[];
-DL_EXPORT(void)
-init_gio(void)
+PYGLIB_INIT_FUNCTION(_gio, "gio._gio", pygio_functions)
{
- PyObject *m, *d;
+ PyObject *d;
PyObject *tuple;
PyObject *e;
+ PyObject *pygobject_mod;
/* perform any initialisation required by the library here */
- m = Py_InitModule("gio._gio", pygio_functions);
- d = PyModule_GetDict(m);
-
- init_pygobject_check(2, 15, 2);
+ d = PyModule_GetDict(module);
+ pygobject_mod = pygobject_init(2, 15, 2);
+ if (pygobject_mod == NULL)
+ return -1;
+
pygio_register_classes(d);
- pygio_add_constants(m, "G_IO_");
+ pygio_add_constants(module, "G_IO_");
- PyModule_AddStringConstant(m, "ERROR", g_quark_to_string(G_IO_ERROR));
+ PyModule_AddStringConstant(module, "ERROR", g_quark_to_string(G_IO_ERROR));
e = pyglib_register_exception_for_domain("gio.Error", G_IO_ERROR);
PyDict_SetItemString(d, "Error", e);
Py_DECREF(e);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_TYPE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_TYPE",
G_FILE_ATTRIBUTE_STANDARD_TYPE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_IS_HIDDEN",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_IS_HIDDEN",
G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_IS_BACKUP",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_IS_BACKUP",
G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_IS_SYMLINK",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_IS_SYMLINK",
G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL",
G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_NAME",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_NAME",
G_FILE_ATTRIBUTE_STANDARD_NAME);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME",
G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_EDIT_NAME",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_EDIT_NAME",
G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_COPY_NAME",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_COPY_NAME",
G_FILE_ATTRIBUTE_STANDARD_COPY_NAME);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_DESCRIPTION",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_DESCRIPTION",
G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_ICON",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_ICON",
G_FILE_ATTRIBUTE_STANDARD_ICON);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE",
G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE",
G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_SIZE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_SIZE",
G_FILE_ATTRIBUTE_STANDARD_SIZE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET",
G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_TARGET_URI",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_TARGET_URI",
G_FILE_ATTRIBUTE_STANDARD_TARGET_URI);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_STANDARD_SORT_ORDER",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_STANDARD_SORT_ORDER",
G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_ETAG_VALUE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_ETAG_VALUE",
G_FILE_ATTRIBUTE_ETAG_VALUE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_ID_FILE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_ID_FILE",
G_FILE_ATTRIBUTE_ID_FILE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_ID_FILESYSTEM",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_ID_FILESYSTEM",
G_FILE_ATTRIBUTE_ID_FILESYSTEM);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_ACCESS_CAN_READ",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_ACCESS_CAN_READ",
G_FILE_ATTRIBUTE_ACCESS_CAN_READ);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_ACCESS_CAN_WRITE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_ACCESS_CAN_WRITE",
G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE",
G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_ACCESS_CAN_DELETE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_ACCESS_CAN_DELETE",
G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_ACCESS_CAN_TRASH",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_ACCESS_CAN_TRASH",
G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_ACCESS_CAN_RENAME",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_ACCESS_CAN_RENAME",
G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT",
G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT",
G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT",
G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE",
G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI",
G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_TIME_MODIFIED",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_TIME_MODIFIED",
G_FILE_ATTRIBUTE_TIME_MODIFIED);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_TIME_MODIFIED_USEC",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_TIME_MODIFIED_USEC",
G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_TIME_ACCESS",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_TIME_ACCESS",
G_FILE_ATTRIBUTE_TIME_ACCESS);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_TIME_ACCESS_USEC",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_TIME_ACCESS_USEC",
G_FILE_ATTRIBUTE_TIME_ACCESS_USEC);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_TIME_CHANGED",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_TIME_CHANGED",
G_FILE_ATTRIBUTE_TIME_CHANGED);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_TIME_CHANGED_USEC",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_TIME_CHANGED_USEC",
G_FILE_ATTRIBUTE_TIME_CHANGED_USEC);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_TIME_CREATED",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_TIME_CREATED",
G_FILE_ATTRIBUTE_TIME_CREATED);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_TIME_CREATED_USEC",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_TIME_CREATED_USEC",
G_FILE_ATTRIBUTE_TIME_CREATED_USEC);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_DEVICE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_DEVICE",
G_FILE_ATTRIBUTE_UNIX_DEVICE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_INODE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_INODE",
G_FILE_ATTRIBUTE_UNIX_INODE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_MODE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_MODE",
G_FILE_ATTRIBUTE_UNIX_MODE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_NLINK",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_NLINK",
G_FILE_ATTRIBUTE_UNIX_NLINK);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_UID",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_UID",
G_FILE_ATTRIBUTE_UNIX_UID);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_GID",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_GID",
G_FILE_ATTRIBUTE_UNIX_GID);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_RDEV",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_RDEV",
G_FILE_ATTRIBUTE_UNIX_RDEV);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_BLOCK_SIZE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_BLOCK_SIZE",
G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_BLOCKS",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_BLOCKS",
G_FILE_ATTRIBUTE_UNIX_BLOCKS);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT",
G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_DOS_IS_ARCHIVE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_DOS_IS_ARCHIVE",
G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_DOS_IS_SYSTEM",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_DOS_IS_SYSTEM",
G_FILE_ATTRIBUTE_DOS_IS_SYSTEM);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_OWNER_USER",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_OWNER_USER",
G_FILE_ATTRIBUTE_OWNER_USER);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_OWNER_USER_REAL",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_OWNER_USER_REAL",
G_FILE_ATTRIBUTE_OWNER_USER_REAL);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_OWNER_GROUP",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_OWNER_GROUP",
G_FILE_ATTRIBUTE_OWNER_GROUP);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_THUMBNAIL_PATH",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_THUMBNAIL_PATH",
G_FILE_ATTRIBUTE_THUMBNAIL_PATH);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_THUMBNAILING_FAILED",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_THUMBNAILING_FAILED",
G_FILE_ATTRIBUTE_THUMBNAILING_FAILED);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_FILESYSTEM_SIZE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_FILESYSTEM_SIZE",
G_FILE_ATTRIBUTE_FILESYSTEM_SIZE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_FILESYSTEM_FREE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_FILESYSTEM_FREE",
G_FILE_ATTRIBUTE_FILESYSTEM_FREE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_FILESYSTEM_TYPE",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_FILESYSTEM_TYPE",
G_FILE_ATTRIBUTE_FILESYSTEM_TYPE);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_FILESYSTEM_READONLY",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_FILESYSTEM_READONLY",
G_FILE_ATTRIBUTE_FILESYSTEM_READONLY);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW",
G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_GVFS_BACKEND",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_GVFS_BACKEND",
G_FILE_ATTRIBUTE_GVFS_BACKEND);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_SELINUX_CONTEXT",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_SELINUX_CONTEXT",
G_FILE_ATTRIBUTE_SELINUX_CONTEXT);
- PyModule_AddStringConstant(m, "FILE_ATTRIBUTE_TRASH_ITEM_COUNT",
+ PyModule_AddStringConstant(module, "FILE_ATTRIBUTE_TRASH_ITEM_COUNT",
G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT);
- PyModule_AddStringConstant(m, "ERROR", g_quark_to_string(G_IO_ERROR));
+ PyModule_AddStringConstant(module, "ERROR", g_quark_to_string(G_IO_ERROR));
/* pygio version */
tuple = Py_BuildValue ("(iii)",
@@ -198,5 +199,7 @@ init_gio(void)
PYGIO_MICRO_VERSION);
PyDict_SetItemString(d, "pygio_version", tuple);
Py_DECREF(tuple);
+
+ return 0;
}
diff --git a/gio/unixmodule.c b/gio/unixmodule.c
index 7a49856..0bd3c7e 100644
--- a/gio/unixmodule.c
+++ b/gio/unixmodule.c
@@ -34,19 +34,19 @@ void pyunix_add_constants(PyObject *module, const gchar *strip_prefix);
extern PyMethodDef pyunix_functions[];
-DL_EXPORT(void)
-initunix(void)
+PYGLIB_INIT_FUNCTION(unix, "gio.unix", pyunix_functions)
{
- PyObject *m, *d;
+ PyObject *d, *pyobj_mod;
/* perform any initialisation required by the library here */
- m = Py_InitModule("gio.unix", pyunix_functions);
- d = PyModule_GetDict(m);
-
- init_pygobject();
+ d = PyModule_GetDict(module);
+ pyobj_mod = pygobject_init(-1, -1, -1);
+ if (pyobj_mod == NULL)
+ return -1;
+
pyunix_register_classes(d);
-
+ return 0;
}