build-support/factor.cmd: cleanups recommended by mnestic

db4
Joe Groff 2010-05-25 21:32:07 -07:00
parent d34b377c12
commit dc75f092fc
1 changed files with 41 additions and 51 deletions

View File

@ -1,51 +1,41 @@
@echo off @echo off
setlocal
if "%1"=="/?" (
goto usage
) else if "%1"=="" (
set _bootimage_version=latest
) else if "%1"=="latest" (
set _bootimage_version=latest
) else if "%1"=="clean" (
set _bootimage_version=clean
) else goto usage
if not exist Nmakefile goto wrongdir if not exist Nmakefile goto wrongdir
call cl 2>&1 | find "x86" >nul call cl 2>&1 | find "x86" >nul
if not errorlevel 1 goto cl32 if not errorlevel 1 (
echo x86-32 cl.exe detected.
call cl 2>&1 | find "x64" >nul set _target=x86-32
if not errorlevel 1 goto cl64 set _bootimage=boot.winnt-x86.32.image
) else (
goto nocl call cl 2>&1 | find "x64" >nul
if not errorlevel 1 (
:cl32 echo x86-64 cl.exe detected.
echo x86-32 cl.exe detected. set _target=x86-64
set _target="x86-32" set _bootimage=boot.winnt-x86.64.image
set _bootimage="boot.winnt-x86.32.image" ) else goto nocl
goto platformdefined
:cl64
echo x86-64 cl.exe detected.
set _target="x86-64"
set _bootimage="boot.winnt-x86.64.image"
goto platformdefined
:nocl
echo Unable to detect cl.exe target platform.
echo Make sure you're running within the Visual Studio or Windows SDK environment.
goto cleanup
:platformdefined
if "%1"=="/?" goto usage
if "%1"=="" (
set _bootimage_version="latest"
set _git_branch=master
) )
if "%1"=="latest" (
set _bootimage_version="latest" if %_bootimage_version%==clean (
set _git_branch=master
)
if "%1"=="clean" (
set _bootimage_version="clean"
set _git_branch=clean-winnt-%_target% set _git_branch=clean-winnt-%_target%
set _bootimage_path=clean/winnt-%_target%
) else (
set _git_branch=master
set _bootimage_path=latest
) )
if not defined _bootimage_version goto usage echo Updating working copy from %_git_branch%...
echo Updating working copy...
call git pull http://factorcode.org/git/factor.git %_git_branch% call git pull http://factorcode.org/git/factor.git %_git_branch%
if errorlevel 1 goto fail if errorlevel 1 goto fail
@ -56,27 +46,32 @@ nmake /nologo /f Nmakefile %_target%
if errorlevel 1 goto fail if errorlevel 1 goto fail
echo Fetching %_bootimage_version% boot image... echo Fetching %_bootimage_version% boot image...
cscript /nologo build-support\http-get.vbs http://factorcode.org/images/%_bootimage_version%/%_bootimage% %_bootimage% cscript /nologo build-support\http-get.vbs http://factorcode.org/images/%_bootimage_path%/%_bootimage% %_bootimage%
if errorlevel 1 goto fail if errorlevel 1 goto fail
echo Bootstrapping... echo Bootstrapping...
.\factor.com -i=%_bootimage% .\factor.com -i=%_bootimage%
if errorlevel 1 goto fail if errorlevel 1 goto fail
echo Copying fresh factor.image to factor.image.fresh echo Copying fresh factor.image to factor.image.fresh.
copy factor.image factor.image.fresh copy factor.image factor.image.fresh
if errorlevel 1 goto fail if errorlevel 1 goto fail
echo Build complete. echo Build complete.
goto cleanup goto :EOF
:fail :fail
echo Build failed. echo Build failed.
goto cleanup goto :EOF
:wrongdir :wrongdir
echo build-support\factor.cmd must be run from the root of the Factor source tree. echo build-support\factor.cmd must be run from the root of the Factor source tree.
goto cleanup goto :EOF
:nocl
echo Unable to detect cl.exe target platform.
echo Make sure you're running within the Visual Studio or Windows SDK environment.
goto :EOF
:usage :usage
echo Usage: build-support\factor.cmd [latest/clean] echo Usage: build-support\factor.cmd [latest/clean]
@ -88,10 +83,5 @@ echo most recent factor build is downloaded. This is the default.
echo If clean is specified, then the working copy is updated to the echo If clean is specified, then the working copy is updated to the
echo upstream "clean-winnt-*" branch corresponding to the current echo upstream "clean-winnt-*" branch corresponding to the current
echo platform and the corresponding boot image is downloaded. echo platform and the corresponding boot image is downloaded.
goto cleanup goto :EOF
:cleanup
set _target=
set _bootimage=
set _bootimage_version=
set _git_branch=