summaryrefslogtreecommitdiff
path: root/src/engine/SCons/compat/_scons_subprocess.py
diff options
context:
space:
mode:
authorLuca Falavigna <dktrkranz@debian.org>2010-03-10 14:14:33 +0100
committerLuca Falavigna <dktrkranz@debian.org>2010-03-10 14:14:33 +0100
commitdf69433d6a185b997f1ec3c0d30768061c5b500f (patch)
treef976ed6769e1273e04dca843c18d8bf87fc9b976 /src/engine/SCons/compat/_scons_subprocess.py
parentda3aa9be25ad2463a8f27318b914d2322f782a9e (diff)
parent68e4fe5ac49effe8959bc8532584edf04553c931 (diff)
Merge commit 'upstream/1.2.0.d20100306'
Diffstat (limited to 'src/engine/SCons/compat/_scons_subprocess.py')
-rw-r--r--src/engine/SCons/compat/_scons_subprocess.py32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/engine/SCons/compat/_scons_subprocess.py b/src/engine/SCons/compat/_scons_subprocess.py
index 4968825..ccd403a 100644
--- a/src/engine/SCons/compat/_scons_subprocess.py
+++ b/src/engine/SCons/compat/_scons_subprocess.py
@@ -381,7 +381,21 @@ if mswindows:
# can't import it.
pass
import msvcrt
- if 0: # <-- change this to use pywin32 instead of the _subprocess driver
+ try:
+ # Try to get _subprocess
+ from _subprocess import *
+ class STARTUPINFO:
+ dwFlags = 0
+ hStdInput = None
+ hStdOutput = None
+ hStdError = None
+ wShowWindow = 0
+ class pywintypes:
+ error = IOError
+ except ImportError:
+ # If not there, then drop back to requiring pywin32
+ # TODO: Should this be wrapped in try as well? To notify user to install
+ # pywin32 ? With URL to it?
import pywintypes
from win32api import GetStdHandle, STD_INPUT_HANDLE, \
STD_OUTPUT_HANDLE, STD_ERROR_HANDLE
@@ -393,20 +407,8 @@ if mswindows:
GetExitCodeProcess, STARTF_USESTDHANDLES, \
STARTF_USESHOWWINDOW, CREATE_NEW_CONSOLE
from win32event import WaitForSingleObject, INFINITE, WAIT_OBJECT_0
- else:
- # SCons: don't die on Python versions that don't have _subprocess.
- try:
- from _subprocess import *
- except ImportError:
- pass
- class STARTUPINFO:
- dwFlags = 0
- hStdInput = None
- hStdOutput = None
- hStdError = None
- wShowWindow = 0
- class pywintypes:
- error = IOError
+
+
else:
import select
import errno