···77 ** For GNU/Linux +
88 The GNU C Compiler (`gcc`) is recommended as the bytecode interpreter takes
99 advantage of GCC-specific features to enhance performance. GCC is the standard
1010- compiler under Linux and many other systems.
1010+ compiler under Linux and many other systems. Clang (`clang`) should also be a
1111+ safe choice.
11121213 ** For BSDs +
1313- `clang` is the default C compiler on BSDs - also works fine.
1414+ Clang (`clang`) is the default C compiler on BSDs - also works fine.
14151516 ** For macOS +
1616- `clang` is the default C compiler under macOS. If macOS complains
1717- no C compiler was installed while OCaml is building, please run
1818- command `xcode-select --install` to install command-line tools and
1919- required libraries and header files.
1717+ Apple Clang (`clang`) is the default C compiler under macOS. If macOS
1818+ complains that no C compiler is installed while OCaml is building, run
1919+ command `xcode-select --install` to install command-line tools, required
2020+ libraries, and header files.
20212122 ** For other Unix-like systems +
2223 It is recommended to use `gcc` or `clang` instead of the C compiler
···2627 To produce native Windows executables from OCaml sources, you need to use
2728 the MSVC or MinGW-w64 ports of OCaml, described in file
2829 xref:README.win32.adoc[]. +
2929- For a more Unix-like experience, you can use WSL, the
3030- https://aka.ms/wsl[Windows Subsystem for Linux], or the
3131- https://www.cygwin.com/[Cygwin environment]. You will need the
3030+ For a more Unix-like experience, you can use the
3131+ https://aka.ms/wsl[Windows Subsystem for Linux] (WSL), or the
3232+ https://www.cygwin.com/[Cygwin environment]. With Cygwin, you will need the
3233 GCC compiler (package `gcc-core` or `gcc`).
33343434-* GNU `make`, as well as POSIX-compatible `awk` and `sed` are required.
3535+* GNU Make (`make` or `gmake`), as well as POSIX-compatible `awk` and `sed` are
3636+ required.
35373638* A POSIX-compatible `diff` is necessary to run the test suite.
3739···6870./configure --help
6971----
70727171-Some options or variables like LDLIBS may not be taken into account
7373+Some options or variables like `LDLIBS` may not be taken into account
7274by the OCaml build system at the moment. Please report an issue if you
7375discover such a variable or option and this causes troubles to you.
7476···9597./configure CC=xlc
9698----
9799+
9898-By default, build is 32-bit. For 64-bit build, please set environment variable `OBJECT_MODE=64`
100100+By default, the build is 32-bit. For the 64-bit build, set the environment variable `OBJECT_MODE=64`
99101 for _both_ `configure` and `make world` phases. Note, if this variable is set for only one phase,
100102 your build will break (`ocamlrun` segfaults).
101103···107109----
108110./configure CC="cc -m64"
109111----
110110-+
112112+111113If something goes wrong during the automatic configuration, or if the generated
112114files cause errors later on, then look at the template files:
113113-+
115115+114116----
115117Makefile.config.in
116118Makefile.build_config.in
117119runtime/caml/m.h.in
118120runtime/caml/s.h.in
119121----
120120-+
122122+121123for guidance on how to edit the generated files by hand.
122124123125== Building the compiler
···195197this file.
196198197199Check the files `m.h` and `s.h` in `runtime/caml/`.
198198-Wrong endianness or alignment constraints in `machine.h` will
200200+Wrong endianness or alignment constraints in `m.h` will
199201immediately crash the bytecode interpreter.
200202201203If you get a "segmentation violation" signal, check the limits on the stack size