]> granicus.if.org Git - postgresql/commitdiff
Add WIN32 support.
authorD'Arcy J.M. Cain <darcy@druid.net>
Thu, 15 Mar 2001 11:26:22 +0000 (11:26 +0000)
committerD'Arcy J.M. Cain <darcy@druid.net>
Thu, 15 Mar 2001 11:26:22 +0000 (11:26 +0000)
src/interfaces/python/pgmodule.c
src/interfaces/python/setup.py

index 99911a97f6acbbe8e14a9f1ea76d9d3c761c1a84..70f8c02f10e5e7f3a2eb5c2cdb22c74432c7d352 100644 (file)
@@ -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;
index 76c6cd1101f4f3ebe51e6f4d4b276ccc4be2fdde..d1f15c6755936a3fdfdc0b0a73bff9f679105a18 100755 (executable)
@@ -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
 )