Commit 37d67eb1 authored by D'Arcy J.M. Cain's avatar D'Arcy J.M. Cain

Add WIN32 support.

parent d584bf48
...@@ -91,6 +91,10 @@ const char *__movename[5] = ...@@ -91,6 +91,10 @@ const char *__movename[5] =
#define DEFAULT_VARS 1 /* enables default variables use */ #define DEFAULT_VARS 1 /* enables default variables use */
#endif /* NO_DEF_VAR */ #endif /* NO_DEF_VAR */
#ifdef MS_WIN32
#define NO_SNPRINTF 1
#endif
/* --------------------------------------------------------------------- */ /* --------------------------------------------------------------------- */
/* MODULE GLOBAL VARIABLES */ /* MODULE GLOBAL VARIABLES */
...@@ -937,7 +941,12 @@ pgsource_print(pgsourceobject * self, FILE *fp, int flags) ...@@ -937,7 +941,12 @@ pgsource_print(pgsourceobject * self, FILE *fp, int flags)
/* query type definition */ /* query type definition */
staticforward PyTypeObject PgSourceType = { staticforward PyTypeObject PgSourceType = {
#ifndef MS_WIN32
PyObject_HEAD_INIT(&PyType_Type) PyObject_HEAD_INIT(&PyType_Type)
#else
PyObject_HEAD_INIT(NULL)
#endif
0, /* ob_size */ 0, /* ob_size */
"pgsourceobject", /* tp_name */ "pgsourceobject", /* tp_name */
sizeof(pgsourceobject), /* tp_basicsize */ sizeof(pgsourceobject), /* tp_basicsize */
...@@ -3075,8 +3084,7 @@ static struct PyMethodDef pg_methods[] = { ...@@ -3075,8 +3084,7 @@ static struct PyMethodDef pg_methods[] = {
static char pg__doc__[] = "Python interface to PostgreSQL DB"; static char pg__doc__[] = "Python interface to PostgreSQL DB";
/* Initialization function for the module */ /* Initialization function for the module */
void init_pg(void); /* Python doesn't prototype this */ DL_EXPORT(void)
void
init_pg(void) init_pg(void)
{ {
PyObject *mod, *dict, *v; PyObject *mod, *dict, *v;
......
#!/usr/bin/env python #!/usr/bin/env python
include_dirs=['/usr/include/pgsql']
library_dirs=['usr/lib/pgsql']
optional_libs=['pq']
# Setup script for the PyGreSQL version 3 # Setup script for the PyGreSQL version 3
# created 2000/04 Mark Alexander <mwa@gate.net> # created 2000/04 Mark Alexander <mwa@gate.net>
# tweaked 2000/05 Jeremy Hylton <jeremy@cnri.reston.va.us> # 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 # requires distutils; standard in Python 1.6, otherwise download from
# http://www.python.org/sigs/distutils-sig/download.html # http://www.python.org/sigs/distutils-sig/download.html
...@@ -22,6 +19,20 @@ optional_libs=['pq'] ...@@ -22,6 +19,20 @@ optional_libs=['pq']
# on using distutils to install Python programs. # on using distutils to install Python programs.
from distutils.core import setup 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", setup (name = "PyGreSQL",
version = "3.1", version = "3.1",
...@@ -32,12 +43,13 @@ setup (name = "PyGreSQL", ...@@ -32,12 +43,13 @@ setup (name = "PyGreSQL",
licence = "Python", licence = "Python",
py_modules = ['pg', 'pgdb'], py_modules = ['pg', 'pgdb'],
ext_modules = [ ('_pgmodule', { ext_modules = [ Extension(
name='_pg',
'sources': ['pgmodule.c'], 'sources': ['pgmodule.c'],
'include_dirs': include_dirs, 'include_dirs': include_dirs,
'library_dirs': library_dirs, 'library_dirs': library_dirs,
'libraries': optional_libs 'libraries': optional_libs
}
)] )]
data_files = data_files
) )
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment