Skip to content

Commit

Permalink
Documentation for Clang and Emscripten toolsets
Browse files Browse the repository at this point in the history
  • Loading branch information
Kojoley committed Jul 6, 2024
1 parent 3c0f563 commit 4350b2d
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 1 deletion.
3 changes: 3 additions & 0 deletions doc/src/reference.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -325,10 +325,13 @@ be used to explicitly request that compiler.
:leveloffset: +3
include::../../src/tools/acc.jam[tag=doc]
include::../../src/tools/borland.jam[tag=doc]
include::../../src/tools/clang-linux.jam[tag=doc]
include::../../src/tools/clang-win.jam[tag=doc]
include::../../src/tools/como.jam[tag=doc]
include::../../src/tools/cw.jam[tag=doc]
include::../../src/tools/dmc.jam[tag=doc]
include::../../src/tools/embarcadero.jam[tag=doc]
include::../../src/tools/emscripten.jam[tag=doc]
include::../../src/tools/gcc.jam[tag=doc]
include::../../src/tools/hp_cxx.jam[tag=doc]
include::../../src/tools/intel.jam[tag=doc]
Expand Down
10 changes: 10 additions & 0 deletions src/tools/clang-linux.jam
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,16 @@
# License Version 1.0. (See accompanying file LICENSE.txt or
# https://www.bfgroup.xyz/b2/LICENSE.txt)

#| tag::doc[]

[[bbv2.reference.tools.compiler.clang-linux]]
= Clang (GCC frontend)

The `clang-linux` module supports Clang with GCC frontend and has the same
options as link:#bbv2.reference.tools.compiler.gcc[`gcc`] toolset.

|# # end::doc[]

import common ;
import toolset ;
import feature ;
Expand Down
10 changes: 10 additions & 0 deletions src/tools/clang-win.jam
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@
# (See accompanying file LICENSE.txt
# or copy at https://www.bfgroup.xyz/b2/LICENSE.txt)

#| tag::doc[]

[[bbv2.reference.tools.compiler.clang-win]]
= Clang (MSVC frontend)

The `clang-win` module supports Clang with MSVC frontend and has the same
options as link:#bbv2.reference.tools.compiler.msvc[`msvc`] toolset.

|# # end::doc[]

import common ;
import errors ;
import feature ;
Expand Down
27 changes: 27 additions & 0 deletions src/tools/emscripten.jam
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,33 @@
# (See accompanying file LICENSE.txt
# or copy at https://www.bfgroup.xyz/b2/LICENSE.txt)

#| tag::doc[]

[[bbv2.reference.tools.compiler.emscripten]]
= Emscripten

The `emscripten` module supports https://emscripten.org[Emscripten toolchain]
and has the same options as link:#bbv2.reference.tools.compiler.clang-linux[`clang-linux`]
toolset.

WARNING: Emscripten toolset defaults to static linkage because it is what
generally expected and limitations of the toolchain itself
(`wasm-ld` does not support `rpath`; js launcher does not respect
`LD_LIBRARY_PATH`/`PATH` when looking for shared objects).

Additional link:#bbv2.overview.invocation.properties[features]
supported by Emscripten toolset exclusively:

`debug-symbols-source-map`::
Setting to `on` will enable source map generation, more info could be found in
https://emscripten.org/docs/tools_reference/emcc.html#emcc-gsource-map[Emscripten documentation].

`exception-handling-method`::
Setting to `js` will result in using Emscripten’s JavaScript-based exception
support instead of native WebAssembly exception handling.

|# # end::doc[]

import feature ;
import os ;
import toolset ;
Expand Down
2 changes: 1 addition & 1 deletion src/tools/gcc.jam
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#| tag::doc[]

[[bbv2.reference.tools.compiler.gcc]]
= GNU C++
= GCC - GNU Compiler Collection

The `gcc` module supports the http://gcc.gnu.org[GNU C++ compiler] on
Linux, a number of Unix-like system including SunOS and on Windows
Expand Down

0 comments on commit 4350b2d

Please sign in to comment.