Issue 7182: For non-debug builds, the cygwinccompiler.py should define NDEBUG (original) (raw)

Created on 2009-10-21 17:48 by stutzbach, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (9)
msg94315 - (view) Author: Daniel Stutzbach (stutzbach) (Python committer) 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) (Python committer) 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) * (Python committer) 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) * (Python committer) 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) * (Python committer) 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
History
Date User Action Args
2022-04-11 14:56:54 admin set github: 51431
2021-02-03 18:16:17 steve.dower set status: open -> closednosy: + steve.dowermessages: + resolution: out of datestage: resolved
2019-04-26 18:34:47 BreamoreBoy set nosy: - BreamoreBoy
2014-07-09 13:25:14 BreamoreBoy set versions: + Python 3.4, Python 3.5, - Python 3.1, Python 3.2nosy: + BreamoreBoymessages: + type: behavior
2010-08-21 20:49:53 terry.reedy set nosy: - terry.reedy
2010-08-21 18:24:33 eric.araujo set nosy: + eric.araujomessages: +
2010-08-10 11:28:05 flox set nosy:terry.reedy, tarek, stutzbach, rpetrovcomponents: + Windows
2010-08-08 19:43:17 rpetrov set messages: +
2010-08-03 22:47:38 terry.reedy set nosy: + terry.reedymessages: + versions: - Python 2.6, Python 2.5, Python 3.0
2009-10-22 22:14:04 rpetrov set messages: +
2009-10-21 21:58:13 stutzbach set messages: +
2009-10-21 21:51:17 rpetrov set nosy: + rpetrovmessages: +
2009-10-21 17:49:00 stutzbach create