[Python-bugs-list] [ python-Feature Requests-490264 ] Portable compiler option specification

noreply@sourceforge.net noreply@sourceforge.net
Wed, 12 Dec 2001 08:42:08 -0800


Feature Requests item #490264, was opened at 2001-12-07 07:55
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=355470&aid=490264&group_id=5470

Category: Distutils
Group: None
Status: Open
Priority: 5
Submitted By: Konrad Hinsen (hinsen)
Assigned to: Nobody/Anonymous (nobody)
Summary: Portable compiler option specification

Initial Comment:
Distutils should provide a portable way for packagers to specify common compiler options, e.g. "maximum optimization", "debugging symbols" etc. These should be per-module options that can be specified in the setup script.


----------------------------------------------------------------------

>Comment By: Jack Jansen (jackjansen)
Date: 2001-12-12 08:42

Message:
Logged In: YES 
user_id=45365

Ok, this sounds reasonable as a design, but implementation
will probably be difficult (as distutils will have to merge
the wishes of the package author, which are specified in a
portable way, with Python's compile time options, which are
specified in a very nonportable way).

----------------------------------------------------------------------

Comment By: Konrad Hinsen (hinsen)
Date: 2001-12-12 08:12

Message:
Logged In: YES 
user_id=11850

If debug and non-debug cannot be mixed on Windows, then distutils should not allow such a combination on Windows, i.e. it should not allow a different debug option than the one with which Python was compiled. In fact, such dependencies are a good reason why distutils *should* support compilation options. Otherwise developers will have to use some hacks and run into trouble.

When I tell distutils to compile a module with maximum optimization, this means of course maximum optimization while remaining compatible with the Python interpreter.

Note also that the question for some users is not whether distutils supports optimization, but whether they can use distutils if they require optimization specifications. For example, I won't publish any MMTK release with distutils installation until I can set maximum optimization for two time-critical modules; the speed difference is a factor 2 with gcc, enough to make users run away (this is code that typically runs for days or weeks). I'd rather deal with installation problems for 1% of users than with performance complaints from 90%.


----------------------------------------------------------------------

Comment By: Jack Jansen (jackjansen)
Date: 2001-12-12 07:47

Message:
Logged In: YES 
user_id=45365

I disagree: I think packages should inherit such options
from the Python into which
they're being installed. Allowing overrides of this can lead
to all sorts of disastrous
failures. For instance, a Unix person won't know that mixing
debug/non-debug on
Windows is a sure way to crash Python spectacularly.

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=355470&aid=490264&group_id=5470