diff options
author | wuestholz <unknown> | 2010-05-28 15:50:36 +0000 |
---|---|---|
committer | wuestholz <unknown> | 2010-05-28 15:50:36 +0000 |
commit | 3b8dca0b54c45519be8f7e0c4c1ac92824690d28 (patch) | |
tree | 426b62d8f8cefc27a432b1f5c4c6aef320522fba /Source/Provers/Simplify | |
parent | 2b69afeda750b2a6255ca32268b6a60bf24a5970 (diff) |
Updated to find the latest version of Z3 (2.7) and made the algorithm slightly more robust.
Diffstat (limited to 'Source/Provers/Simplify')
-rw-r--r-- | Source/Provers/Simplify/ProverInterface.ssc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/Source/Provers/Simplify/ProverInterface.ssc b/Source/Provers/Simplify/ProverInterface.ssc index f8845576..c885f84e 100644 --- a/Source/Provers/Simplify/ProverInterface.ssc +++ b/Source/Provers/Simplify/ProverInterface.ssc @@ -198,18 +198,30 @@ namespace Microsoft.Boogie.Simplify // Initialize '_proverPath'
_proverPath = Path.Combine(CodebaseString(), proverExe);
string firstTry = _proverPath;
- for (int minorVersion = 6; true; minorVersion--) {
+
+ string programFiles = Environment.GetEnvironmentVariable("ProgramFiles");
+ assert programFiles != null;
+ string programFilesX86 = Environment.GetEnvironmentVariable("ProgramFiles(x86)");
+ if (programFiles.Equals(programFilesX86)) {
+ // If both %ProgramFiles% and %ProgramFiles(x86)% point to "ProgramFiles (x86)", use %ProgramW6432% instead.
+ programFiles = Environment.GetEnvironmentVariable("ProgramW6432");
+ }
+
+ for (int minorVersion = 7; true; minorVersion--) {
if (File.Exists(_proverPath)) {
return; // all seems good
}
if (minorVersion < 0) {
throw new ProverException("Cannot find executable: " + firstTry);
}
- _proverPath = Path.Combine(@"c:\Program Files\Microsoft Research\Z3-2." + minorVersion + "\\bin", proverExe);
+ _proverPath = Path.Combine(programFiles + @"\Microsoft Research\Z3-2." + minorVersion + @"\bin", proverExe);
+
if (File.Exists(_proverPath)) {
return; // all seems good
}
- _proverPath = Path.Combine(@"c:\Program Files (x86)\Microsoft Research\Z3-2." + minorVersion + "\\bin", proverExe);
+ if (programFilesX86 != null) {
+ _proverPath = Path.Combine(programFilesX86 + @"\Microsoft Research\Z3-2." + minorVersion + @"\bin", proverExe);
+ }
}
}
}
|