diff --git a/NEWS b/NEWS index eb9001db..ef126136 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,8 @@ What's new in psycopg 2.7.5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Fixed building on Solaris 11 and derivatives such as SmartOS and illumos - (:ticket:`#677`) + (:ticket:`#677`). +- Maybe fixed building on MSYS2 (as reported in :ticket:`#658`). What's new in psycopg 2.7.4 diff --git a/psycopg/psycopgmodule.c b/psycopg/psycopgmodule.c index 6c95bd69..5deaa163 100644 --- a/psycopg/psycopgmodule.c +++ b/psycopg/psycopgmodule.c @@ -72,6 +72,10 @@ HIDDEN PyObject *psyco_null = NULL; /* The type of the cursor.description items */ HIDDEN PyObject *psyco_DescriptionType = NULL; +/* macro trick to stringify a macro expansion */ +#define xstr(s) str(s) +#define str(s) #s + /** connect module-level function **/ #define psyco_connect_doc \ "_connect(dsn, [connection_factory], [async]) -- New database connection.\n\n" @@ -885,7 +889,7 @@ INIT_MODULE(_psycopg)(void) psycopg_debug_enabled = 1; #endif - Dprintf("initpsycopg: initializing psycopg %s", PSYCOPG_VERSION); + Dprintf("initpsycopg: initializing psycopg %s", xstr(PSYCOPG_VERSION)); /* initialize all the new types and then the module */ Py_TYPE(&connectionType) = &PyType_Type; @@ -1017,7 +1021,7 @@ INIT_MODULE(_psycopg)(void) if (!(psyco_DescriptionType = psyco_make_description_type())) { goto exit; } /* set some module's parameters */ - PyModule_AddStringConstant(module, "__version__", PSYCOPG_VERSION); + PyModule_AddStringConstant(module, "__version__", xstr(PSYCOPG_VERSION)); PyModule_AddStringConstant(module, "__doc__", "psycopg PostgreSQL driver"); PyModule_AddIntConstant(module, "__libpq_version__", PG_VERSION_NUM); PyModule_AddIntMacro(module, REPLICATION_PHYSICAL); diff --git a/setup.py b/setup.py index 24c087de..6fc66d9e 100644 --- a/setup.py +++ b/setup.py @@ -612,10 +612,7 @@ if version_flags: else: PSYCOPG_VERSION_EX = PSYCOPG_VERSION -if not PLATFORM_IS_WINDOWS: - define_macros.append(('PSYCOPG_VERSION', '"' + PSYCOPG_VERSION_EX + '"')) -else: - define_macros.append(('PSYCOPG_VERSION', '\\"' + PSYCOPG_VERSION_EX + '\\"')) +define_macros.append(('PSYCOPG_VERSION', PSYCOPG_VERSION_EX)) if parser.has_option('build_ext', 'have_ssl'): have_ssl = int(parser.get('build_ext', 'have_ssl'))