3 REM ~ Copyright 2002-2017 Rene Rivera.
4 REM ~ Distributed under the Boost Software License, Version 1.0.
5 REM ~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
16 REM Setup the toolset command and options. This bit of code
17 REM needs to be flexible enough to handle both when
18 REM the toolset was guessed at and found, or when the toolset
19 REM was indicated in the command arguments.
20 REM NOTE: The strange multiple "if ?? == _toolset_" tests are that way
21 REM because in BAT variables are subsituted only once during a single
22 REM command. A complete "if ... else ..."
23 REM is a single command, even though it's in multiple lines here.
24 if NOT "_%BOOST_JAM_TOOLSET%_" == "_metrowerks_" goto Skip_METROWERKS
25 if NOT "_%CWFolder%_" == "__" (
26 set "BOOST_JAM_TOOLSET_ROOT=%CWFolder%\"
28 set "PATH=%BOOST_JAM_TOOLSET_ROOT%Other Metrowerks Tools\Command Line Tools;%PATH%"
29 set "BOOST_JAM_CC=mwcc -runtime ss -cwd include -DNT -lkernel32.lib -ladvapi32.lib -luser32.lib"
30 set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
31 set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
32 set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
35 if NOT "_%BOOST_JAM_TOOLSET%_" == "_msvc_" goto Skip_MSVC
36 if NOT "_%MSVCDir%_" == "__" (
37 set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
39 call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT"
40 if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
41 set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
43 set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
44 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
45 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
46 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
49 if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc7_" goto Skip_VC7
50 if NOT "_%VS71COMNTOOLS%_" == "__" (
51 set "BOOST_JAM_TOOLSET_ROOT=%VS71COMNTOOLS%..\..\VC7\"
53 if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT"
54 if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
55 if "_%VCINSTALLDIR%_" == "__" (
56 set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
58 set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
59 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
60 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
61 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
64 if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc8_" goto Skip_VC8
65 if NOT "_%VS80COMNTOOLS%_" == "__" (
66 set "BOOST_JAM_TOOLSET_ROOT=%VS80COMNTOOLS%..\..\VC\"
68 if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
69 if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
70 if "_%VCINSTALLDIR%_" == "__" (
71 set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
73 set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DWINVER=0x0501 -D_WIN32_WINNT=0x0501 -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
74 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
75 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
76 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
79 if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc9_" goto Skip_VC9
80 if NOT "_%VS90COMNTOOLS%_" == "__" (
81 set "BOOST_JAM_TOOLSET_ROOT=%VS90COMNTOOLS%..\..\VC\"
83 if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
84 if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
85 if "_%VCINSTALLDIR%_" == "__" (
86 set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
88 set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
89 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
90 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
91 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
94 if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc10_" goto Skip_VC10
95 if NOT "_%VS100COMNTOOLS%_" == "__" (
96 set "BOOST_JAM_TOOLSET_ROOT=%VS100COMNTOOLS%..\..\VC\"
98 if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
99 if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
100 if "_%VCINSTALLDIR%_" == "__" (
101 set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
103 set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
104 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
105 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
106 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
109 if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc11_" goto Skip_VC11
110 if NOT "_%VS110COMNTOOLS%_" == "__" (
111 set "BOOST_JAM_TOOLSET_ROOT=%VS110COMNTOOLS%..\..\VC\"
113 if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
114 if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
115 if "_%VCINSTALLDIR%_" == "__" (
116 set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
118 set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
119 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
120 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
121 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
124 if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc12_" goto Skip_VC12
125 if NOT "_%VS120COMNTOOLS%_" == "__" (
126 set "BOOST_JAM_TOOLSET_ROOT=%VS120COMNTOOLS%..\..\VC\"
129 if "_%BOOST_JAM_ARCH%_" == "__" set BOOST_JAM_ARCH=x86
130 set BOOST_JAM_ARGS=%BOOST_JAM_ARGS% %BOOST_JAM_ARCH%
132 if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
133 if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
134 if "_%VCINSTALLDIR%_" == "__" (
135 set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
137 set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
138 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
139 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
140 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
143 if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc14_" goto Skip_VC14
144 if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
145 if NOT "_%VS140COMNTOOLS%_" == "__" (
146 set "BOOST_JAM_TOOLSET_ROOT=%VS140COMNTOOLS%..\..\VC\"
149 if "_%BOOST_JAM_ARCH%_" == "__" set BOOST_JAM_ARCH=x86
150 set BOOST_JAM_ARGS=%BOOST_JAM_ARGS% %BOOST_JAM_ARCH%
152 if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
153 if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
154 if "_%VCINSTALLDIR%_" == "__" (
155 set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
157 set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
158 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
159 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
160 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
163 if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc141_" goto Skip_VC141
164 if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
165 if NOT "_%VS150COMNTOOLS%_" == "__" (
166 set "BOOST_JAM_TOOLSET_ROOT=%VS150COMNTOOLS%..\..\VC\"
169 if "_%BOOST_JAM_ARCH%_" == "__" set BOOST_JAM_ARCH=x86
170 set BOOST_JAM_ARGS=%BOOST_JAM_ARGS% %BOOST_JAM_ARCH%
172 if "_%VSINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%Auxiliary\Build\vcvarsall.bat" %BOOST_JAM_ARGS%
173 set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
174 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
175 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
176 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
179 if NOT "_%BOOST_JAM_TOOLSET%_" == "_borland_" goto Skip_BORLAND
180 if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
181 call :Test_Path bcc32.exe )
182 if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
183 if not errorlevel 1 (
184 set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
186 if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
187 set "PATH=%BOOST_JAM_TOOLSET_ROOT%Bin;%PATH%"
189 set "BOOST_JAM_CC=bcc32 -WC -w- -q -I%BOOST_JAM_TOOLSET_ROOT%Include -L%BOOST_JAM_TOOLSET_ROOT%Lib /DNT -nbootstrap"
190 set "BOOST_JAM_OPT_JAM=-ejam0"
191 set "BOOST_JAM_OPT_MKJAMBASE=-emkjambasejam0"
192 set "BOOST_JAM_OPT_YYACC=-eyyacc0"
195 if NOT "_%BOOST_JAM_TOOLSET%_" == "_como_" goto Skip_COMO
196 set "BOOST_JAM_CC=como -DNT"
197 set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
198 set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
199 set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
202 if NOT "_%BOOST_JAM_TOOLSET%_" == "_gcc_" goto Skip_GCC
203 set "BOOST_JAM_CC=gcc -DNT"
204 set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
205 set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
206 set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
209 if NOT "_%BOOST_JAM_TOOLSET%_" == "_gcc-nocygwin_" goto Skip_GCC_NOCYGWIN
210 set "BOOST_JAM_CC=gcc -DNT -mno-cygwin"
211 set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
212 set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
213 set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
216 if NOT "_%BOOST_JAM_TOOLSET%_" == "_intel-win32_" goto Skip_INTEL_WIN32
217 set "BOOST_JAM_CC=icl -DNT /nologo kernel32.lib advapi32.lib user32.lib"
218 set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
219 set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
220 set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
223 if NOT "_%BOOST_JAM_TOOLSET%_" == "_mingw_" goto Skip_MINGW
224 if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
225 set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
227 set "BOOST_JAM_CC=gcc -DNT"
228 set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
229 set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
230 set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"