From 37d67eb15955f72d432c1fc768d579cb714bf3d5 Mon Sep 17 00:00:00 2001 From: "D'Arcy J.M. Cain" Date: Thu, 15 Mar 2001 11:26:22 +0000 Subject: [PATCH] Add WIN32 support. --- src/interfaces/python/pgmodule.c | 12 ++++++++++-- src/interfaces/python/setup.py | 24 ++++++++++++++++++------ 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/interfaces/python/pgmodule.c b/src/interfaces/python/pgmodule.c index 99911a97f6..70f8c02f10 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 76c6cd1101..d1f15c6755 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 # tweaked 2000/05 Jeremy Hylton +# win32 support 2001/01 Gerhard Haering # 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 ) -- 2.40.0