diff options
Diffstat (limited to 'win/buildall.vc.bat')
-rw-r--r--[-rwxr-xr-x] | win/buildall.vc.bat | 99 |
1 files changed, 73 insertions, 26 deletions
diff --git a/win/buildall.vc.bat b/win/buildall.vc.bat index 383e774..0c9b3ac 100755..100644 --- a/win/buildall.vc.bat +++ b/win/buildall.vc.bat @@ -4,53 +4,100 @@ :: edit this (or make your own) for your needs and wants using :: the instructions for calling makefile.vc found in makefile.vc -echo Sit back and have a cup of coffee while this grinds through ;) -echo You asked for *everything*, remember? -echo. +set SYMBOLS= -title Building Tcl, please wait... +:OPTIONS +if "%1" == "/?" goto help +if /i "%1" == "/help" goto help +if %1.==symbols. goto SYMBOLS +if %1.==debug. goto SYMBOLS +goto OPTIONS_DONE -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 +:SYMBOLS + set SYMBOLS=symbols + shift + goto OPTIONS -:: Build the normal stuff along with the help file. -:: -nmake -nologo -f makefile.vc release winhelp OPTS=none -if errorlevel 1 goto error +:OPTIONS_DONE -:: Build the static core, dlls and shell. +:: reset errorlevel +cd > nul + +:: You might have installed your developer studio to add itself to the +:: path or have already run vcvars32.bat. Testing these envars proves +:: cl.exe and friends are in your path. :: -nmake -nologo -f makefile.vc release OPTS=static -if errorlevel 1 goto error +if defined VCINSTALLDIR (goto :startBuilding) +if defined MSDEVDIR (goto :startBuilding) +if defined MSVCDIR (goto :startBuilding) +if defined MSSDK (goto :startBuilding) +if defined WINDOWSSDKDIR (goto :startBuilding) -:: Build the special static libraries that use the dynamic runtime. +:: We need to run the development environment batch script that comes +:: with developer studio (v4,5,6,7,etc...) All have it. This path +:: might not be correct. You should call it yourself prior to running +:: this batchfile. :: -nmake -nologo -f makefile.vc core dlls OPTS=static,msvcrt -if errorlevel 1 goto error +call "C:\Program Files\Microsoft Developer Studio\vc98\bin\vcvars32.bat" +if errorlevel 1 (goto no_vcvars) + +:startBuilding + +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... -:: Build the core and shell for thread support. + +:: 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. :: -nmake -nologo -f makefile.vc shell OPTS=threads -if errorlevel 1 goto error +if "%INSTALLDIR%" == "" set INSTALLDIR=C:\Program Files\Tcl + -:: Build a static, thread support core library (no shell). +:: Build the normal stuff along with the help file. :: -nmake -nologo -f makefile.vc core OPTS=static,threads +set OPTS=threads +if not %SYMBOLS%.==. set OPTS=symbols,threads +nmake -nologo -f makefile.vc release winhelp OPTS=%OPTS% %1 if errorlevel 1 goto error -:: Build the special static libraries the use the dynamic runtime, -:: but now with thread support. +:: Build the static core and shell. :: -nmake -nologo -f makefile.vc core dlls OPTS=static,msvcrt,threads +set OPTS=static,msvcrt,threads +if not %SYMBOLS%.==. set OPTS=symbols,static,msvcrt,threads +nmake -nologo -f makefile.vc shell OPTS=%OPTS% %1 if errorlevel 1 goto error +set OPTS= +set SYMBOLS= goto end :error echo *** BOOM! *** +goto end + +:no_vcvars +echo vcvars32.bat was not run prior to this batchfile, nor are the MS tools in your path. +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 release builds (do this second) +echo %0 symbols : builds Tcl for all debugging build types +echo %0 symbols install : install all the debug builds. +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 |