33 :order 3}
44---
55
6- Janet can be configured by editing the source header @code`janetconf.h`. To build
7- Janet on certain platforms, disable features to save space, or integrated Janet
8- into certain environments, editing this file may be required, although in most
9- cases the default build of Janet should work.
6+ Janet can be configured by editing the source header
7+ @code`janetconf.h`. To build Janet on certain platforms, disable
8+ features to save space, or integrate Janet into certain environments,
9+ editing this file may be required, although in most cases the default
10+ build of Janet should work.
1011
1112Not all combinations of flags are guaranteed to work, although in most cases they should.
1213You should should probably run the test suite on a particular set of flags to verify that
@@ -38,8 +39,6 @@ Define this if you know the interpreter will only run in a single threaded progr
3839this define is set, global Janet state will use normal global C variables rather than thread local
3940variables.
4041
41- Setting this also disables the @code`thread/` module.
42- 
4342### @code`#define JANET_NO_DYNAMIC_MODULES`
4443
4544Define this to disable loading of dynamic modules via the @code`native` function. This also lets
@@ -48,15 +47,19 @@ without linking to @code`-ldl` on Posix.
4847
4948### @code`#define JANET_NO_ASSEMBLER`
5049
51- Define this to disable the functions @code`asm` and @code`disasm` in the core library. The assembler
52- is not needed to run most programs, can is useful for inspecting functions, debugging, and writing
53- a compiler for the Janet abstract machine.
50+ Define this to disable the functions @code`asm` and @code`disasm` in
51+ the core library. The assembler is not needed to run most programs,
52+ but can be useful for inspecting functions, debugging, and writing a
53+ compiler for the Janet abstract machine.
5454
5555### @code`#define JANET_NO_PEG`
5656
57- Define this to disable the @code`peg` module. The core Janet library should work without the peg module, and
58- be slightly smaller, but this flag is not recommended as the peg module itself is actually quite
59- small. This disables the functions @code`peg/match` and @code`peg/compile`.
57+ Define this to disable the @code`peg` module. The core Janet library
58+ should work without the peg module, and be slightly smaller, but this
59+ flag is not recommended as the peg module itself is actually quite
60+ small. This disables the functions @code`peg/match`,
61+ @code`peg/compile`, @code`peg/find`, @code`peg/find-all`,
62+ @code`peg/replace`, and @code`peg/replace-all`.
6063
6164### @code`#define JANET_NO_INT_TYPES`
6265
@@ -66,9 +69,10 @@ and unsigned 64 bit integers. The current implementation makes this module quite
6669
6770### @code`#define JANET_REDUCED_OS`
6871
69- Define this to compile the `os` module with only the bar minimum needed for @code`boot.janet`. This
70- is just @code`os/exit`, @code`os/getenv`, and @code`os/which`. All other functions in the @code`os`
71- module will be disabled.
72+ Define this to compile the `os` module with only the bare minimum
73+ needed for @code`boot.janet`. This is just @code`os/arch`,
74+ @code`os/compiler`, @code`os/exit`, and @code`os/which`. All other
75+ functions in the @code`os` module will be disabled.
7276
7377### @code `#define JANET_API __attribute__((visibility ("default")))`
7478
@@ -112,10 +116,14 @@ and only expands as needed. This means that setting this value to a lower value
112116
113117### @code`#define JANET_NO_NANBOX`
114118
115- Internally, Janet uses a technique called nanboxing to make each Janet value take less memory and allow the VM to be faster
116- (although Janet mainly uses the technique for the first reason). This technique, however, is not valid C of any kind, and will
117- only work correctly on some architectures. Many 64 bit architectures will have trouble with the nanboxing code, so it is by
118- default turned off on 64 bit, non x86 architectures. However, one may also want to turn off nanboxing for other reasons, so
119- this flag is exposed for that reason. If an unsupported architecture mistakenly tries to use nanboxing, this could be
120- considered a bug and the platform detection
121- macros in @code`janet.h` should be updated to disable nanboxing for that platform.
119+ Internally, Janet uses a technique called nanboxing to make each Janet
120+ value take less memory and allow the VM to be faster (although Janet
121+ mainly uses the technique for the first reason). This technique,
122+ however, is not valid C of any kind, and will only work correctly on
123+ some architectures. Many 64 bit architectures will have trouble with
124+ the nanboxing code, so it is by default turned off on 64 bit, non x86
125+ architectures. However, the flag is exposed because one may also want
126+ to turn off nanboxing for other reasons. If an unsupported
127+ architecture mistakenly tries to use nanboxing, this could be
128+ considered a bug and the platform detection macros in @code`janet.h`
129+ should be updated to disable nanboxing for that platform.
0 commit comments