2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 01:12:13 +00:00

Improve the detection logic so that it work under vc8 running a Win64 OS. It is now possible to build a 64bit variant of bjam with vc8. Document the new buid script syntax and the numerous bjam options.

[SVN r37055]
This commit is contained in:
Rene Rivera
2007-02-24 20:43:24 +00:00
parent e429e3cc64
commit 300be29a3b
2 changed files with 171 additions and 128 deletions

View File

@@ -2,7 +2,7 @@
[quickbook 1.3]
[version: 3.1.14]
[authors [Rivera, Rene], [Abrahams, David], [Prus, Vladimir]]
[copyright 2003 2004 2005 2006 Rene Rivera, David Abrahams, Vladimir Prus]
[copyright 2003 2004 2005 2006 2007 Rene Rivera, David Abrahams, Vladimir Prus]
[category tool-build]
[id jam]
[dirname jam]
@@ -111,7 +111,7 @@ The supported toolsets, and wether they are auto-detected, are:
[table Supported Toolsets
[[Script] [Platform] [Toolset] [Detection]]
[[Script] [Platform] [Toolset] [Detection and Notes]]
[ [=build.bat=] [Windows NT, 2000, and XP]
[ [@http://www.borland.com/bcppbuilder/freecompiler =borland=]\n
@@ -164,7 +164,6 @@ The supported toolsets, and wether they are auto-detected, are:
* =%MSVCDir%= is present in environment\n
* Common install locations: "=%ProgramFiles%\Microsoft Visual Studio=", "=%ProgramFiles%\Microsoft Visual C++="\n
* =CL.EXE= in =PATH=\n
* =VCVARS32.BAT= in =PATH=
] ]
[ [] []
@@ -175,17 +174,19 @@ The supported toolsets, and wether they are auto-detected, are:
* =%VCINSTALLDIR%= is present in environment\n
* Common install locations: "=%ProgramFiles%\Microsoft Visual Studio .NET=", "=%ProgramFiles%\Microsoft Visual Studio .NET 2003="\n
* =CL.EXE= in =PATH=\n
* =VCVARS32.BAT= in =PATH=
] ]
[ [] []
[ [@http://msdn.microsoft.com/visualc/ =vc8=]\n
Microsoft Visual C++ 8.x]
[ * =VCVARS32.BAT= or =VSVARS32.BAT= already configured\n
[Detection:\n
* =VCVARSALL.BAT= already configured\n
* =%VS80COMNTOOLS%= is present in environment\n
* Common install location: "=%ProgramFiles%\Microsoft Visual Studio 8="\n
* =CL.EXE= in =PATH=\n
* =VCVARS32.BAT= in =PATH=
\n
Notes:\n
* If =VCVARSALL.BAT= is called to set up the toolset, it is passed all the extra arguments, see below for what those arguments are. This can be used to build, for example, a Win64 specific version of =bjam=. Consult the VisualStudio documentation for what the possible argument values to the =VCVARSALL.BAT= are.
] ]
[ [=build.sh=] [Unix, Linux, Cygwin, etc.]
@@ -272,15 +273,46 @@ The supported toolsets, and wether they are auto-detected, are:
The built executables are placed in a subdirectory specific to your platform. For example, in Linux running on an Intel x86 compatible chip, the executables are placed in: "=bin.linuxx86=". The =bjam[.exe]= executable can be used to invoke Boost.Build.
The build scripts support additional invocation arguments for use by developers of Boost.Jam. The extra arguments come after the toolset, and can take the form of "=--option=" or targets for the =build.jam= script:
The build scripts support additional invocation arguments for use by developers of Boost.Jam and for additional setup of the toolset. The extra arguments come after the toolset:
* Arguments not in the form of an option, before option arguments, are used for extra setup to toolset configuration scripts.
* Arguments of the form "=--option=", which are passed to the =build.jam= build script.
* Arguments not in the form of an option, after the options, which are targets for the =build.jam= script.
[pre
/build/ \[/toolset/\] \[--/option/+ /target/*\]
/build/ \[/toolset/\] \[/setup/\*\] \[--/option/+ /target/\*\]
]
There is currently only one available option, "=--debug=", which builds debugging versions of the executable. When built they are placed in their own directory "=bin./platform/.debug=". To specify targets without options, one can suply a special ignore option "=---=".
The arguments immediately after the toolset are passed directly to the setup script of the toolset, if available and if it needs to be invoked. This allows one to configure the toolset ass needed to do non-default builds of =bjam=. For example to build a Win64 version with =vc8=. See the toolset descriptiona above for when particular toolsets support this.
Currently there are two targets supported: =dist=, and =clean=. Respectively they: generate packages (compressed archives) as appropriate for distribution in the platform, or remove all the built executables and objects.
The arguments starting with the "=--option=" forms are passed to the =build.jam= script and are used to further customize what gets built. Options and targets supported by the =build.jam= script:
[variablelist
[[[^---]]
[Empty option when one wants to only specify a target.]]
[[[^--release]]
[The default, builds the optimized executable.]]
[[[^--debug]]
[Builds debugging versions of the executable. When built they are placed in their own directory "=bin./platform/.debug=".]]
[[[^--grammar]]
[Normally the Jam language grammar parsing files are not regenerated. This forces building of the grammar, although it may not force the regeneration of the grammar parser. If the parser is out of date it will be regenerated and subsequently built.]]
[[[^--with-python=/path/]]
[Enables Python integration, given a path to the Python libraries.]]
[[[^--gc]]
[Enables use of the Boehm Garbage Collector. The build will look for the Boehm-GC source in a "boehm_gc" subdirectory from the =bjam= sources.]]
[[[^--duma]]
[Enables use of the DUMA (Detect Uintended Memory Access) debugging memory allocator. The build expects to find the DUMA source files in a "duma" subdirectory from the =bjam= sources.]]
[[[^--toolset-root=/path/]]
[Indicates where the toolset used to build is located. This option is passed in by the bootstrap (=build.bat= or =build.sh=) script.]]
[[[^--show-locate-target]]
[For information, prints out where it will put the built executable.]]
[[[^--noassert]]
[Disable debug assertions, even if building the debug version of the executable.]]
[[[^dist]]
[Generate packages (compressed archives) as appropriate for distribution in the platform, if possible.]]
[[[^clean]]
[Remove all the built executables and objects.]]
]
[endsect]

View File

@@ -1,6 +1,6 @@
@ECHO OFF
REM ~ Copyright 2002-2005 Rene Rivera.
REM ~ Copyright 2002-2007 Rene Rivera.
REM ~ Distributed under the Boost Software License, Version 1.0.
REM ~ (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
@@ -10,6 +10,7 @@ goto Start
REM NOTE: The "setlocal & endlocal" construct is used to reset the errorlevel to 0.
REM NOTE: The "set _error_=" construct is used to set the errorlevel to 1
:Error_Print
REM Output an error message and set the errorlevel to indicate failure.
setlocal
@@ -25,6 +26,7 @@ set _error_=
endlocal
goto :eof
:Test_Path
REM Tests for the given file(executable) presence in the directories in the PATH
REM environment variable. Additionaly sets FOUND_PATH to the path of the
@@ -36,6 +38,7 @@ endlocal
if not errorlevel 1 set FOUND_PATH=%~dp$PATH:1
goto :eof
:Test_Option
REM Tests wether the given string is in the form of an option: "-*"
setlocal & endlocal
@@ -49,6 +52,12 @@ if not [-] == [%test:~0,1%] set _error_=
endlocal
goto :eof
:Call_If_Exists
if EXIST %1 call %*
goto :eof
:Guess_Toolset
REM Try and guess the toolset to bootstrap the build with...
REM Sets BOOST_JAM_TOOLSET to the first found toolset.
@@ -63,7 +72,7 @@ if NOT "_%VS80COMNTOOLS%_" == "__" (
set "BOOST_JAM_TOOLSET_ROOT=%VS80COMNTOOLS%..\..\VC\"
goto :eof)
setlocal & endlocal
if EXIST "%ProgramFiles%\Microsoft Visual Studio 8\VC\bin\VCVARS32.BAT" (
if EXIST "%ProgramFiles%\Microsoft Visual Studio 8\VC\VCVARSALL.BAT" (
set "BOOST_JAM_TOOLSET=vc8"
set "BOOST_JAM_TOOLSET_ROOT=%ProgramFiles%\Microsoft Visual Studio 8\VC\"
goto :eof)
@@ -152,6 +161,7 @@ setlocal & endlocal
call :Error_Print "Could not find a suitable toolset."
goto :eof
:Guess_Yacc
REM Tries to find bison or yacc in common places so we can build the grammar.
setlocal & endlocal
@@ -172,8 +182,10 @@ setlocal & endlocal
call :Error_Print "Could not find Yacc to build the Jam grammar."
goto :eof
:Start
set BOOST_JAM_TOOLSET=
set BOOST_JAM_ARGS=
REM If no arguments guess the toolset;
REM or if first argument is an option guess the toolset;
@@ -195,6 +207,7 @@ if "_%1_" == "__" (
)
if errorlevel 1 goto Finish
:Setup_Toolset
REM Setup the toolset command and options. This bit of code
REM needs to be flexible enough to handle both when
@@ -204,127 +217,125 @@ REM NOTE: The strange multiple "if ?? == _toolset_" tests are that way
REM because in BAT variables are subsituted only once during a single
REM command. A complete "if ... ( commands ) else ( commands )"
REM is a single command, even though it's in multiple lines here.
if "_%BOOST_JAM_TOOLSET%_" == "_metrowerks_" (
if NOT "_%CWFolder%_" == "__" (
set "BOOST_JAM_TOOLSET_ROOT=%CWFolder%\"
) )
if "_%BOOST_JAM_TOOLSET%_" == "_metrowerks_" (
if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
set "PATH=%BOOST_JAM_TOOLSET_ROOT%Other Metrowerks Tools\Command Line Tools;%PATH%"
)
set "BOOST_JAM_CC=mwcc -runtime ss -cwd include -DNT -lkernel32.lib -ladvapi32.lib -luser32.lib"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
:Setup_Args
if "_%1_" == "__" goto Config_Toolset
call :Test_Option "%1"
if errorlevel 1 (
set BOOST_JAM_ARGS=%BOOST_JAM_ARGS% %1
shift
goto Setup_Args
)
if "_%BOOST_JAM_TOOLSET%_" == "_msvc_" (
if NOT "_%MSVCDir%_" == "__" (
set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
) )
if "_%BOOST_JAM_TOOLSET%_" == "_msvc_" (
if EXIST "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" (
call "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" ) )
if "_%BOOST_JAM_TOOLSET%_" == "_msvc_" (
if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
:Config_Toolset
if NOT "_%BOOST_JAM_TOOLSET%_" == "_metrowerks_" goto :Skip_METROWERKS
if NOT "_%CWFolder%_" == "__" (
set "BOOST_JAM_TOOLSET_ROOT=%CWFolder%\"
)
set "PATH=%BOOST_JAM_TOOLSET_ROOT%Other Metrowerks Tools\Command Line Tools;%PATH%"
set "BOOST_JAM_CC=mwcc -runtime ss -cwd include -DNT -lkernel32.lib -ladvapi32.lib -luser32.lib"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
:Skip_METROWERKS
if NOT "_%BOOST_JAM_TOOLSET%_" == "_msvc_" goto :Skip_MSVC
if NOT "_%MSVCDir%_" == "__" (
set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
)
call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT"
if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
)
set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
set "_known_=1"
:Skip_MSVC
if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc7_" goto :Skip_VC7
if NOT "_%VS71COMNTOOLS%_" == "__" (
set "BOOST_JAM_TOOLSET_ROOT=%VS71COMNTOOLS%..\..\VC7\"
)
if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT"
if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
if "_%VCINSTALLDIR%_" == "__" (
set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
)
set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
set "_known_=1"
)
if "_%BOOST_JAM_TOOLSET%_" == "_vc7_" (
if NOT "_%MSVCDir%_" == "__" (
set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
) )
if "_%BOOST_JAM_TOOLSET%_" == "_vc7_" (
if EXIST "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" (
call "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" ) )
if "_%BOOST_JAM_TOOLSET%_" == "_vc7_" (
if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
set "_known_=1"
:Skip_VC7
if NOT "_%BOOST_JAM_TOOLSET%_" == "_vc8_" goto :Skip_VC8
if NOT "_%VS80COMNTOOLS%_" == "__" (
set "BOOST_JAM_TOOLSET_ROOT=%VS80COMNTOOLS%..\..\VC\"
)
if "_%VCINSTALLDIR%_" == "__" call :Call_If_Exists "%BOOST_JAM_TOOLSET_ROOT%VCVARSALL.BAT" %BOOST_JAM_ARGS%
if NOT "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
if "_%VCINSTALLDIR%_" == "__" (
set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
)
set "BOOST_JAM_CC=cl /nologo /GZ /Zi /MLd -DNT -DYYDEBUG kernel32.lib advapi32.lib user32.lib"
set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
set "_known_=1"
)
if "_%BOOST_JAM_TOOLSET%_" == "_vc8_" (
if NOT "_%MSVCDir%_" == "__" (
set "BOOST_JAM_TOOLSET_ROOT=%MSVCDir%\"
) )
if "_%BOOST_JAM_TOOLSET%_" == "_vc8_" (
if EXIST "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" (
call "%BOOST_JAM_TOOLSET_ROOT%bin\VCVARS32.BAT" ) )
if "_%BOOST_JAM_TOOLSET%_" == "_vc8_" (
if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
)
set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
set "_known_=1"
)
if "_%BOOST_JAM_TOOLSET%_" == "_borland_" (
if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
call :Test_Path bcc32.exe ) )
if "_%BOOST_JAM_TOOLSET%_" == "_borland_" (
if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
if not errorlevel 1 (
set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
) ) )
if "_%BOOST_JAM_TOOLSET%_" == "_borland_" (
if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
set "PATH=%BOOST_JAM_TOOLSET_ROOT%Bin;%PATH%"
)
set "BOOST_JAM_CC=bcc32 -WC -w- -q "-I%BOOST_JAM_TOOLSET_ROOT%Include" "-L%BOOST_JAM_TOOLSET_ROOT%Lib" /DNT -nbootstrap"
set "BOOST_JAM_OPT_JAM=-ejam0"
set "BOOST_JAM_OPT_MKJAMBASE=-emkjambasejam0"
set "BOOST_JAM_OPT_YYACC=-eyyacc0"
set "_known_=1"
)
if "_%BOOST_JAM_TOOLSET%_" == "_como_" (
set "BOOST_JAM_CC=como -DNT"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
)
if "_%BOOST_JAM_TOOLSET%_" == "_gcc_" (
set "BOOST_JAM_CC=gcc -DNT"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
)
if "_%BOOST_JAM_TOOLSET%_" == "_gcc-nocygwin_" (
set "BOOST_JAM_CC=gcc -DNT -mno-cygwin"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
)
if "_%BOOST_JAM_TOOLSET%_" == "_intel-win32_" (
set "BOOST_JAM_CC=icl -DNT /nologo kernel32.lib advapi32.lib user32.lib"
set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
set "_known_=1"
)
if "_%BOOST_JAM_TOOLSET%_" == "_mingw_" (
if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
)
set "BOOST_JAM_CC=gcc -DNT"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
)
set "BOOST_JAM_CC=cl /nologo /RTC1 /Zi /MTd -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib"
set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
set "_known_=1"
:Skip_VC8
if NOT "_%BOOST_JAM_TOOLSET%_" == "_borland_" goto :Skip_BORLAND
if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
call :Test_Path bcc32.exe )
if "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
if not errorlevel 1 (
set "BOOST_JAM_TOOLSET_ROOT=%FOUND_PATH%..\"
) )
if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
set "PATH=%BOOST_JAM_TOOLSET_ROOT%Bin;%PATH%"
)
set "BOOST_JAM_CC=bcc32 -WC -w- -q -I%BOOST_JAM_TOOLSET_ROOT%Include -L%BOOST_JAM_TOOLSET_ROOT%Lib /DNT -nbootstrap"
set "BOOST_JAM_OPT_JAM=-ejam0"
set "BOOST_JAM_OPT_MKJAMBASE=-emkjambasejam0"
set "BOOST_JAM_OPT_YYACC=-eyyacc0"
set "_known_=1"
:Skip_BORLAND
if NOT "_%BOOST_JAM_TOOLSET%_" == "_como_" goto :Skip_COMO
set "BOOST_JAM_CC=como -DNT"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
:Skip_COMO
if NOT "_%BOOST_JAM_TOOLSET%_" == "_gcc_" goto :Skip_GCC
set "BOOST_JAM_CC=gcc -DNT"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
:Skip_GCC
if NOT "_%BOOST_JAM_TOOLSET%_" == "_gcc-nocygwin_" goto :Skip_GCC_NOCYGWIN
set "BOOST_JAM_CC=gcc -DNT -mno-cygwin"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
:Skip_GCC_NOCYGWIN
if NOT "_%BOOST_JAM_TOOLSET%_" == "_intel-win32_" goto :Skip_INTEL_WIN32
set "BOOST_JAM_CC=icl -DNT /nologo kernel32.lib advapi32.lib user32.lib"
set "BOOST_JAM_OPT_JAM=/Febootstrap\jam0"
set "BOOST_JAM_OPT_MKJAMBASE=/Febootstrap\mkjambase0"
set "BOOST_JAM_OPT_YYACC=/Febootstrap\yyacc0"
set "_known_=1"
:Skip_INTEL_WIN32
if NOT "_%BOOST_JAM_TOOLSET%_" == "_mingw_" goto :Skip_MINGW
if not "_%BOOST_JAM_TOOLSET_ROOT%_" == "__" (
set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
)
set "BOOST_JAM_CC=gcc -DNT"
set "BOOST_JAM_OPT_JAM=-o bootstrap\jam0.exe"
set "BOOST_JAM_OPT_MKJAMBASE=-o bootstrap\mkjambase0.exe"
set "BOOST_JAM_OPT_YYACC=-o bootstrap\yyacc0.exe"
set "_known_=1"
:Skip_MINGW
setlocal & endlocal
if "_%_known_%_" == "__" (
call :Error_Print "Unknown toolset: %BOOST_JAM_TOOLSET%"
)