summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/msvccompiler.py
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2005-03-04 13:50:17 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2005-03-04 13:50:17 (GMT)
commitc72dd38f30eb034f33e5efa1029ed17ca773d267 (patch)
tree7ab99f294542cba179a78ac64b467f26d3a9841d /Lib/distutils/msvccompiler.py
parent637431bf145a4e35458219c18db843a054e0adf3 (diff)
downloadcpython-c72dd38f30eb034f33e5efa1029ed17ca773d267.zip
cpython-c72dd38f30eb034f33e5efa1029ed17ca773d267.tar.gz
cpython-c72dd38f30eb034f33e5efa1029ed17ca773d267.tar.bz2
Patch #1075887: Don't require MSVC in distutils if there is nothing
to build. Will backport to 2.4
Diffstat (limited to 'Lib/distutils/msvccompiler.py')
-rw-r--r--Lib/distutils/msvccompiler.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/distutils/msvccompiler.py b/Lib/distutils/msvccompiler.py
index 89a75b3..0161393 100644
--- a/Lib/distutils/msvccompiler.py
+++ b/Lib/distutils/msvccompiler.py
@@ -211,6 +211,9 @@ class MSVCCompiler (CCompiler) :
self.__macros = MacroExpander(self.__version)
else:
self.__root = r"Software\Microsoft\Devstudio"
+ self.initialized = False
+
+ def initialize(self):
self.__paths = self.get_msvc_paths("path")
if len (self.__paths) == 0:
@@ -290,6 +293,7 @@ class MSVCCompiler (CCompiler) :
output_dir=None, macros=None, include_dirs=None, debug=0,
extra_preargs=None, extra_postargs=None, depends=None):
+ if not self.initialized: self.initialize()
macros, objects, extra_postargs, pp_opts, build = \
self._setup_compile(output_dir, macros, include_dirs, sources,
depends, extra_postargs)
@@ -381,6 +385,7 @@ class MSVCCompiler (CCompiler) :
debug=0,
target_lang=None):
+ if not self.initialized: self.initialize()
(objects, output_dir) = self._fix_object_args (objects, output_dir)
output_filename = \
self.library_filename (output_libname, output_dir=output_dir)
@@ -414,6 +419,7 @@ class MSVCCompiler (CCompiler) :
build_temp=None,
target_lang=None):
+ if not self.initialized: self.initialize()
(objects, output_dir) = self._fix_object_args (objects, output_dir)
(libraries, library_dirs, runtime_library_dirs) = \
self._fix_lib_args (libraries, library_dirs, runtime_library_dirs)