aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Satiro <raysatiro@yahoo.com>2018-08-11 16:33:12 -0400
committerJay Satiro <raysatiro@yahoo.com>2018-08-11 16:33:12 -0400
commit220cd241cd8e64c5968df91c6f0a8083b49869ee (patch)
treee4bdc30b3aa9772c36d628e31e4ac3fccecbb62e
parentb676b66f4ddc68a0e357fc4cf79b9adb981c8df5 (diff)
projects: Improve Windows perl detection in batch scripts
- Determine if perl is in the user's PATH by running perl.exe. Prior to this change detection was done by checking the PATH for perl/ but that did not work in all cases (eg git install includes perl but not in perl/ path). Bug: https://github.com/curl/curl/pull/2865 Reported-by: Daniel JeliƄski
-rw-r--r--projects/build-openssl.bat33
-rw-r--r--projects/checksrc.bat2
2 files changed, 15 insertions, 20 deletions
diff --git a/projects/build-openssl.bat b/projects/build-openssl.bat
index 9fd49b780..98daff529 100644
--- a/projects/build-openssl.bat
+++ b/projects/build-openssl.bat
@@ -153,26 +153,21 @@ rem ***************************************************************************
rem Check we have Visual Studio installed
if not exist "%ABS_VC_PATH%" goto novc
-
if not defined PERL_PATH (
- rem Check we have Perl in our path
- rem using !! below as %% was having \Microsoft was unexpected error.
- echo !PATH! | findstr /I /C:"\Perl" 1>nul
- if errorlevel 1 (
- rem It isn't so check we have it installed and set the path if it is
- if exist "%SystemDrive%\Perl" (
- set "PATH=%SystemDrive%\Perl\bin;%PATH%"
- ) else (
- if exist "%SystemDrive%\Perl64" (
- set "PATH=%SystemDrive%\Perl64\bin;%PATH%"
- ) else (
-
-
-
- goto noperl
- )
- )
- )
+ rem Check we have Perl in our path
+ perl --version <NUL 1>NUL 2>&1
+ if errorlevel 1 (
+ rem It isn't so check we have it installed and set the path if it is
+ if exist "%SystemDrive%\Perl" (
+ set "PATH=%SystemDrive%\Perl\bin;%PATH%"
+ ) else (
+ if exist "%SystemDrive%\Perl64" (
+ set "PATH=%SystemDrive%\Perl64\bin;%PATH%"
+ ) else (
+ goto noperl
+ )
+ )
+ )
) else (
set "PATH=%PERL_PATH%\Perl\bin;%PATH%"
)
diff --git a/projects/checksrc.bat b/projects/checksrc.bat
index 3c38f50e6..5c8debf11 100644
--- a/projects/checksrc.bat
+++ b/projects/checksrc.bat
@@ -73,7 +73,7 @@ rem ***************************************************************************
:prerequisites
rem Check we have Perl in our path
- echo %PATH% | findstr /I /C:"\Perl" 1>nul
+ perl --version <NUL 1>NUL 2>&1
if errorlevel 1 (
rem It isn't so check we have it installed and set the path if it is
if exist "%SystemDrive%\Perl" (