2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-03 09:02:11 +00:00

Update docs for current build.sh reality.

This commit is contained in:
Rene Rivera
2021-02-01 08:54:03 -06:00
parent acca9f83a8
commit b02801596e
2 changed files with 75 additions and 117 deletions

View File

@@ -60,7 +60,9 @@ The supported toolsets, and whether they are auto-detected, are:
|Script |Platform |Toolset |Detection and Notes
|`build.bat`
|Windows NT, 2000, and XP
|Windows
|http://www.codegear.com/downloads/free/cppbuilder[`borland`],
http://www.borland.com/[Borland] {CPP}Builder (BCC 5.5)
a|
@@ -129,139 +131,96 @@ example, a Win64 specific version of `b2`. Consult the VisualStudio
documentation for what the possible argument values to the `VCVARSALL.BAT`
are.
|`build.sh` |Unix, Linux, Cygwin, etc. |http://www.hp.com/go/c++[`acc`],
HP-UX aCC
a|
* `aCC` in `PATH`
* `uname` is "HP-UX"
|`build.sh`
|Unix, Linux, Cygwin, Windows Bash, etc.
| | |http://www.comeaucomputing.com/[`como`], Comeau Computing C/{CPP}
|`gcc`, GNU GCC
a|
* `g++` in `PATH`
| | |`clang`, Clang LLVM
a|
* `clang++` in `PATH`
| | |`intel-linux`, Intel {CPP} (oneAPI) for Linux
a|
* `icpx` in `PATH`
* `icc` in `PATH`
* `icpc` in `PATH`
* `setvars.sh` in common install locations: `$HOME/intel/oneapi`,
`/opt/intel/oneapi`, `/opt/intel/inteloneapi`
* `iccvars.sh` in common install locations: `/opt/intel/cc/9.0/bin`,
`/opt/intel_cc_80/bin`
| |
|`mipspro`, SGI MIPSpro {CPP}
a|
* `uname` is "IRIX" or "IRIX64" and `CC` in `PATH`
| | |`true64cxx`, Compaq {CPP} Compiler for True64 UNIX
a|
* `uname` is "OSF1" and `cc` in `PATH`
| | |`qcc`, QNX Neutrino
a|
* `uname` is "QNX" and `QCC` in `PATH`
| | |`xlcpp` and `vacpp`, IBM VisualAge {CPP}
a|
* `uname` is "Linux" and `xlC_r` in `PATH` (`xlcpp` or `vacpp` depending on
machine endian)
* `uname` is "AIX" and `xlC_r` in `PATH` (`vacpp`)
| | |`pgi`, PGI Compilers
a|
* `pgc++` in `PATH`
| | |`pathscale`, Pathscale {CPP}
a|
* `pathCC` in `PATH`
| | |`como`, Comeau Computing C/{CPP}
a|
* `como` in `PATH`
| | |http://gcc.gnu.org/[`gcc`], GNU GCC
| | |`kylix`, Borland {CPP}
a|
* `gcc` in `PATH`
* `bc++` in `PATH` (`kylix`)
| |
|http://www.intel.com/software/products/compilers/c60l/[`intel-linux`],
Intel {CPP} for Linux
| | |`acc`, HP-UX aCC
a|
* `icc` in `PATH`
* Common install locations: `/opt/intel/cc/9.0`, `/opt/intel_cc_80`,
`/opt/intel/compiler70`, `/opt/intel/compiler60`, `/opt/intel/compiler50`
| | |`kcc`, Intel KAI {CPP}
a|
* `KCC` in `PATH`
| | |http://www.codegear.com/downloads/free/cppbuilder[`kylix`],
http://www.borland.com/[Borland] {CPP}Builder
a|
* `bc++` in `PATH`
| |
|http://www.sgi.com/developers/devtools/languages/mipspro.html[`mipspro`],
SGI MIPSpro C
a|
* `uname` is "IRIX" or "IRIX64"
* `aCC` in `PATH`
| | |`sunpro`, Sun Workshop 6 {CPP}
a|
* Standard install location: `/opt/SUNWspro`
| | |`qcc`, http://www.qnx.com/[QNX Neutrino]
a|
* `uname` is "QNX" and `qcc` in `PATH`
| | |http://www.tru64unix.compaq.com/cplus/[`true64cxx`], Compaq {CPP}
Compiler for True64 UNIX
a|
* `uname` is "OSF1"
| | |http://www.ibm.com/software/awdtools/vacpp/[`vacpp`], IBM VisualAge
{CPP}
a|
* `xlc` in `PATH`
| |MacOS X |http://developer.apple.com/tools/compilers.html[`darwin`],
Apple MacOS X GCC
a|
* `uname` is "Darwin"
| |Windows NT, 2000, and XP |http://www.mingw.org/[`mingw`], GNU
http://gcc.gnu.org/[GCC] as the http://www.mingw.org/[MinGW]
configuration with the MSYS shell
a|
* Common install location: `/mingw`
* Standard install location: `/opt/SUNWspro/bin/CC`
|===
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 `b2[.exe]`
executable can be used to invoke B2.
The built executables are placed in the `src/engine` directory.
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.
The `build.sh` script supports additional invocation options used to
control the the build and custom compilers:
----
build [toolset] [setup*] [--option+ target*]
build.sh [--option|--option=x] [toolset]
----
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 `b2`. For example to build a Win64 version with `vc8`. See the
toolset description above for when particular toolsets support this.
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:
`---`::
Empty option when one wants to only specify a target.
`--release`::
The default, builds the optimized executable.
`--help`::
Shows some help information, including these options.
`--verbose`::
Show messages about what this script is doing.
`--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 `b2`
sources.
`--duma`::
Enables use of the DUMA (Detect Unintended Memory Access) debugging
memory allocator. The build expects to find the DUMA source files in a
"duma" subdirectory from the `b2` 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.
Builds debugging versions of the executable. The default is to build an
optimized executable.
`--guess-toolset`::
Print the toolset we can detect for building. This is used by external
scripts, like the Boost Libraries main bootstrap script.
`--cxx=CXX`::
The compiler exec to use instead of the detected compiler exec.
`--cxxflags=CXXFLAGS`::
The compiler flags to use in addition to the flags for the detected
compiler.
[[jam.language]]
== Language

View File

@@ -235,8 +235,7 @@ check_toolset ()
if test_toolset pathscale && test_compiler pathCC ; then B2_TOOLSET=pathscale ; return ${TRUE} ; fi
# Como (como)
if test_toolset como && test_compiler como ; then B2_TOOLSET=como ; return ${TRUE} ; fi
# Borland C++ (kcc, kylix)
if test_toolset kcc && test_compiler KCC ; then B2_TOOLSET=kcc ; return ${TRUE} ; fi
# Borland C++ (kylix)
if test_toolset kylix && test_compiler bc++ -tC -q ; then B2_TOOLSET=kylix ; return ${TRUE} ; fi
# aCC (acc)
if test_toolset acc && test_compiler aCC -AA ; then B2_TOOLSET=acc ; return ${TRUE} ; fi