summaryrefslogtreecommitdiffstats
path: root/win/buildall.vc.bat
diff options
context:
space:
mode:
authordavygrvy <davygrvy@pobox.com>2003-08-25 22:18:55 (GMT)
committerdavygrvy <davygrvy@pobox.com>2003-08-25 22:18:55 (GMT)
commitfc7f751a06e5d25fe90d4d79961dd9ac1a6bb596 (patch)
tree08f3abb8bed1bac6a84ab7a4e4151a98c623b96c /win/buildall.vc.bat
parent5d8a3cdc8f2b2f3167873ab0a06dafd4dd6bf0e5 (diff)
downloadtcl-fc7f751a06e5d25fe90d4d79961dd9ac1a6bb596.zip
tcl-fc7f751a06e5d25fe90d4d79961dd9ac1a6bb596.tar.gz
tcl-fc7f751a06e5d25fe90d4d79961dd9ac1a6bb596.tar.bz2
better error control.
Diffstat (limited to 'win/buildall.vc.bat')
-rwxr-xr-xwin/buildall.vc.bat68
1 files changed, 53 insertions, 15 deletions
diff --git a/win/buildall.vc.bat b/win/buildall.vc.bat
index 6aa00d8..93645cb 100755
--- a/win/buildall.vc.bat
+++ b/win/buildall.vc.bat
@@ -1,58 +1,96 @@
@echo off
-
:: This is an example batchfile for building everything. Please
:: edit this (or make your own) for your needs and wants using
:: the instructions for calling makefile.vc found in makefile.vc
::
-:: RCS: @(#) $Id: buildall.vc.bat,v 1.6 2002/11/04 05:50:19 davygrvy Exp $
+:: RCS: @(#) $Id: buildall.vc.bat,v 1.7 2003/08/25 22:18:55 davygrvy Exp $
+
+if "%1" == "/?" goto help
+if /i "%1" == "/help" goto help
+
+:: reset errorlevel
+cd > nul
+
+:: We need to run the development environment batch script that comes
+:: with developer studio (v4,5,6,7,etc...) All have it. These paths
+:: might not be correct. You may need to edit these.
+::
+if not defined MSVCDir (
+ call "C:\Program Files\Microsoft Developer Studio\vc98\bin\vcvars32.bat"
+ ::call "C:\Program Files\Microsoft Developer Studio\vc\bin\vcvars32.bat"
+ ::call c:\dev\devstudio60\vc98\bin\vcvars32.bat
+ if errorlevel 1 goto no_vcvars
+)
+
+echo.
echo Sit back and have a cup of coffee while this grinds through ;)
echo You asked for *everything*, remember?
echo.
-
title Building Tcl, please wait...
-if "%MSVCDir%" == "" call c:\dev\devstudio60\vc98\bin\vcvars32.bat
-::if "%MSVCDir%" == "" call "C:\Program Files\Microsoft Developer Studio\vc98\bin\vcvars32.bat"
-set INSTALLDIR=C:\Program Files\Tcl
+
+:: makefile.vc uses this for its default anyways, but show its use here
+:: just to be explicit and convey understanding to the user. Setting
+:: the INSTALLDIR envar prior to running this batchfile affects all builds.
+::
+if "%INSTALLDIR%" == "" set INSTALLDIR=C:\Program Files\Tcl
+
:: Build the normal stuff along with the help file.
::
-nmake -nologo -f makefile.vc release winhelp OPTS=none
+nmake -nologo -f makefile.vc release winhelp OPTS=none %1
if errorlevel 1 goto error
:: Build the static core, dlls and shell.
::
-nmake -nologo -f makefile.vc release OPTS=static
+nmake -nologo -f makefile.vc release OPTS=static %1
if errorlevel 1 goto error
:: Build the special static libraries that use the dynamic runtime.
::
-nmake -nologo -f makefile.vc core dlls OPTS=static,msvcrt
+nmake -nologo -f makefile.vc core dlls OPTS=static,msvcrt %1
if errorlevel 1 goto error
:: Build the core and shell for thread support.
::
-nmake -nologo -f makefile.vc shell OPTS=threads
+nmake -nologo -f makefile.vc shell OPTS=threads %1
if errorlevel 1 goto error
-:: Build a static, thread support core library (no shell).
+:: Build a static, thread support core library with a shell.
::
-nmake -nologo -f makefile.vc core OPTS=static,threads
+nmake -nologo -f makefile.vc shell OPTS=static,threads %1
if errorlevel 1 goto error
-:: Build the special static libraries the use the dynamic runtime,
+:: Build the special static libraries that use the dynamic runtime,
:: but now with thread support.
::
-nmake -nologo -f makefile.vc core dlls OPTS=static,msvcrt,threads
+nmake -nologo -f makefile.vc core dlls OPTS=static,msvcrt,threads %1
if errorlevel 1 goto error
goto end
:error
echo *** BOOM! ***
+goto end
+
+:no_vcvars
+echo vcvars32.bat not found. You'll need to edit this batch script.
+goto out
+
+:help
+title buildall.vc.bat help message
+echo usage:
+echo %0 : builds Tcl for all build types (do this first)
+echo %0 install : installs all the builds (do this second)
+echo.
+goto out
:end
-title Building Tcl, please wait...DONE!
+title Building Tcl, please wait... DONE!
echo DONE!
+goto out
+
+:out
pause
+title Command Prompt