diff options
Diffstat (limited to 'modules/mono/SCsub')
-rw-r--r-- | modules/mono/SCsub | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/modules/mono/SCsub b/modules/mono/SCsub index 13212636e3..c3ab9212c7 100644 --- a/modules/mono/SCsub +++ b/modules/mono/SCsub @@ -97,29 +97,31 @@ def find_msbuild_unix(filename): def find_msbuild_windows(): import mono_reg_utils as monoreg - msbuild_tools_path = monoreg.find_msbuild_tools_path_reg() + bits = env['bits'] - if msbuild_tools_path: - return (os.path.join(msbuild_tools_path, 'MSBuild.exe'), '') + if bits == '32': + if os.getenv('MONO32_PREFIX'): + mono_root = os.getenv('MONO32_PREFIX') + else: + mono_root = monoreg.find_mono_root_dir(bits) else: - bits = env['bits'] - - if bits == '32': - if os.getenv('MONO32_PREFIX'): - mono_root = os.getenv('MONO32_PREFIX') - else: - mono_root = monoreg.find_mono_root_dir(bits) + if os.getenv('MONO64_PREFIX'): + mono_root = os.getenv('MONO64_PREFIX') else: - if os.getenv('MONO64_PREFIX'): - mono_root = os.getenv('MONO64_PREFIX') - else: - mono_root = monoreg.find_mono_root_dir(bits) + mono_root = monoreg.find_mono_root_dir(bits) - if mono_root: - msbuild_mono = os.path.join(mono_root, 'bin', 'msbuild.bat') + if not mono_root: + raise RuntimeError('Cannot find mono root directory') + + msbuild_tools_path = monoreg.find_msbuild_tools_path_reg() + + if msbuild_tools_path: + return (os.path.join(msbuild_tools_path, 'MSBuild.exe'), os.path.join(mono_root, 'lib', 'mono', '4.5')) + else: + msbuild_mono = os.path.join(mono_root, 'bin', 'msbuild.bat') - if os.path.isfile(msbuild_mono): - return (msbuild_mono, os.path.join(mono_root, 'lib', 'mono', '4.5')) + if os.path.isfile(msbuild_mono): + return (msbuild_mono, '') return None |