]> granicus.if.org Git - python/commitdiff
bpo-30450: Fall back to git.exe if no Python is found. (#2739)
authorSteve Dower <steve.dower@microsoft.com>
Mon, 17 Jul 2017 13:43:55 +0000 (15:43 +0200)
committerGitHub <noreply@github.com>
Mon, 17 Jul 2017 13:43:55 +0000 (15:43 +0200)
* bpo-30450: Fall back to git.exe if no Python is found.

* Also check whether git.exe is on PATH if it will be used.

PCbuild/get_externals.bat

index 01eeb84ac0f8f6dcff76417c082d73ff390a67c0..1c0e9a0305b7fc9f1b7e7287fb1dfb9a5444b77f 100644 (file)
@@ -41,6 +41,10 @@ if "%DO_FETCH%"=="false" goto end
 if "%ORG%"=="" (set ORG=python)
 call "%PCBUILD%find_python.bat" "%PYTHON%"
 
+if "%PYTHON%"=="" (
+    where /Q git || echo Python 3.6 could not be found or installed, and git.exe is not on your PATH && exit /B 1
+)
+
 echo.Fetching external libraries...
 
 set libraries=
@@ -55,6 +59,9 @@ set libraries=%libraries%                                       xz-5.2.2
 for %%e in (%libraries%) do (
     if exist "%EXTERNALS_DIR%\%%e" (
         echo.%%e already exists, skipping.
+    ) else if "%PYTHON%"=="" (
+        echo.Fetching %%e with git...
+        git clone --depth 1 https://github.com/%ORG%/cpython-source-deps --branch %%e "%EXTERNALS_DIR%\%%e"
     ) else (
         echo.Fetching %%e...
         %PYTHON% "%PCBUILD%get_external.py" -O %ORG% %%e
@@ -71,6 +78,9 @@ if NOT "%IncludeSSLSrc%"=="false"  set binaries=%binaries% nasm-2.11.06
 for %%b in (%binaries%) do (
     if exist "%EXTERNALS_DIR%\%%b" (
         echo.%%b already exists, skipping.
+    ) else if "%PYTHON%"=="" (
+        echo.Fetching %%b with git...
+        git clone --depth 1 https://github.com/%ORG%/cpython-bin-deps --branch %%b "%EXTERNALS_DIR%\%%b"
     ) else (
         echo.Fetching %%b...
         %PYTHON% "%PCBUILD%get_external.py" -b -O %ORG% %%b