Skip to content

Commit 10d2223

Browse files
committed
[GR-19691] Add jvm-ce-ntl build configuration
PullRequest: truffleruby/2849
2 parents 77fe339 + 009a4dc commit 10d2223

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

doc/contributor/workflow.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,17 @@ This warning is important.
125125

126126
### Building C Extensions more quickly
127127

128-
To speed up compilation of bundled C extensions, it is possible to use
129-
*native* toolchain launchers, which might save some build time.
130-
See the [related documentation](https://github.com/oracle/graal/blob/master/sulong/docs/contributor/TOOLCHAIN.md#using-a-prebuilt-graalvm-as-a-bootstrapping-toolchain)
131-
in Sulong to build and use them.
132-
133-
You can also use `export JT_CACHE_TOOLCHAIN=true` to have the native toolchain
134-
launchers built and used by `jt` automatically. `jt` will keep the 4 newest
135-
built toolchain launchers to avoid rebuilding when branches are switched.
128+
Speeding up compilation of C extensions can be achieved by using *native* toolchain launchers,
129+
instead of the Bash toolchain launchers used with the `jvm*` build configurations.
130+
131+
For bundled C extensions (that is, extensions under `src/main/c`),
132+
you can `export JT_CACHE_TOOLCHAIN=true` and that will then use native toolchain launchers for the
133+
[bootstrap toolchain](https://github.com/oracle/graal/blob/master/sulong/docs/contributor/TOOLCHAIN.md#using-a-prebuilt-graalvm-as-a-bootstrapping-toolchain).
134+
This has no effect after `jt build`.
135+
136+
For C extensions installed after `jt build` by e.g. `gem install` or `bundle install`,
137+
one can use the `jvm-ce-ntl` build configuration which includes *native* toolchain launchers,
138+
or use one of the `native*` build configuration (which also builds a native truffleruby launcher).
136139

137140
## Editors and IDEs
138141

mx.truffleruby/jvm-ce-ntl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# "ntl" stands for native toolchain launchers
2+
DYNAMIC_IMPORTS=/substratevm,/tools
3+
COMPONENTS=TruffleRuby,SubstrateVM,suite:tools
4+
FORCE_BASH_LAUNCHERS=truffleruby
5+
DISABLE_INSTALLABLES=false

0 commit comments

Comments
 (0)