mirror of
https://github.com/moparisthebest/curl
synced 2024-11-04 08:35:05 -05:00
4a21346ef3
Ensure that there isn't a mismatch between setlocal and endlocal calls, which could have happened due to setlocal being called after certain error conditions were checked for.
152 lines
3.4 KiB
Batchfile
152 lines
3.4 KiB
Batchfile
@echo off
|
|
rem ***************************************************************************
|
|
rem * _ _ ____ _
|
|
rem * Project ___| | | | _ \| |
|
|
rem * / __| | | | |_) | |
|
|
rem * | (__| |_| | _ <| |___
|
|
rem * \___|\___/|_| \_\_____|
|
|
rem *
|
|
rem * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
rem *
|
|
rem * This software is licensed as described in the file COPYING, which
|
|
rem * you should have received as part of this distribution. The terms
|
|
rem * are also available at http://curl.haxx.se/docs/copyright.html.
|
|
rem *
|
|
rem * You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
rem * copies of the Software, and permit persons to whom the Software is
|
|
rem * furnished to do so, under the terms of the COPYING file.
|
|
rem *
|
|
rem * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
rem * KIND, either express or implied.
|
|
rem *
|
|
rem ***************************************************************************
|
|
|
|
rem NOTES
|
|
rem
|
|
rem This batch file must be used to set up a git tree to build on systems where
|
|
rem there is no autotools support (i.e. Windows).
|
|
rem
|
|
rem This file is not included or required for curl's release archives or daily
|
|
rem snapshot archives.
|
|
|
|
:begin
|
|
rem Set our variables
|
|
setlocal
|
|
set MODE=GENERATE
|
|
|
|
rem Switch to this batch file's directory
|
|
cd /d "%~0\.." 1>NUL 2>&1
|
|
|
|
rem Check we are running from a curl git repository
|
|
if not exist GIT-INFO goto norepo
|
|
|
|
:parseArgs
|
|
if "%~1" == "" goto start
|
|
|
|
if /i "%~1" == "-clean" (
|
|
set MODE=CLEAN
|
|
) else if /i "%~1" == "-?" (
|
|
goto syntax
|
|
) else if /i "%~1" == "-h" (
|
|
goto syntax
|
|
) else if /i "%~1" == "-help" (
|
|
goto syntax
|
|
) else (
|
|
goto unknown
|
|
)
|
|
|
|
shift & goto parseArgs
|
|
|
|
:start
|
|
if "%MODE%" == "GENERATE" (
|
|
call :generate
|
|
) else (
|
|
call :clean
|
|
)
|
|
|
|
goto success
|
|
|
|
rem Main generate function.
|
|
rem
|
|
:generate
|
|
echo.
|
|
echo Generating prerequisite files
|
|
|
|
rem create tool_hugehelp.c
|
|
if exist src\tool_hugehelp.c.cvs (
|
|
echo * %CD%\src\tool_hugehelp.c
|
|
copy /Y src\tool_hugehelp.c.cvs src\tool_hugehelp.c 1>NUL
|
|
)
|
|
|
|
rem create Makefile
|
|
if exist Makefile.dist (
|
|
echo * %CD%\Makefile
|
|
copy /Y Makefile.dist Makefile 1>NUL
|
|
)
|
|
|
|
rem create curlbuild.h
|
|
if exist include\curl\curlbuild.h.dist (
|
|
echo * %CD%\include\curl\curlbuild.h
|
|
copy /Y include\curl\curlbuild.h.dist include\curl\curlbuild.h 1>NUL
|
|
)
|
|
|
|
rem setup c-ares git tree
|
|
if exist ares\buildconf.bat (
|
|
echo.
|
|
echo Configuring c-ares build environment
|
|
cd ares
|
|
call buildconf.bat
|
|
cd ..
|
|
)
|
|
|
|
exit /B
|
|
|
|
rem Main clean function.
|
|
rem
|
|
:clean
|
|
echo.
|
|
echo Removing prerequisite files
|
|
|
|
echo * %CD%\Makefile
|
|
if exist Makefile (
|
|
del Makefile
|
|
)
|
|
|
|
echo * %CD%\src\tool_hugehelp.c
|
|
if exist src\tool_hugehelp.c (
|
|
del src\tool_hugehelp.c
|
|
)
|
|
|
|
echo * %CD%\include\curl\curlbuild.h
|
|
if exist include\curl\curlbuild.h (
|
|
del include\curl\curlbuild.h
|
|
)
|
|
|
|
exit /B
|
|
|
|
:syntax
|
|
rem Display the help
|
|
echo.
|
|
echo Usage: buildconf [-clean]
|
|
echo.
|
|
echo -clean - Removes the files
|
|
goto error
|
|
|
|
:unknown
|
|
echo.
|
|
echo Error: Unknown argument '%1'
|
|
goto error
|
|
|
|
:norepo
|
|
echo.
|
|
echo Error: This batch file should only be used with a curl git repository
|
|
goto error
|
|
|
|
:error
|
|
endlocal
|
|
exit /B 1
|
|
|
|
:success
|
|
endlocal
|
|
exit /B 0
|