[TeamTalk 201]: [737] trunk/TeamTalk: Recoding of build scripts.
tk@edam.speech.cs.cmu.edu
tk at edam.speech.cs.cmu.edu
Wed Sep 5 23:58:44 EDT 2007
An HTML attachment was scrubbed...
URL: http://mailman.srv.cs.cmu.edu/pipermail/teamtalk-developers/attachments/20070905/7699d971/attachment-0001.html
-------------- next part --------------
Modified: trunk/TeamTalk/TeamTalkBuild.bat
===================================================================
--- trunk/TeamTalk/TeamTalkBuild.bat 2007-09-04 21:28:03 UTC (rev 736)
+++ trunk/TeamTalk/TeamTalkBuild.bat 2007-09-06 03:58:42 UTC (rev 737)
@@ -1,8 +1,7 @@
@echo off
-:: If Netbeans and/or Java is updated change the NetBeans and/or version to the current version of NetBeans as the default folder name will likely change.
+:: If Netbeans is updated change the NetBeans version to the current version of NetBeans as the default folder name will likely change.
set NetBeansVer=5.5.1
-set JDKVer=1.6.0_02
:Check to make sure the file is not running with a wrong working directory
title TeamTalk Code Build - Win32
@@ -21,49 +20,52 @@
:Build the Visual Studio solutions
-set VSDrive=Non-Existent
+::Get the home directory of Visual Studio
+start /w regedit /e reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0
+type reg1.txt | find """InstallDir""=" > reg2.txt
+if errorlevel 1 goto VSERROR
+for /f "tokens=2 delims==" %%x in (reg2.txt) do set VSTemp=%%~x
+if errorlevel 1 goto VSERROR
+echo Visual Studio 8.0 home path (per registry) = %VSTemp%
+::del reg1.txt
+::del reg2.txt
-IF EXIST "A:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=A
-IF EXIST "B:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=B
-IF EXIST "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=C
-IF EXIST "D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=D
-IF EXIST "E:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=E
-IF EXIST "F:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=F
-IF EXIST "G:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=G
-IF EXIST "H:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=H
-IF EXIST "I:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=I
-IF EXIST "J:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=J
-IF EXIST "K:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=K
-IF EXIST "L:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=L
-IF EXIST "M:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=M
-IF EXIST "N:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=N
-IF EXIST "O:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=O
-IF EXIST "P:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=P
-IF EXIST "Q:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=Q
-IF EXIST "R:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=R
-IF EXIST "S:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=S
-IF EXIST "T:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=T
-IF EXIST "U:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=U
-IF EXIST "V:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=V
-IF EXIST "W:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=W
-IF EXIST "X:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=X
-IF EXIST "Y:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=Y
-IF EXIST "Z:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=Z
+::Convert double backslashes to single backslashes
+set VSHome=
+:VSWHILE
+ if "%VSTemp%"=="" goto VSWEND
+ if not "%VSHome%"=="" set VSHome=%VSHome%\
+ for /f "delims=\" %%x in ("%VSTemp%") do set VSHome=%VSHome%%%x
+ for /f "tokens=1,* delims=\" %%x in ("%VSTemp%") do set VSTemp=%%y
+ goto VSWHILE
+:VSWEND
+set VSTemp=
+echo Visual Studio 8.0 home path (long, with spaces) = %VSHome%
-IF NOT VSDrive == "Non-Existent" echo Building TeamTalk Agents -- This may take 3-9 Minutes, Please Wait...
-IF NOT VSDrive == "Non-Existent" cd Agents
-IF NOT VSDrive == "Non-Existent" "%VSDrive%:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv" Agents.sln /Build Release
-IF NOT VSDrive == "Non-Existent" cd ..
+::Test the devenv path to see if there really is a devenv.exe
+if not exist "%VSHome%\devenv.exe" goto VSERROR
+::Compile
+cd Agents
+CALL "%VSHome%\devenv" Agents.sln /Build Release
+cd ..
+goto TOOLS
+
:: Do Not build TeamTalk Tools as there is nothing to build.
+:TOOLS build
::IF NOT VSDrive == "Non-Existent" echo Building TeamTalk Tools -- This may take 1-3 Minutes, Please Wait..
::IF NOT VSDrive == "Non-Existent" cd Tools
::IF NOT VSDrive == "Non-Existent" "%VSDrive%:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv" Tools.sln /Build Release
::IF NOT VSDrive == "Non-Existent" cd ..
-IF VSDrive == "Non-Existent" echo TeamTalk Tools and Agents can not be built because the location of Microsoft Visual Studio 2005 can not be determined
+goto Run
+:VSERROR
+echo Can't find Visual Studio 8.0. Is it installed?
+
+goto Pause
+
:Run MakeLM
echo Now Executing MakeLM
@@ -71,82 +73,146 @@
perl makelm.pl --projectname TeamTalk
cd ..\..
-:Java Compilation via Ant Environment Variable Setup
+::Find the current (most recent) Java version
+start /w regedit /e reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
+type reg1.txt | find "CurrentVersion" > reg2.txt
+if errorlevel 1 goto JAVAERROR
+for /f "tokens=2 delims==" %%x in (reg2.txt) do set JavaTemp=%%~x
+if errorlevel 1 goto JAVAERROR
+echo Java Version = %JavaTemp%
+del reg1.txt
+del reg2.txt
+::Get the home directory of the most recent Java
+start /w regedit /e reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%"
+type reg1.txt | find "JavaHome" > reg2.txt
+if errorlevel 1 goto JAVAERROR
+for /f "tokens=2 delims==" %%x in (reg2.txt) do set JavaTemp=%%~x
+if errorlevel 1 goto JAVAERROR
+echo Java home path (per registry) = %JavaTemp%
+del reg1.txt
+del reg2.txt
-set JavaDrive=Non-Existent
+::Convert double backslashes to single backslashes
+set JavaHome=
+:WHILE
+ if "%JavaTemp%"=="" goto WEND
+ if not "%JavaHome%"=="" set JavaHome=%JavaHome%\
+ for /f "delims=\" %%x in ("%JavaTemp%") do set JavaHome=%JavaHome%%%x
+ for /f "tokens=1,* delims=\" %%x in ("%JavaTemp%") do set JavaTemp=%%y
+ goto WHILE
+:WEND
+set JavaTemp=
+echo Java home path (long, with spaces) = %JavaHome%
-IF EXIST "A:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=A
-IF EXIST "B:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=B
-IF EXIST "C:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=C
-IF EXIST "D:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=D
-IF EXIST "E:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=E
-IF EXIST "F:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=F
-IF EXIST "G:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=G
-IF EXIST "H:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=H
-IF EXIST "I:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=I
-IF EXIST "J:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=J
-IF EXIST "K:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=K
-IF EXIST "L:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=L
-IF EXIST "M:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=M
-IF EXIST "N:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=N
-IF EXIST "O:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=O
-IF EXIST "P:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=P
-IF EXIST "Q:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=Q
-IF EXIST "R:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=R
-IF EXIST "S:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=S
-IF EXIST "T:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=T
-IF EXIST "U:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=U
-IF EXIST "V:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=V
-IF EXIST "W:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=W
-IF EXIST "X:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=X
-IF EXIST "Y:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=Y
-IF EXIST "Z:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=Z
+::Convert long path (with spaces) into a short path
+::for %%x in ("%JavaHome%") do set JavaHome=%%~dpsx
+::echo Java home path (short path, no spaces) = %JavaHome%
-IF NOT %JavaDrive% == "Non-Existent" set JAVA_HOME=%JavaDrive%:\Program Files\Java\jdk%JDKVer%
+::Test the java path to see if there really is a javac.exe
+IF NOT EXIST "%JavaHome%\bin\javac.exe" goto JAVAERROR
-:Clean Up Before Doing the Ant Compilation which Ends the Script
-:: ---------------------
-:: Remove the environment variables
+:Java Compilation via Ant Environment Variable Setup
-set VSDrive=
-set JavaDrive=
-set JDKVer=
+set JAVA_HOME=%JavaHome%
:Ant Compilation
-set NetBeansDrive=Non-Existent
+FOR %%d in (C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A, B) DO IF EXIST "%%d:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" goto NB%%d
-IF EXIST "A:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "A:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "B:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "B:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "C:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "C:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "D:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "D:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "E:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "E:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "F:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "F:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "G:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "G:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "H:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "H:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "I:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "I:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "J:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "J:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "K:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "K:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "L:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "L:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "M:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "M:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "N:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "N:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "O:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "O:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "P:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "P:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "Q:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "Q:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "R:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "R:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "S:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "S:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "T:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "T:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "U:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "U:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "V:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "V:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "W:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "W:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "X:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "X:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "Y:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "Y:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "Z:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "Z:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
+goto NETBEANSERROR
+:NBA
+SET NetBeansDrive=A
+goto JBUILD
+:NBB
+SET NetBeansDrive=B
+goto JBUILD
+:NBC
+SET NetBeansDrive=C
+goto JBUILD
+:NBD
+SET NetBeansDrive=D
+goto JBUILD
+:NBE
+SET NetBeansDrive=E
+goto JBUILD
+:NBF
+SET NetBeansDrive=F
+goto JBUILD
+:NBG
+SET NetBeansDrive=G
+goto JBUILD
+:NBH
+SET NetBeansDrive=H
+goto JBUILD
+:NBI
+SET NetBeansDrive=I
+goto JBUILD
+:NBJ
+SET NetBeansDrive=J
+goto JBUILD
+:NBK
+SET NetBeansDrive=K
+goto JBUILD
+:NBL
+SET NetBeansDrive=L
+goto JBUILD
+:NBM
+SET NetBeansDrive=M
+goto JBUILD
+:NBN
+SET NetBeansDrive=N
+goto JBUILD
+:NBO
+SET NetBeansDrive=O
+goto JBUILD
+:NBP
+SET NetBeansDrive=P
+goto JBUILD
+:NBQ
+SET NetBeansDrive=Q
+goto JBUILD
+:NBR
+SET NetBeansDrive=R
+goto JBUILD
+:NBS
+SET NetBeansDrive=S
+goto JBUILD
+:NBT
+SET NetBeansDrive=T
+goto JBUILD
+:NBU
+SET NetBeansDrive=U
+goto JBUILD
+:NBV
+SET NetBeansDrive=V
+goto JBUILD
+:NBW
+SET NetBeansDrive=W
+goto JBUILD
+:NBX
+SET NetBeansDrive=X
+goto JBUILD
+:NBY
+SET NetBeansDrive=Y
+goto JBUILD
+:NBZ
+SET NetBeansDrive=Z
+goto JBUILD
+
+:JBUILD
+CALL "%NetBeansDrive%:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
+
+goto Pause
+
+:JAVAERROR
+echo Can't find Java Development Kit. Is it installed?
+goto Pause
+
+:NETBEANSERROR
echo The Pen Decoder can not be built because the location of NetBeans %NetBeansVer% can not be determined.
-:: Don't display the message that the script was run in the wrong working directory as that was not the case
goto Pause
:Error message that says that the script was run outside of the TeamTalk directory.
Modified: trunk/TeamTalk/TeamTalkRebuild.bat
===================================================================
--- trunk/TeamTalk/TeamTalkRebuild.bat 2007-09-04 21:28:03 UTC (rev 736)
+++ trunk/TeamTalk/TeamTalkRebuild.bat 2007-09-06 03:58:42 UTC (rev 737)
@@ -1,11 +1,10 @@
@echo off
-:: If Netbeans and/or Java is updated change the NetBeans and/or version to the current version of NetBeans as the default folder name will likely change.
+:: If Netbeans is updated change the NetBeans version to the current version of NetBeans as the default folder name will likely change.
set NetBeansVer=5.5.1
-set JDKVer=1.6.0_02
:Check to make sure the file is not running with a wrong working directory
-title TeamTalk Code Rebuild Build - Win32
+title TeamTalk Code Build - Win32
IF NOT EXIST TeamTalkRebuild.bat goto Error
IF NOT EXIST Agents\Agents.sln goto Error
IF NOT EXIST Tools\Tools.sln goto Error
@@ -13,7 +12,7 @@
:Make directories for logs, temp files, and builds if they do not exist already
echo Creating Working Directories
-If NOT EXIST logs\nul mkdir logs > nul
+IF NOT EXIST logs\nul mkdir logs > nul
IF NOT EXIST bin\nul mkdir bin > nul
cd bin
IF NOT EXIST x86-nt\nul mkdir x86-nt > nul
@@ -21,134 +20,199 @@
:Build the Visual Studio solutions
-set VSDrive=Non-Existent
+::Get the home directory of Visual Studio
+start /w regedit /e reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0
+type reg1.txt | find """InstallDir""=" > reg2.txt
+if errorlevel 1 goto VSERROR
+for /f "tokens=2 delims==" %%x in (reg2.txt) do set VSTemp=%%~x
+if errorlevel 1 goto VSERROR
+echo Visual Studio 8.0 home path (per registry) = %VSTemp%
+::del reg1.txt
+::del reg2.txt
-IF EXIST "A:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=A
-IF EXIST "B:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=B
-IF EXIST "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=C
-IF EXIST "D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=D
-IF EXIST "E:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=E
-IF EXIST "F:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=F
-IF EXIST "G:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=G
-IF EXIST "H:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=H
-IF EXIST "I:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=I
-IF EXIST "J:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=J
-IF EXIST "K:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=K
-IF EXIST "L:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=L
-IF EXIST "M:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=M
-IF EXIST "N:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=N
-IF EXIST "O:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=O
-IF EXIST "P:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=P
-IF EXIST "Q:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=Q
-IF EXIST "R:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=R
-IF EXIST "S:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=S
-IF EXIST "T:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=T
-IF EXIST "U:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=U
-IF EXIST "V:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=V
-IF EXIST "W:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=W
-IF EXIST "X:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=X
-IF EXIST "Y:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=Y
-IF EXIST "Z:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com" set VSDrive=Z
+::Convert double backslashes to single backslashes
+set VSHome=
+:VSWHILE
+ if "%VSTemp%"=="" goto VSWEND
+ if not "%VSHome%"=="" set VSHome=%VSHome%\
+ for /f "delims=\" %%x in ("%VSTemp%") do set VSHome=%VSHome%%%x
+ for /f "tokens=1,* delims=\" %%x in ("%VSTemp%") do set VSTemp=%%y
+ goto VSWHILE
+:VSWEND
+set VSTemp=
+echo Visual Studio 8.0 home path (long, with spaces) = %VSHome%
-IF NOT VSDrive == "Non-Existent" echo Building TeamTalk Agents -- This may take 3-9 Minutes, Please Wait...
-IF NOT VSDrive == "Non-Existent" cd Agents
-IF NOT VSDrive == "Non-Existent" "%VSDrive%:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv" Agents.sln /Reuild Release
-IF NOT VSDrive == "Non-Existent" cd ..
+::Test the devenv path to see if there really is a devenv.exe
+if not exist "%VSHome%\devenv.exe" goto VSERROR
+::Compile
+cd Agents
+CALL "%VSHome%\devenv" Agents.sln /Rebuild Release
+cd ..
+goto TOOLS
+
:: Do Not build TeamTalk Tools as there is nothing to build.
+:TOOLS build
::IF NOT VSDrive == "Non-Existent" echo Building TeamTalk Tools -- This may take 1-3 Minutes, Please Wait..
::IF NOT VSDrive == "Non-Existent" cd Tools
::IF NOT VSDrive == "Non-Existent" "%VSDrive%:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv" Tools.sln /Rebuild Release
::IF NOT VSDrive == "Non-Existent" cd ..
-IF VSDrive == "Non-Existent" echo TeamTalk Tools and Agents can not be built because the location of Microsoft Visual Studio 2005 can not be determined
+goto Run
+:VSERROR
+echo Can't find Visual Studio 8.0. Is it installed?
+
+goto Pause
+
:Run MakeLM
echo Now Executing MakeLM
cd Tools\MakeLM
-perl makelm.pl
+perl makelm.pl --projectname TeamTalk
cd ..\..
-:Java Compilation via Ant Environment Variable Setup
+::Find the current (most recent) Java version
+start /w regedit /e reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
+type reg1.txt | find "CurrentVersion" > reg2.txt
+if errorlevel 1 goto JAVAERROR
+for /f "tokens=2 delims==" %%x in (reg2.txt) do set JavaTemp=%%~x
+if errorlevel 1 goto JAVAERROR
+echo Java Version = %JavaTemp%
+del reg1.txt
+del reg2.txt
+::Get the home directory of the most recent Java
+start /w regedit /e reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%"
+type reg1.txt | find "JavaHome" > reg2.txt
+if errorlevel 1 goto JAVAERROR
+for /f "tokens=2 delims==" %%x in (reg2.txt) do set JavaTemp=%%~x
+if errorlevel 1 goto JAVAERROR
+echo Java home path (per registry) = %JavaTemp%
+del reg1.txt
+del reg2.txt
-set JavaDrive=Non-Existent
+::Convert double backslashes to single backslashes
+set JavaHome=
+:WHILE
+ if "%JavaTemp%"=="" goto WEND
+ if not "%JavaHome%"=="" set JavaHome=%JavaHome%\
+ for /f "delims=\" %%x in ("%JavaTemp%") do set JavaHome=%JavaHome%%%x
+ for /f "tokens=1,* delims=\" %%x in ("%JavaTemp%") do set JavaTemp=%%y
+ goto WHILE
+:WEND
+set JavaTemp=
+echo Java home path (long, with spaces) = %JavaHome%
-IF EXIST "A:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=A
-IF EXIST "B:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=B
-IF EXIST "C:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=C
-IF EXIST "D:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=D
-IF EXIST "E:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=E
-IF EXIST "F:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=F
-IF EXIST "G:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=G
-IF EXIST "H:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=H
-IF EXIST "I:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=I
-IF EXIST "J:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=J
-IF EXIST "K:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=K
-IF EXIST "L:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=L
-IF EXIST "M:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=M
-IF EXIST "N:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=N
-IF EXIST "O:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=O
-IF EXIST "P:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=P
-IF EXIST "Q:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=Q
-IF EXIST "R:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=R
-IF EXIST "S:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=S
-IF EXIST "T:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=T
-IF EXIST "U:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=U
-IF EXIST "V:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=V
-IF EXIST "W:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=W
-IF EXIST "X:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=X
-IF EXIST "Y:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=Y
-IF EXIST "Z:\Program Files\Java\jdk%JDKVer%\bin\javac.exe" set JavaDrive=Z
+::Convert long path (with spaces) into a short path
+::for %%x in ("%JavaHome%") do set JavaHome=%%~dpsx
+::echo Java home path (short path, no spaces) = %JavaHome%
-IF NOT %JavaDrive% == "Non-Existent" set JAVA_HOME=%JavaDrive%:\Program Files\Java\jdk%JDKVer%
+::Test the java path to see if there really is a javac.exe
+IF NOT EXIST "%JavaHome%\bin\javac.exe" goto JAVAERROR
-:Clean Up Before Doing the Ant Compilation which Ends the Script
-:: ---------------------
-:: Remove the environment variables
+:Java Compilation via Ant Environment Variable Setup
-set VSDrive=
-set JavaDrive=
-set JDKVer=
+set JAVA_HOME=%JavaHome%
:Ant Compilation
-set NetBeansDrive=Non-Existent
+FOR %%d in (C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A, B) DO IF EXIST "%%d:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" goto NB%%d
-rmdir Agents\PenDecoder\dist
+goto NETBEANSERROR
-IF EXIST "A:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "A:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "B:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "B:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "C:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "C:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "D:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "D:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "E:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "E:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "F:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "F:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "G:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "G:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "H:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "H:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "I:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "I:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "J:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "J:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "K:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "K:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "L:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "L:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "M:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "M:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "N:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "N:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "O:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "O:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "P:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "P:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "Q:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "Q:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "R:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "R:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "S:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "S:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "T:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "T:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "U:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "U:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "V:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "V:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "W:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "W:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "X:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "X:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "Y:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "Y:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
-IF EXIST "Z:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" "Z:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml
+:NBA
+SET NetBeansDrive=A
+goto JBUILD
+:NBB
+SET NetBeansDrive=B
+goto JBUILD
+:NBC
+SET NetBeansDrive=C
+goto JBUILD
+:NBD
+SET NetBeansDrive=D
+goto JBUILD
+:NBE
+SET NetBeansDrive=E
+goto JBUILD
+:NBF
+SET NetBeansDrive=F
+goto JBUILD
+:NBG
+SET NetBeansDrive=G
+goto JBUILD
+:NBH
+SET NetBeansDrive=H
+goto JBUILD
+:NBI
+SET NetBeansDrive=I
+goto JBUILD
+:NBJ
+SET NetBeansDrive=J
+goto JBUILD
+:NBK
+SET NetBeansDrive=K
+goto JBUILD
+:NBL
+SET NetBeansDrive=L
+goto JBUILD
+:NBM
+SET NetBeansDrive=M
+goto JBUILD
+:NBN
+SET NetBeansDrive=N
+goto JBUILD
+:NBO
+SET NetBeansDrive=O
+goto JBUILD
+:NBP
+SET NetBeansDrive=P
+goto JBUILD
+:NBQ
+SET NetBeansDrive=Q
+goto JBUILD
+:NBR
+SET NetBeansDrive=R
+goto JBUILD
+:NBS
+SET NetBeansDrive=S
+goto JBUILD
+:NBT
+SET NetBeansDrive=T
+goto JBUILD
+:NBU
+SET NetBeansDrive=U
+goto JBUILD
+:NBV
+SET NetBeansDrive=V
+goto JBUILD
+:NBW
+SET NetBeansDrive=W
+goto JBUILD
+:NBX
+SET NetBeansDrive=X
+goto JBUILD
+:NBY
+SET NetBeansDrive=Y
+goto JBUILD
+:NBZ
+SET NetBeansDrive=Z
+goto JBUILD
+:JBUILD
+CALL "%NetBeansDrive%:\Program Files\netbeans-%NetBeansVer%\ide7\ant\bin\ant.bat" -buildfile Agents\PenDecoder\build.xml clean default
+
+goto Pause
+
+:JAVAERROR
+echo Can't find Java Development Kit. Is it installed?
+goto Pause
+
+:NETBEANSERROR
echo The Pen Decoder can not be built because the location of NetBeans %NetBeansVer% can not be determined.
-:: Don't display the message that the script was run in the wrong working directory as that was not the case
goto Pause
:Error message that says that the script was run outside of the TeamTalk directory.
More information about the TeamTalk-developers
mailing list