summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/msvccompiler.py
Commit message (Collapse)AuthorAgeFilesLines
* massive import cleaning in DistutilsTarek Ziadé2009-12-211-7/+8
|
* Issue #5052: removed backward compatibility information (out of date)Tarek Ziadé2009-01-251-2/+0
|
* Issue #2513: enable 64bit cross compilation on windows.Mark Hammond2008-04-071-1/+1
|
* Removed uses of dict.has_key() from distutils, and uses ofGuido van Rossum2008-02-211-1/+1
| | | | | | callable() from copy_reg.py, so the interpreter now starts up without warnings when '-3' is given. More work like this needs to be done in the rest of the stdlib.
* Applied my patch #1455 with some extra fixes for VS 2005Christian Heimes2007-12-031-0/+8
| | | | | The new msvc9compiler module supports VS 2005 and VS 2008. I've also fixed build_ext to support PCbuild8 and PCbuild9 and backported my fix for xxmodule.c from py3k. The old code msvccompiler is still in place in case somebody likes to build an extension with VS 2003 or earlier. I've also updated the cygwin compiler module for VS 2005 and VS 2008. It works with VS 2005 but I'm unable to test it with VS 2008. We have to wait for a new version of cygwin.
* SF #1685563, MSVCCompiler creates redundant and long PATH stringsNeal Norwitz2007-04-011-0/+14
| | | | | | | | | | | If MSVCCompiler.initialize() was called multiple times, the path would get duplicated. On Windows, this is a problem because the path is limited to 4k. There's no benefit in adding a path multiple times, so prevent that from occuring. We also normalize the path before checking for duplicates so things like /a and /a/ won't both be stored. Will backport.
* Mention Cygwin in distutils error message about a missing VS 2003.Martin v. Löwis2006-07-301-2/+4
| | | | Fixes #1257728.
* Change error message to indicate that VS2003 is necessary to build extension ↵Martin v. Löwis2006-07-101-1/+1
| | | | modules, not the .NET SDK.
* Introduce DISTUTILS_USE_SDK as a flag to determine whether theMartin v. Löwis2006-07-101-1/+1
| | | | SDK environment should be used. Fixes #1508010.
* Put break at correct level so *all* root HKEYs acutally get checked forTrent Mick2006-04-251-1/+1
| | | | | an installed VC6. Otherwise only the first such tree gets checked and this warning doesn't get displayed.
* Whitespace normalization.Tim Peters2006-02-201-3/+3
|
* Detect Win64 builds.Martin v. Löwis2006-02-201-10/+39
|
* Let the SDK setup override distutils logic.Martin v. Löwis2006-02-201-15/+25
|
* Patch #827386: Support absolute source paths in msvccompiler.py.Martin v. Löwis2005-08-071-0/+2
| | | | Backported to 2.4.
* Port bugfix from 2.4 maint.Tim Peters2005-03-121-0/+1
| | | | | | | | | | | Bug #1160802: Can't build Zope on Windows w/ 2.4.1c1. MSVCCompiler.initialize(): set self.initialized to True, as suggested by AMK. Else we keep growing the PATH endlessly, with each new C extension built, until putenv() complains. No change to NEWS because the patch that created this bug is also new for 2.5a1 (so there's no change here to any code yet released from HEAD).
* Remove some more tab usage to prevent an error when run as ``python -tt``.Brett Cannon2005-03-051-2/+2
|
* Remove a tab so that whitespace usage is consistent.Brett Cannon2005-03-051-1/+1
|
* Patch #1075887: Don't require MSVC in distutils if there is nothingMartin v. Löwis2005-03-041-0/+6
| | | | to build. Will backport to 2.4
* Whitespace normalization.Tim Peters2004-11-281-6/+6
|
* SF patch #1071739 (by Christos Georgiou)Fredrik Lundh2004-11-241-4/+9
| | | | | This patch offers a better explanation in case the MS VC++ (free) toolkit is installed but the .NET Framework SDK is not.
* Update compatibility comments to 2.1, corresponding to PEP 291 1.13.Martin v. Löwis2004-11-101-1/+1
|
* Avoid a linker warning: MSVC 7 doesn't support /pdb:None, the debugThomas Heller2004-11-101-3/+8
| | | | info will always be in a .pdb file.
* Whitespace normalization, via reindent.py.Tim Peters2004-07-181-4/+3
|
* Compile the files in the same order they are passed to the compiler.Thomas Heller2003-12-051-1/+5
| | | | | | | | | Use case: Sometimes 'compiling' source files (with SWIG, for example) creates additionl files which included by later sources. The win32all setup script requires this. There is no SF item for this, but it was discussed on distutils-sig: http://mail.python.org/pipermail/distutils-sig/2003-November/003514.html
* See SF #848614: distutils' msvccompiler now tries to detect that MSVC6Thomas Heller2003-11-281-0/+10
| | | | | | | is installed but the registry settings are incomplete because the gui has never been run. Already backported to release23-maint.
* Patch from John Anderson to enable VC 7.1 support.Jeremy Hylton2003-07-171-12/+27
| | | | I tested against VC 7.0 and it caused no problems there.
* Restore Python 1.5.2 compatibility.Marc-André Lemburg2003-05-141-1/+1
|
* Replace line somehow deleted before last checkin.Jeremy Hylton2003-05-091-0/+1
|
* Variant of SF patch 614770: MSVC 7 supportJeremy Hylton2003-05-091-143/+189
| | | | | | | | distutils now looks for the compiler version in sys.version, falling back to MSVC 6 if the version isn't listed (Python 2.2 and lower). Add helper routines for reading the registry. Refactor many module functions into methods of the compiler to avoid passing lots of state as arguments.
* Pass the preprocessor options also to the resource compilerThomas Heller2003-01-311-1/+1
| | | | | | when compiling .RC files. From Robin Dunn, fixes SF # 669198.
* Add comment to Distutil files about requiring 1.5.2 compatibility, asAndrew M. Kuchling2002-11-191-1/+2
| | | | suggested by PEP 291.
* Remove 'created by' lines; people can use CVS for this, and the information ↵Andrew M. Kuchling2002-11-141-1/+1
| | | | is often out of date
* This patch fixes the following bugs:Gustavo Niemeyer2002-11-051-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [#413582] g++ must be called for c++ extensions [#454030] distutils cannot link C++ code with GCC topdir = "Lib/distutils" * bcppcompiler.py (BCPPCompiler.create_static_lib): Fixed prototype, removing extra_preargs and extra_postargs parameters. Included target_lang parameter. (BCPPCompiler.link): Included target_lang parameter. * msvccompiler.py (MSVCCompiler.create_static_lib): Fixed prototype, removing extra_preargs and extra_postargs parameters. Included target_lang parameter. (MSVCCompiler.link): Included target_lang parameter. * ccompiler.py (CCompiler): New language_map and language_order attributes, used by CCompiler.detect_language(). (CCompiler.detect_language): New method, will return the language of a given source, or list of sources. Individual source language is detected using the language_map dict. When mixed sources are used, language_order will stablish the language precedence. (CCompiler.create_static_lib, CCompiler.link, CCompiler.link_executable, CCompiler.link_shared_object, CCompiler.link_shared_lib): Inlcuded target_lang parameter. * cygwinccompiler.py (CygwinCCompiler.link): Included target_lang parameter. * emxccompiler.py (EMXCCompiler.link): Included target_lang parameter. * mwerkscompiler.py (MWerksCompiler.link): Included target_lang parameter. * extension.py (Extension.__init__): New 'language' parameter/attribute, initialized to None by default. If provided will overlap the automatic detection made by CCompiler.detect_language(), in build_ext command. * sysconfig.py (customize_compiler): Check Makefile for CXX option, and also the environment variable CXX. Use the resulting value in the 'compiler_cxx' parameter of compiler.set_executables(). * unixccompiler.py (UnixCCompiler): Included 'compiler_cxx' in executables dict, defaulting to 'cc'. (UnixCCompiler.create_static_lib): Included target_lang parameter. (UnixCCompiler.link): Included target_lang parameter, and made linker command use compiler_cxx, if target_lang is 'c++'. * command/build_ext.py (build_ext.build_extension): Pass new ext.language attribute to compiler.link_shared_object()'s target_lang parameter. If ext.language is not provided, detect language using compiler.detect_language(sources) instead. * command/config.py (config._link): Pass already available lang parameter as target_lang parameter of compiler.link_executable().
* Define NDEBUG for releae builds, just like Python.Jeremy Hylton2002-06-181-1/+2
| | | | XXX Why doesn't distutils on Windows use the same set of flags as Python?
* Refactor compile() method implementations.Jeremy Hylton2002-06-131-86/+69
| | | | | | | | Always use _setup_compile() to do the grunt work of processing arguments, figuring out which files to compile, and emitting debug messages for files that are up-to-date. Use _get_cc_args() when possible.
* Make setup.py less chatty by default.Jeremy Hylton2002-06-041-3/+4
| | | | | | | | | | | | | | | This is a conservative version of SF patch 504889. It uses the log module instead of calling print in various places, and it ignores the verbose argument passed to many functions and set as an attribute on some objects. Instead, it uses the verbosity set on the logger via the command line. The log module is now preferred over announce() and warn() methods that exist only for backwards compatibility. XXX This checkin changes a lot of modules that have no test suite and aren't exercised by the Python build process. It will need substantial testing.
* Pass the full pathname to MSVC when compiling a debug version. ThisThomas Heller2002-04-251-0/+6
| | | | | allows the debugger to find the source without asking the user to browse for it.
* Make it 1.5.2 compatible again.Thomas Heller2002-02-081-4/+5
|
* Encode MSVC paths as mbcs. Fixes #509117. 2.2.1 candidate.Martin v. Löwis2002-01-291-0/+4
|
* Whitespace normalization.Fred Drake2001-12-061-9/+9
|
* Big patch from Rene Liebscher to simplify the CCompiler API andGreg Ward2000-09-271-102/+33
| | | | | | | | | | | | | | | | | | | | implementations. Details: * replace 'link_shared_object()', 'link_shared_lib()', and 'link_executable()' with 'link()', which is (roughly) the union of the three methods it replaces * in all implementation classes (UnixCCompiler, MSVCCompiler, etc.), ditch the old 'link_*()' methods and replace them with 'link()' * in the abstract base class (CCompiler), add the old 'link_*()' methods as wrappers around the new 'link()' (they also print a warning of the deprecated interface) Also increases consistency between MSVCCompiler and BCPPCompiler, hopefully to make it easier to factor out the mythical WindowsCCompiler class. Details: * use 'self.linker' instead of 'self.link' * add ability to compile resource files to BCPPCompiler * added (redundant?) 'object_filename()' method to BCPPCompiler * only generate a .def file if 'export_symbols' defined
* *Very* belated application of Thomas Heller's patch to handleGreg Ward2000-09-191-3/+86
| | | | | | | resource files. The gist of the patch is to treat ".rc" and ".mc" files as source files; ".mc" files are compiled to ".rc" and then ".res", and ".rc" files are compiled to ".res". Wish I knew what all these things stood for...
* Add /GX to 'compile_options'. This is definitely needed for C++ source;Greg Ward2000-08-311-2/+3
| | | | | | | | according to the MS docs it enables exception-handling, and (according to Alex Martelli <aleaxit@yahoo.com>) is needed to compile without getting warnings from standard C++ library headers. Apparently it doesn't cause any problems with C code, so I haven't bothered conditionalizing the use of /GX.
* Add ".cxx" to the list of known C++ extensions.Greg Ward2000-08-301-1/+1
|
* Added 'debug' flag to 'find_library_file()', and changed code to handle it.Greg Ward2000-08-041-6/+11
|
* Ditched some debugging prints.Greg Ward2000-08-021-3/+0
|
* Patch from Rene Liebscher: generate an /IMPLIB: option to ensure thatGreg Ward2000-08-021-1/+13
| | | | | the linker leaves the (temporary) .lib file in the temporary dir. (Moved from 'msvc_prelink_hack()' method in build_ext.py.)
* Simplify the registry-module-finding code: _winreg or win32api/win32con.Greg Ward2000-06-301-4/+1
| | | | | | This'll work fine with 2.0 or 1.5.2, but is less than ideal for 1.6a1/a2. But the code to accomodate 1.6a1/a2 was released with Distutils 0.9, so it can go away now.
* On second thought, first try for _winreg, and then winreg. Only if bothGreg Ward2000-06-291-1/+5
| | | | | fail do we try for win32api/win32con. If *those* both fail, then we don't have registry access. Phew!
* Changed to use _winreg module instead of winreg.Greg Ward2000-06-291-6/+6
|