msg94315 - (view) |
Author: Daniel Stutzbach (stutzbach)  |
Date: 2009-10-21 17:48 |
Currently, msvccompiler.py defines NDEBUG for non-debug builds. Unix builds do as well, via python-config. However, cygwinccompiler.py does not. |
|
|
msg94326 - (view) |
Author: Roumen Petrov (rpetrov) * |
Date: 2009-10-21 21:51 |
Posix build system read flags from makefile. Configure script add -DNDEBUG to OPT flag. So why cygwinccompiler.py has to set this ? Next cygwinccompiler currently is not used in python build system. |
|
|
msg94327 - (view) |
Author: Daniel Stutzbach (stutzbach)  |
Date: 2009-10-21 21:58 |
Sorry, I should have said the mingw32 compiler, which is contained in cygwincompiler.py The mingw32 compiler is a free compiler compatible with MSVC. Since it's used with the Windows version of python, there is no configure script. I noticed this when trying to build an extension module with "python setup.py build -c mingw32", using the Windows (not cygwin) version of python. The extension module failed to compile because had a line like this: assert(my_struct->debug_only_field); where "debug_only_field" is only declared if Py_DEBUG is set. When NDEBUG is set, the assert disappears and the compile works as expected. |
|
|
msg94372 - (view) |
Author: Roumen Petrov (rpetrov) * |
Date: 2009-10-22 22:14 |
Ok Daniel. In this case for debug build _DEBUG has to be defined too - please check pyconfig.h from MSVC builds. May be you could use CFLAGS environment variable. |
|
|
msg112718 - (view) |
Author: Terry J. Reedy (terry.reedy) *  |
Date: 2010-08-03 22:47 |
Roumen, were you suggesting that this is a user rather than build issue, or just suggesting a workaround until fixed? |
|
|
msg113302 - (view) |
Author: Roumen Petrov (rpetrov) * |
Date: 2010-08-08 19:43 |
Hi Terry, both : a) suggestion is for CFLAGS as work-around b) clarification as build use two preprocessor defines : - NDEBUG is defined for non-debug builds - _DEBUG is defined for debug builds (ref msvc{9}compiler.py) |
|
|
msg114538 - (view) |
Author: Éric Araujo (eric.araujo) *  |
Date: 2010-08-21 18:24 |
Would this change fix an important bug, or is it a feature request? Behavior changes that don’t fix bugs don’t go into distutils. |
|
|
msg222616 - (view) |
Author: Mark Lawrence (BreamoreBoy) * |
Date: 2014-07-09 13:25 |
I think this is a bug but on the other hand I found extremely confusing. Would someone like to clarify the situation. |
|
|
msg386297 - (view) |
Author: Steve Dower (steve.dower) *  |
Date: 2021-02-03 18:16 |
Distutils is now deprecated (see PEP 632) and all tagged issues are being closed. From now until removal, only release blocking issues will be considered for distutils. If this issue does not relate to distutils, please remove the component and reopen it. If you believe it still requires a fix, most likely the issue should be re-reported at https://github.com/pypa/setuptools |
|
|