Commit a67b97f4 authored by Zachary Ware's avatar Zachary Ware

Issue #17386: Expand Doc/make.bat to be much more similar to Doc/Makefile

parent 1de519c6
@@echo off @echo off
setlocal setlocal
pushd %~dp0
set this=%~n0
if "%SPHINXBUILD%" EQU "" set SPHINXBUILD=sphinx-build if "%SPHINXBUILD%" EQU "" set SPHINXBUILD=sphinx-build
if "%PYTHON%" EQU "" set PYTHON=py if "%PYTHON%" EQU "" set PYTHON=py
if "%HTMLHELP%" EQU "" set HTMLHELP=%ProgramFiles%\HTML Help Workshop\hhc.exe
if DEFINED ProgramFiles(x86) set _PRGMFLS=%ProgramFiles(x86)%
if NOT DEFINED ProgramFiles(x86) set _PRGMFLS=%ProgramFiles%
if "%HTMLHELP%" EQU "" set HTMLHELP=%_PRGMFLS%\HTML Help Workshop\hhc.exe
if "%DISTVERSION%" EQU "" for /f "usebackq" %%v in (`%PYTHON% tools/sphinxext/patchlevel.py`) do set DISTVERSION=%%v if "%DISTVERSION%" EQU "" for /f "usebackq" %%v in (`%PYTHON% tools/sphinxext/patchlevel.py`) do set DISTVERSION=%%v
if "%BUILDDIR%" EQU "" set BUILDDIR=build
rem Targets that don't require sphinx-build
if "%1" EQU "" goto help if "%1" EQU "" goto help
if "%1" EQU "html" goto build if "%1" EQU "help" goto help
if "%1" EQU "htmlhelp" goto build if "%1" EQU "check" goto check
if "%1" EQU "latex" goto build if "%1" EQU "serve" goto serve
if "%1" EQU "text" goto build if "%1" == "clean" (
if "%1" EQU "suspicious" goto build rmdir /q /s %BUILDDIR%
if "%1" EQU "linkcheck" goto build goto end
if "%1" EQU "changes" goto build )
%SPHINXBUILD% 2> nul
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
goto end
)
rem Targets that do require sphinx-build and have their own label
if "%1" EQU "htmlview" goto htmlview
rem Everything else
goto build
:help :help
set this=%~n0 echo.usage: %this% BUILDER [filename ...]
echo HELP echo.
echo.Call %this% with the desired Sphinx builder as the first argument, e.g.
echo.``%this% html`` or ``%this% doctest``. Interesting targets that are
echo.always available include:
echo.
echo. Provided by Sphinx:
echo. html, htmlhelp, latex, text
echo. suspicious, linkcheck, changes, doctest
echo. Provided by this script:
echo. clean, check, serve, htmlview
echo. echo.
echo %this% html echo.All arguments past the first one are passed through to sphinx-build as
echo %this% htmlhelp echo.filenames to build or are ignored. See README.txt in this directory or
echo %this% latex echo.the documentation for your version of Sphinx for more exhaustive lists
echo %this% text echo.of available targets and descriptions of each.
echo %this% suspicious
echo %this% linkcheck
echo %this% changes
echo. echo.
echo.This script assumes that the SPHINXBUILD environment variable contains
echo.a legitimate command for calling sphinx-build, or that sphinx-build is
echo.on your PATH if SPHINXBUILD is not set. Options for sphinx-build can
echo.be passed by setting the SPHINXOPTS environment variable.
goto end goto end
:build :build
if not exist build mkdir build if NOT "%PAPER%" == "" (
if not exist build\%1 mkdir build\%1 set SPHINXOPTS=-D latex_paper_size=%PAPER% %SPHINXOPTS%
if not exist build\doctrees mkdir build\doctrees )
cmd /C %SPHINXBUILD% -b%1 -dbuild\doctrees . build\%* cmd /C %SPHINXBUILD% %SPHINXOPTS% -b%1 -dbuild\doctrees . %BUILDDIR%\%*
if "%1" EQU "htmlhelp" "%HTMLHELP%" build\htmlhelp\python%DISTVERSION:.=%.hhp
if "%1" EQU "htmlhelp" (
cmd /C "%HTMLHELP%" build\htmlhelp\python%DISTVERSION:.=%.hhp
rem hhc.exe seems to always exit with code 1, reset to 0 for less than 2
if not errorlevel 2 cmd /C exit /b 0
)
echo.
if errorlevel 1 (
echo.Build failed (exit code %ERRORLEVEL%^), check for error messages
echo.above. Any output will be found in %BUILDDIR%\%1
) else (
echo.Build succeeded. All output should be in %BUILDDIR%\%1
)
goto end
:htmlview
if NOT "%2" EQU "" (
echo.Can't specify filenames to build with htmlview target, ignoring.
)
cmd /C %this% html
if EXIST %BUILDDIR%\html\index.html (
echo.Opening %BUILDDIR%\html\index.html in the default web browser...
start %BUILDDIR%\html\index.html
)
goto end
:check
cmd /C %PYTHON% tools\rstlint.py -i tools
goto end
:serve
cmd /C %PYTHON% ..\Tools\scripts\serve.py %BUILDDIR%\html
goto end goto end
:end :end
popd
...@@ -237,6 +237,9 @@ C API ...@@ -237,6 +237,9 @@ C API
Documentation Documentation
------------- -------------
- Issue #17386: Expanded functionality of the ``Doc/make.bat`` script to make
it much more comparable to ``Doc/Makefile``.
- Issue #21043: Remove the recommendation for specific CA organizations and to - Issue #21043: Remove the recommendation for specific CA organizations and to
mention the ability to load the OS certificates. mention the ability to load the OS certificates.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment