From dc75f092fc05b99ef3e327d6adf0efd640d9f221 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Tue, 25 May 2010 21:32:07 -0700 Subject: [PATCH] build-support/factor.cmd: cleanups recommended by mnestic --- build-support/factor.cmd | 92 ++++++++++++++++++---------------------- 1 file changed, 41 insertions(+), 51 deletions(-) diff --git a/build-support/factor.cmd b/build-support/factor.cmd index 05f1597ace..57a41f24eb 100644 --- a/build-support/factor.cmd +++ b/build-support/factor.cmd @@ -1,51 +1,41 @@ @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 call cl 2>&1 | find "x86" >nul -if not errorlevel 1 goto cl32 - -call cl 2>&1 | find "x64" >nul -if not errorlevel 1 goto cl64 - -goto nocl - -:cl32 -echo x86-32 cl.exe detected. -set _target="x86-32" -set _bootimage="boot.winnt-x86.32.image" -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 not errorlevel 1 ( + echo x86-32 cl.exe detected. + set _target=x86-32 + set _bootimage=boot.winnt-x86.32.image +) else ( + call cl 2>&1 | find "x64" >nul + if not errorlevel 1 ( + echo x86-64 cl.exe detected. + set _target=x86-64 + set _bootimage=boot.winnt-x86.64.image + ) else goto nocl ) -if "%1"=="latest" ( - set _bootimage_version="latest" - set _git_branch=master -) -if "%1"=="clean" ( - set _bootimage_version="clean" + +if %_bootimage_version%==clean ( 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... +echo Updating working copy from %_git_branch%... call git pull http://factorcode.org/git/factor.git %_git_branch% if errorlevel 1 goto fail @@ -56,27 +46,32 @@ nmake /nologo /f Nmakefile %_target% if errorlevel 1 goto fail 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 echo Bootstrapping... .\factor.com -i=%_bootimage% 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 if errorlevel 1 goto fail echo Build complete. -goto cleanup +goto :EOF :fail echo Build failed. -goto cleanup +goto :EOF :wrongdir 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 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 upstream "clean-winnt-*" branch corresponding to the current echo platform and the corresponding boot image is downloaded. -goto cleanup +goto :EOF -:cleanup -set _target= -set _bootimage= -set _bootimage_version= -set _git_branch=