Index: setup.py =================================================================== RCS file: /cvs/cairo/pycairo/setup.py,v retrieving revision 1.3 diff -u -p -r1.3 setup.py --- setup.py 1 Aug 2005 15:54:21 -0000 1.3 +++ setup.py 6 Aug 2005 16:56:01 -0000 @@ -21,15 +21,25 @@ def get_libs(pkg): #~ print get_lib_dirs('cairo') #~ print get_libs('cairo') +include_dirs = get_include('cairo') +library_dirs = get_lib_dirs('cairo') +libraries = get_libs('cairo') + +import sys +if sys.platform == 'win32': + include_dirs += get_include('freetype2') + library_dirs += get_lib_dirs('freetype2') + libraries += get_libs('freetype2') + ['gdi32','msimg32'] + _cairo = Extension(name = 'cairo._cairo', sources= ['cairo/cairomodule.c', 'cairo/pycairo-context.c', 'cairo/pycairo-font.c', 'cairo/pycairo-matrix.c', 'cairo/pycairo-path.c', 'cairo/pycairo-pattern.c', 'cairo/pycairo-surface.c', ], - include_dirs = get_include('cairo'), - library_dirs = get_lib_dirs('cairo'), - libraries = get_libs('cairo'), + include_dirs=include_dirs, + library_dirs=library_dirs, + libraries=libraries, ) setup( name = "pycairo", Index: cairo/cairosvgmodule.c =================================================================== RCS file: /cvs/cairo/pycairo/cairo/cairosvgmodule.c,v retrieving revision 1.9 diff -u -p -r1.9 cairosvgmodule.c --- cairo/cairosvgmodule.c 20 Jun 2005 07:17:11 -0000 1.9 +++ cairo/cairosvgmodule.c 6 Aug 2005 16:56:02 -0000 @@ -205,7 +205,11 @@ static PyMethodDef pycairosvg_methods[] PyTypeObject PycairoSVGContext_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) +#endif 0, /*ob_size*/ "cairo.svg.Context", /*tp_name*/ sizeof(PycairoSVGContext), /*tp_basicsize*/ Index: cairo/pycairo-context.c =================================================================== RCS file: /cvs/cairo/pycairo/cairo/pycairo-context.c,v retrieving revision 1.60 diff -u -p -r1.60 pycairo-context.c --- cairo/pycairo-context.c 1 Aug 2005 15:24:38 -0000 1.60 +++ cairo/pycairo-context.c 6 Aug 2005 16:56:03 -0000 @@ -1172,8 +1172,12 @@ static PyMethodDef pycairo_methods[] = { PyTypeObject PycairoContext_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) - 0, /* ob_size */ +#endif + 0, /* ob_size */ "cairo.Context", /* tp_name */ sizeof(PycairoContext), /* tp_basicsize */ 0, /* tp_itemsize */ @@ -1203,8 +1207,12 @@ PyTypeObject PycairoContext_Type = { pycairo_methods, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ +#if defined(WIN32) || defined(__CYGWIN__) + NULL, /* tp_base */ +#else /* ! WIN32 */ &PyBaseObject_Type, /* tp_base */ - 0, /* tp_dict */ +#endif + 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ Index: cairo/pycairo-font.c =================================================================== RCS file: /cvs/cairo/pycairo/cairo/pycairo-font.c,v retrieving revision 1.26 diff -u -p -r1.26 pycairo-font.c --- cairo/pycairo-font.c 1 Aug 2005 10:25:47 -0000 1.26 +++ cairo/pycairo-font.c 6 Aug 2005 16:56:03 -0000 @@ -101,7 +101,11 @@ static PyMethodDef font_face_methods[] = */ PyTypeObject PycairoFontFace_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) +#endif 0, /* ob_size */ "cairo.FontFace", /* tp_name */ sizeof(PycairoFontFace), /* tp_basicsize */ @@ -132,7 +136,11 @@ PyTypeObject PycairoFontFace_Type = { 0, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ +#if defined(WIN32) || defined(__CYGWIN__) + NULL, /* tp_base */ +#else /* ! WIN32 */ &PyBaseObject_Type, /* tp_base */ +#endif 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ @@ -243,7 +251,11 @@ static PyMethodDef scaled_font_methods[] PyTypeObject PycairoScaledFont_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) +#endif 0, /* ob_size */ "cairo.ScaledFont", /* tp_name */ sizeof(PycairoScaledFont), /* tp_basicsize */ @@ -274,8 +286,12 @@ PyTypeObject PycairoScaledFont_Type = { scaled_font_methods, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ +#if defined(WIN32) || defined(__CYGWIN__) + NULL, /* tp_base */ +#else /* ! WIN32 */ &PyBaseObject_Type, /* tp_base */ - 0, /* tp_dict */ +#endif + 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ @@ -369,7 +385,11 @@ static PyMethodDef font_options_methods[ PyTypeObject PycairoFontOptions_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) +#endif 0, /* ob_size */ "cairo.FontOptions", /* tp_name */ sizeof(PycairoFontOptions), /* tp_basicsize */ @@ -400,7 +420,11 @@ PyTypeObject PycairoFontOptions_Type = { font_options_methods, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ +#if defined(WIN32) || defined(__CYGWIN__) + NULL, /* tp_base */ +#else /* ! WIN32 */ &PyBaseObject_Type, /* tp_base */ +#endif 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ Index: cairo/pycairo-matrix.c =================================================================== RCS file: /cvs/cairo/pycairo/cairo/pycairo-matrix.c,v retrieving revision 1.21 diff -u -p -r1.21 pycairo-matrix.c --- cairo/pycairo-matrix.c 20 May 2005 08:57:44 -0000 1.21 +++ cairo/pycairo-matrix.c 6 Aug 2005 16:56:04 -0000 @@ -313,7 +313,11 @@ static PyGetSetDef matrix_getsets[] = { }; PyTypeObject PycairoMatrix_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) +#endif 0, /* ob_size */ "cairo.Matrix", /* tp_name */ sizeof(PycairoMatrix), /* tp_basicsize */ @@ -344,7 +348,11 @@ PyTypeObject PycairoMatrix_Type = { matrix_methods, /* tp_methods */ 0, /* tp_members */ matrix_getsets, /* tp_getset */ +#if defined(WIN32) || defined(__CYGWIN__) + NULL, /* tp_base */ +#else /* ! WIN32 */ &PyBaseObject_Type, /* tp_base */ +#endif 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ Index: cairo/pycairo-path.c =================================================================== RCS file: /cvs/cairo/pycairo/cairo/pycairo-path.c,v retrieving revision 1.6 diff -u -p -r1.6 pycairo-path.c --- cairo/pycairo-path.c 14 Jun 2005 04:02:58 -0000 1.6 +++ cairo/pycairo-path.c 6 Aug 2005 16:56:04 -0000 @@ -181,8 +181,12 @@ static PyObject * path_iter(PyObject *se PyTypeObject PycairoPath_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) - 0, /* ob_size */ +#endif + 0, /* ob_size */ "cairo.Path", /* tp_name */ sizeof(PycairoPath), /* tp_basicsize */ 0, /* tp_itemsize */ @@ -304,7 +308,11 @@ pathiter_next(PycairoPathiter *it) } static PyTypeObject PycairoPathiter_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) +#endif 0, /* ob_size */ "cairo.Pathiter", /* tp_name */ sizeof(PycairoPathiter), /* tp_basicsize */ @@ -330,7 +338,11 @@ static PyTypeObject PycairoPathiter_Type 0, /* tp_clear */ 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ +#if defined(WIN32) || defined(__CYGWIN__) + NULL, /* tp_iter */ +#else /* ! WIN32 */ PyObject_SelfIter, /* tp_iter */ +#endif (iternextfunc)pathiter_next, /* tp_iternext */ 0, /* tp_methods */ }; Index: cairo/pycairo-pattern.c =================================================================== RCS file: /cvs/cairo/pycairo/cairo/pycairo-pattern.c,v retrieving revision 1.25 diff -u -p -r1.25 pycairo-pattern.c --- cairo/pycairo-pattern.c 14 Jun 2005 04:02:58 -0000 1.25 +++ cairo/pycairo-pattern.c 6 Aug 2005 16:56:05 -0000 @@ -247,8 +247,12 @@ static PyMethodDef pattern_methods[] = { }; PyTypeObject PycairoPattern_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) - 0, /* ob_size */ +#endif + 0, /* ob_size */ "cairo.Pattern", /* tp_name */ sizeof(PycairoPattern), /* tp_basicsize */ 0, /* tp_itemsize */ @@ -278,7 +282,11 @@ PyTypeObject PycairoPattern_Type = { pattern_methods, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ +#if defined(WIN32) || defined(__CYGWIN__) + NULL, /* tp_base */ +#else /* ! WIN32 */ &PyBaseObject_Type, /* tp_base */ +#endif 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ Index: cairo/pycairo-surface.c =================================================================== RCS file: /cvs/cairo/pycairo/cairo/pycairo-surface.c,v retrieving revision 1.51 diff -u -p -r1.51 pycairo-surface.c --- cairo/pycairo-surface.c 1 Aug 2005 15:24:38 -0000 1.51 +++ cairo/pycairo-surface.c 6 Aug 2005 16:56:06 -0000 @@ -201,8 +201,12 @@ static PyMethodDef surface_methods[] = { PyTypeObject PycairoSurface_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) - 0, /* ob_size */ +#endif + 0, /* ob_size */ "cairo.Surface", /* tp_name */ sizeof(PycairoSurface), /* tp_basicsize */ 0, /* tp_itemsize */ @@ -232,7 +236,11 @@ PyTypeObject PycairoSurface_Type = { surface_methods, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ +#if defined(WIN32) || defined(__CYGWIN__) + NULL, /* tp_base */ +#else /* ! WIN32 */ &PyBaseObject_Type, /* tp_base */ +#endif 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ @@ -462,7 +470,11 @@ static PyMethodDef image_surface_methods PyTypeObject PycairoImageSurface_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) +#endif 0, /* ob_size */ "cairo.ImageSurface", /* tp_name */ sizeof(PycairoImageSurface), /* tp_basicsize */ @@ -554,8 +566,12 @@ static PyMethodDef pdfsurface_methods[] }; PyTypeObject PycairoPDFSurface_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) - 0, /* ob_size */ +#endif + 0, /* ob_size */ "cairo.PDFSurface", /* tp_name */ sizeof(PycairoPDFSurface), /* tp_basicsize */ 0, /* tp_itemsize */ @@ -647,7 +663,11 @@ static PyMethodDef pssurface_methods[] = }; PyTypeObject PycairoPSSurface_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) +#endif 0, /* ob_size */ "cairo.PSSurface", /* tp_name */ sizeof(PycairoPSSurface), /* tp_basicsize */ @@ -725,7 +745,11 @@ static PyMethodDef win32surface_methods[ }; PyTypeObject PycairoWin32Surface_Type = { +#if defined(WIN32) || defined(__CYGWIN__) + PyObject_HEAD_INIT(NULL) +#else /* ! WIN32 */ PyObject_HEAD_INIT(&PyType_Type) +#endif 0, /* ob_size */ "cairo.Win32Surface", /* tp_name */ sizeof(PycairoWin32Surface), /* tp_basicsize */ Index: test/test.py =================================================================== RCS file: /cvs/cairo/pycairo/test/test.py,v retrieving revision 1.2 diff -u -p -r1.2 test.py --- test/test.py 9 Apr 2005 02:58:43 -0000 1.2 +++ test/test.py 6 Aug 2005 16:56:06 -0000 @@ -15,6 +15,6 @@ def _test(): if __name__ == "__main__": - if sys.version_info < (2,4): - raise SystemExit ("Python 2.4 or higher required") + if sys.version_info < (2,3): + raise SystemExit ("Python 2.3 or higher required") _test()