summaryrefslogtreecommitdiffstats
path: root/win/buildall.vc.bat
diff options
context:
space:
mode:
Diffstat (limited to 'win/buildall.vc.bat')
-rwxr-xr-xwin/buildall.vc.bat104
1 files changed, 75 insertions, 29 deletions
diff --git a/win/buildall.vc.bat b/win/buildall.vc.bat
index dd69d09..0bd2888 100755
--- a/win/buildall.vc.bat
+++ b/win/buildall.vc.bat
@@ -4,58 +4,104 @@
:: 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 Tk, 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"
+:SYMBOLS
+ set SYMBOLS=symbols
+ shift
+ goto OPTIONS
-set INSTALLDIR=C:\Program Files\Tcl
+:OPTIONS_DONE
-:: Where is the Tcl source directory?
-set TCLDIR=..\..\tcl_head_stock
-::set TCLDIR=..\..\tcl8.4
+:: reset errorlevel
+cd > nul
-:: Build the normal stuff along with the help file.
+:: 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 winhelp OPTS=none
-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 static core, dlls and shell.
+:: 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 release OPTS=static
-if errorlevel 1 goto error
+call "C:\Program Files\Microsoft Developer Studio\vc98\bin\vcvars32.bat"
+if errorlevel 1 (goto no_vcvars)
-:: Build the special static libraries that use the dynamic runtime.
-::
-nmake -nologo -f makefile.vc core OPTS=static,msvcrt
-if errorlevel 1 goto error
+:startBuilding
-:: Build the core and shell for thread support.
+echo.
+echo Sit back and have a cup of coffee while this grinds through ;)
+echo You asked for *everything*, remember?
+echo.
+title Building Tk, please wait...
+
+
+:: 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 release OPTS=threads
-if errorlevel 1 goto error
+if "%INSTALLDIR%" == "" set INSTALLDIR=C:\Program Files\Tcl
+
+
+:: Where is the Tcl source directory?
+:: You can set the TCLDIR environment variable to your Tcl HEAD checkout
+if "%TCLDIR%" == "" set TCLDIR=..\..\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 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 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 Tk for all build types (do this first)
+echo %0 install : installs all the release builds (do this second)
+echo %0 symbols : builds Tk for all debugging build types
+echo %0 symbols install : install all the debug builds
+echo.
+goto out
:end
-title Building Tk, please wait...DONE!
+title Building Tk, please wait... DONE!
echo DONE!
+goto out
+
+:out
pause
+title Command Prompt