1@echo off
2::  This is an example batchfile for building everything. Please
3::  edit this (or make your own) for your needs and wants using
4::  the instructions for calling makefile.vc found in makefile.vc
5::
6::  RCS: @(#) $Id: buildall.vc.bat,v 1.9 2005/10/14 12:31:39 patthoyts Exp $
7
8set SYMBOLS=
9
10:OPTIONS
11if "%1" == "/?" goto help
12if /i "%1" == "/help" goto help
13if %1.==symbols. goto SYMBOLS
14if %1.==debug. goto SYMBOLS
15goto OPTIONS_DONE
16
17:SYMBOLS
18   set SYMBOLS=symbols
19   shift
20   goto OPTIONS
21
22:OPTIONS_DONE
23
24:: reset errorlevel
25cd > nul
26
27:: We need to run the development environment batch script that comes
28:: with developer studio (v4,5,6,7,etc...)  All have it.  These paths
29:: might not be correct.  You may need to edit these.
30::
31if not defined MSDevDir (
32    call "C:\Program Files\Microsoft Developer Studio\vc98\bin\vcvars32.bat"
33    ::call "C:\Program Files\Microsoft Developer Studio\vc\bin\vcvars32.bat"
34    ::call c:\dev\devstudio60\vc98\bin\vcvars32.bat
35    if errorlevel 1 goto no_vcvars
36)
37
38
39echo.
40echo Sit back and have a cup of coffee while this grinds through ;)
41echo You asked for *everything*, remember?
42echo.
43title Building Tcl, please wait...
44
45
46:: makefile.vc uses this for its default anyways, but show its use here
47:: just to be explicit and convey understanding to the user.  Setting
48:: the INSTALLDIR envar prior to running this batchfile affects all builds.
49::
50if "%INSTALLDIR%" == "" set INSTALLDIR=C:\Program Files\Tcl
51
52
53:: Build the normal stuff along with the help file.
54::
55set OPTS=none
56if not %SYMBOLS%.==. set OPTS=symbols
57nmake -nologo -f makefile.vc release winhelp OPTS=%OPTS% %1
58if errorlevel 1 goto error
59
60:: Build the static core, dlls and shell.
61::
62set OPTS=static
63if not %SYMBOLS%.==. set OPTS=symbols,static
64nmake -nologo -f makefile.vc release OPTS=%OPTS% %1
65if errorlevel 1 goto error
66
67:: Build the special static libraries that use the dynamic runtime.
68::
69set OPTS=static,msvcrt
70if not %SYMBOLS%.==. set OPTS=symbols,static,msvcrt
71nmake -nologo -f makefile.vc core dlls OPTS=%OPTS% %1
72if errorlevel 1 goto error
73
74:: Build the core and shell for thread support.
75::
76set OPTS=threads
77if not %SYMBOLS%.==. set OPTS=symbols,threads
78nmake -nologo -f makefile.vc shell OPTS=%OPTS% %1
79if errorlevel 1 goto error
80
81:: Build a static, thread support core library with a shell.
82::
83set OPTS=static,threads
84if not %SYMBOLS%.==. set OPTS=symbols,static,threads
85nmake -nologo -f makefile.vc shell OPTS=%OPTS% %1
86if errorlevel 1 goto error
87
88:: Build the special static libraries that use the dynamic runtime,
89:: but now with thread support.
90::
91set OPTS=static,msvcrt,threads
92if not %SYMBOLS%.==. set OPTS=symbols,static,msvcrt,threads
93nmake -nologo -f makefile.vc core dlls OPTS=%OPTS% %1
94if errorlevel 1 goto error
95
96set OPTS=
97set SYMBOLS=
98goto end
99
100:error
101echo *** BOOM! ***
102goto end
103
104:no_vcvars
105echo vcvars32.bat not found.  You'll need to edit this batch script.
106goto out
107
108:help
109title buildall.vc.bat help message
110echo usage:
111echo   %0           : builds Tcl for all build types (do this first)
112echo   %0 install   : installs all the release builds (do this second)
113echo   %0 symbols   : builds Tcl for all debugging build types
114echo   %0 symbols install : install all the debug builds.
115echo.
116goto out
117
118:end
119title Building Tcl, please wait... DONE!
120echo DONE!
121goto out
122
123:out
124pause
125title Command Prompt
126
127