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:
https://code.google.com/p/waf/source/browse/waflib/Tools/python.py#347

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 <rep...@bugs.python.org>
<http://bugs.python.org/issue20788>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to