generate.bat: Use buildconf.bat for prerequisite file generation

This commit is contained in:
Steve Holme 2015-08-09 17:59:31 +01:00
parent 9d29afdfe3
commit cde447217f
1 changed files with 4 additions and 86 deletions

View File

@ -46,18 +46,6 @@ rem If you need to set the errorlevel do this instead: CALL :seterr [#]
rem Check we are running from a curl git repository
if not exist ..\GIT-INFO goto norepo
rem Detect programs. HAVE_<PROGNAME>
rem When not found the variable is set undefined. The undefined pattern
rem allows for statements like "if not defined HAVE_PERL (command)"
groff --version <NUL 1>NUL 2>&1
if %ERRORLEVEL% equ 0 (set HAVE_GROFF=Y) else (set HAVE_GROFF=)
nroff --version <NUL 1>NUL 2>&1
if %ERRORLEVEL% equ 0 (set HAVE_NROFF=Y) else (set HAVE_NROFF=)
perl --version <NUL 1>NUL 2>&1
if %ERRORLEVEL% equ 0 (set HAVE_PERL=Y) else (set HAVE_PERL=)
gzip --version <NUL 1>NUL 2>&1
if %ERRORLEVEL% equ 0 (set HAVE_GZIP=Y) else (set HAVE_GZIP=)
:parseArgs
if "%~1" == "" goto start
@ -90,16 +78,14 @@ rem If you need to set the errorlevel do this instead: CALL :seterr [#]
) else (
goto unknown
)
shift & goto parseArgs
:start
if "%MODE%" == "GENERATE" (
echo.
echo Generating prerequisite files
call :gen_curlbuild
if errorlevel 1 goto nogencurlbuild
call :gen_hugehelp
if errorlevel 1 goto nogenhugehelp
call ..\buildconf
) else if "%VERSION%" == "PRE" (
call ..\buildconf -clean
) else if "%VERSION%" == "ALL" (
call ..\buildconf -clean
)
@ -394,64 +380,6 @@ rem
exit /B
rem CALL this function to generate ..\src\tool_hugehelp.c
rem Returns exit code 0 on success or 1 on failure.
:gen_hugehelp
setlocal
set LC_ALL=C
set ROFFCMD=
if defined HAVE_PERL (
if defined HAVE_GROFF (
set ROFFCMD=groff -mtty-char -Tascii -P-c -man
) else if defined HAVE_NROFF (
set ROFFCMD=nroff -c -Tascii -man
)
)
echo * %CD%\..\src\tool_hugehelp.c
echo #include "tool_setup.h"> ..\src\tool_hugehelp.c
echo #include "tool_hugehelp.h">> ..\src\tool_hugehelp.c
if defined ROFFCMD (
if defined HAVE_GZIP (
echo #ifndef HAVE_LIBZ>> ..\src\tool_hugehelp.c
)
%ROFFCMD% ..\docs\curl.1 2>NUL | perl ..\src\mkhelp.pl ..\docs\MANUAL >> ..\src\tool_hugehelp.c
if defined HAVE_GZIP (
echo #else>> ..\src\tool_hugehelp.c
%ROFFCMD% ..\docs\curl.1 2>NUL | perl ..\src\mkhelp.pl -c ..\docs\MANUAL >> ..\src\tool_hugehelp.c
echo #endif /^* HAVE_LIBZ ^*/>> ..\src\tool_hugehelp.c
)
) else (
echo.
echo Warning: The curl manual could not be integrated in the source. This means when
echo you build curl the manual will not be available (curl --man^). Integration of
echo the manual is not required and a summary of the options will still be available
echo (curl --help^). To integrate the manual your PATH is required to have
echo groff/nroff, perl and optionally gzip for compression.
echo.
echo void hugehelp(void^)>> ..\src\tool_hugehelp.c
echo #ifdef USE_MANUAL>> ..\src\tool_hugehelp.c
echo { fputs("built-in manual not included\n", stdout^); }>> ..\src\tool_hugehelp.c
echo #else>> ..\src\tool_hugehelp.c
echo {}>> ..\src\tool_hugehelp.c
echo #endif>> ..\src\tool_hugehelp.c
)
findstr "/C:void hugehelp(void)" ..\src\tool_hugehelp.c 1>NUL 2>&1
if %ERRORLEVEL% neq 0 (
exit /B 1
)
exit /B 0
rem CALL this function to generate ..\include\curl\curlbuild.h
rem Returns exit code 0 on success or 1 on failure.
:gen_curlbuild
setlocal
echo * %CD%\..\include\curl\curlbuild.h
copy /y ..\include\curl\curlbuild.h.dist ..\include\curl\curlbuild.h 1>NUL
if %ERRORLEVEL% neq 0 (
exit /B 1
)
exit /B 0
:syntax
rem Display the help
echo.
@ -492,16 +420,6 @@ rem Returns exit code 0 on success or 1 on failure.
echo Error: This batch file should only be used from a curl git repository
goto error
:nogencurlbuild
echo.
echo Error: Unable to generate ..\include\curl\curlbuild.h
goto error
:nogenhugehelp
echo.
echo Error: Unable to generate ..\src\tool_hugehelp.c
goto error
:seterr
rem Set the caller's errorlevel.
rem %1[opt]: Errorlevel as integer.