aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interfaces/python/pgmodule.c12
-rwxr-xr-xsrc/interfaces/python/setup.py24
2 files changed, 28 insertions, 8 deletions
diff --git a/src/interfaces/python/pgmodule.c b/src/interfaces/python/pgmodule.c
index 99911a97f6a..70f8c02f10e 100644
--- a/src/interfaces/python/pgmodule.c
+++ b/src/interfaces/python/pgmodule.c
@@ -91,6 +91,10 @@ const char *__movename[5] =
#define DEFAULT_VARS 1 /* enables default variables use */
#endif /* NO_DEF_VAR */
+#ifdef MS_WIN32
+#define NO_SNPRINTF 1
+#endif
+
/* --------------------------------------------------------------------- */
/* MODULE GLOBAL VARIABLES */
@@ -937,7 +941,12 @@ pgsource_print(pgsourceobject * self, FILE *fp, int flags)
/* query type definition */
staticforward PyTypeObject PgSourceType = {
+#ifndef MS_WIN32
PyObject_HEAD_INIT(&PyType_Type)
+#else
+ PyObject_HEAD_INIT(NULL)
+#endif
+
0, /* ob_size */
"pgsourceobject", /* tp_name */
sizeof(pgsourceobject), /* tp_basicsize */
@@ -3075,8 +3084,7 @@ static struct PyMethodDef pg_methods[] = {
static char pg__doc__[] = "Python interface to PostgreSQL DB";
/* Initialization function for the module */
-void init_pg(void); /* Python doesn't prototype this */
-void
+DL_EXPORT(void)
init_pg(void)
{
PyObject *mod, *dict, *v;
diff --git a/src/interfaces/python/setup.py b/src/interfaces/python/setup.py
index 76c6cd1101f..d1f15c67559 100755
--- a/src/interfaces/python/setup.py
+++ b/src/interfaces/python/setup.py
@@ -1,12 +1,9 @@
#!/usr/bin/env python
-include_dirs=['/usr/include/pgsql']
-library_dirs=['usr/lib/pgsql']
-optional_libs=['pq']
-
# Setup script for the PyGreSQL version 3
# created 2000/04 Mark Alexander <mwa@gate.net>
# tweaked 2000/05 Jeremy Hylton <jeremy@cnri.reston.va.us>
+# win32 support 2001/01 Gerhard Haering <gerhard@bigfoot.de>
# requires distutils; standard in Python 1.6, otherwise download from
# http://www.python.org/sigs/distutils-sig/download.html
@@ -22,6 +19,20 @@ optional_libs=['pq']
# on using distutils to install Python programs.
from distutils.core import setup
+import sys
+
+if sys.platform == "win32":
+ # If you want to build from source; you must have built a win32 native libpq # before and copied libpq.dll into the PyGreSQL root directory.
+ win_pg_build_root = 'd:/dev/pg/postgresql-7.0.2/'
+ include_dirs=[ win_pg_build_root + 'src/include', win_pg_build_root + '/src/include/libpq', win_pg_build_root + 'src', win_pg_build_root + 'src/interfaces/libpq' ]
+ library_dirs=[ win_pg_build_root + 'src/interfaces/libpq/Release' ]
+ optional_libs=[ 'libpqdll', 'wsock32', 'advapi32' ]
+ data_files = [ 'libpq.dll' ]
+else:
+ include_dirs=['/usr/include/pgsql']
+ library_dirs=['usr/lib/pgsql']
+ optional_libs=['pq']
+ data_files = []
setup (name = "PyGreSQL",
version = "3.1",
@@ -32,12 +43,13 @@ setup (name = "PyGreSQL",
licence = "Python",
py_modules = ['pg', 'pgdb'],
- ext_modules = [ ('_pgmodule', {
+ ext_modules = [ Extension(
+ name='_pg',
'sources': ['pgmodule.c'],
'include_dirs': include_dirs,
'library_dirs': library_dirs,
'libraries': optional_libs
- }
)]
+ data_files = data_files
)