[New-bugs-announce] [issue20788] distutils.msvccompiler - flags are hidden inside initialize()

Matt Goodman report at bugs.python.org
Wed Feb 26 23:37:09 CET 2014

New submission from Matt Goodman:

The flags that you need to compile against libpythonXX.lib are hidden inside of the distutils.msvccompiler class.  This is ok if you want to use distutils to compile extensions against the binary, but other build systems need to run initialize() to get access to the compiler_options attribute.  This call requires a bunch of things to be correct (think MSVC on the path, expected names, etc), and fails in a great quantity of vanilla Windows/Python configurations.   

One example includes the scraping function waf:

I am also sure SCons does this somewhere (or at least ought to).  

I think these values hard coded into the function ought to be exposed elsewhere to streamline other build systems finding them and linking against the core library.  I was thinking something like adding a function that looked something like get_flags(arch, debugTF), which then the initialize() function draws on.  

I am willing to write a patch, but I wanted to make sure there some consensus about the best way to do this before trooping off.  Thanks

components: Distutils, Windows
messages: 212318
nosy: Matt.Goodman
priority: normal
severity: normal
status: open
title: distutils.msvccompiler - flags are hidden inside initialize()
versions: Python 2.7, Python 3.1, Python 3.2, Python 3.3

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list