Commit cde44721 authored by Steve Holme's avatar Steve Holme
Browse files

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

parent 9d29afdf
Loading
Loading
Loading
Loading
+4 −86
Original line number Diff line number Diff line
@@ -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.