diff options
| author | Gary Oberbrunner <garyo@oberbrunner.com> | 2008-12-11 02:59:40 (GMT) |
|---|---|---|
| committer | Gary Oberbrunner <garyo@oberbrunner.com> | 2008-12-11 02:59:40 (GMT) |
| commit | 0e4e4a675e9eec8ea69fa98038b13ddfeea4ebd8 (patch) | |
| tree | 3f482bc6c57e4bec2e00df8f5582683f264842b2 /src/engine/SCons/Defaults.py | |
| parent | b4d7c306c8e6b42a04b71dacb7ce829713e9d106 (diff) | |
| download | SCons-0e4e4a675e9eec8ea69fa98038b13ddfeea4ebd8.zip SCons-0e4e4a675e9eec8ea69fa98038b13ddfeea4ebd8.tar.gz SCons-0e4e4a675e9eec8ea69fa98038b13ddfeea4ebd8.tar.bz2 | |
Fix issue #1249 by making Mkdir action (actually mkdir_func) succeed if the underlying mkdir throws EEXIST and there is an existing dir there already.
Diffstat (limited to 'src/engine/SCons/Defaults.py')
| -rw-r--r-- | src/engine/SCons/Defaults.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/engine/SCons/Defaults.py b/src/engine/SCons/Defaults.py index b790a49..5d78215 100644 --- a/src/engine/SCons/Defaults.py +++ b/src/engine/SCons/Defaults.py @@ -38,6 +38,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" import os import os.path +import errno import shutil import stat import string @@ -220,7 +221,14 @@ def mkdir_func(dest): if not SCons.Util.is_List(dest): dest = [dest] for entry in dest: - os.makedirs(str(entry)) + try: + os.makedirs(str(entry)) + except os.error, e: + p = str(entry) + if e[0] == errno.EEXIST and os.path.isdir(str(entry)): + pass + else: + raise Mkdir = ActionFactory(mkdir_func, lambda dir: 'Mkdir(%s)' % get_paths_str(dir)) |
