aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2020-05-21 14:41:30 +0900
committerMichael Paquier <michael@paquier.xyz>2020-05-21 14:41:30 +0900
commit089baec6fd2097984af92baa9e5aaf0cdd1238e6 (patch)
treedd96247cf75bdd537d2d2b9a88ec3c0f2a07fd48
parente2a19a6d253622318bacaea8faccdbf7ca771ddf (diff)
downloadpostgresql-089baec6fd2097984af92baa9e5aaf0cdd1238e6.tar.gz
postgresql-089baec6fd2097984af92baa9e5aaf0cdd1238e6.zip
Fix MSVC installations with multiple "configure" files detected
When installing binaries and libraries using the MSVC installation routines, the operation gets done after moving to the root folder, whose location is detected by checking if "configure" exists two times in a row. So, calling the installation script from src/tools/msvc/ with an extra "configure" file four levels up the root path of the code tree causes the execution to go further up, leading to a failure in finding the builds. This commit fixes the issue by moving to the root folder of the code tree only once, when necessary. Author: Arnold Müller Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/16343-f638f67e7e52b86c@postgresql.org Backpatch-through: 9.5
-rw-r--r--src/tools/msvc/Install.pm12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
index d109b2c9060..af1d6905846 100644
--- a/src/tools/msvc/Install.pm
+++ b/src/tools/msvc/Install.pm
@@ -63,8 +63,16 @@ sub Install
do "./config.pl" if (-f "config.pl");
}
- chdir("../../..") if (-f "../../../configure");
- chdir("../../../..") if (-f "../../../../configure");
+ # Move to the root path depending on the current location.
+ if (-f "../../../configure")
+ {
+ chdir("../../..");
+ }
+ elsif (-f "../../../../configure")
+ {
+ chdir("../../../..");
+ }
+
my $conf = "";
if (-d "debug")
{