···53535454 make bootstrap
55555656-= Problems
5656+== Problems
57575858If you notice that this procedure fails for a given change you are
5959trying to implement, please report it so that the procedure can be
6060updated to also cope with your change.
61616262-= Upstreaming
6262+== Upstreaming
63636464If you want to upstream your changes, indicate in the message of the
6565commit that the changes need a bootstrap. Perform the bootstrap and
6666commit the result of the bootstrap separately, after that commit.
67676868-= Adding, removing and renaming primitives
6868+== Adding, removing and renaming primitives
69697070Primitives can be added without having to bootstrap, however it is necessary
7171to repeat `make coldstart` in order to use your new primitive in the standard
···110110 make coreall
111111 make bootstrap
112112113113-= Bootstrap test script
113113+== Bootstrap test script
114114115115A script is provided (and used on Inria's continuous
116116integration infrastructure) to make sure the bootstrap works. This
+2-2
HACKING.adoc
···88If you already have a patch that you would like to contribute to the
99official distribution, please see link:CONTRIBUTING.md[].
10101111-=== Your first compiler modification
1111+== Your first compiler modification
121213131. Create a new git branch to store your changes.
1414+
···5353See also our <<tips,development tips and tricks>>, for example on how to
5454<<opam-switch,create an opam switch>> to test your modified compiler.
55555656-=== What to do
5656+== What to do
57575858There is always a lot of potential tasks, both for old and
5959newcomers. Here are various potential projects:
+3-3
README.adoc
···11+= README
22+13[CAUTION]
24====
35The developer team released OCaml 5.0.0 in December 2022. OCaml 5.x features a
···3739 image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=4.14&svg=true["AppVeyor Build Status (4.14 branch)",
3840 link="https://ci.appveyor.com/project/avsm/ocaml"]
3941|=====
4040-4141-= README =
42424343== Overview
4444···166166| https://github.com/garrigue/labltk/issues[The LablTk library] | OCaml 4.02 | `labltk`
167167| https://github.com/ocaml/dbm/issues[The CamlDBM library] | OCaml 4.00 | `dbm`
168168| https://github.com/xavierleroy/ocamltopwin/issues[The OCamlWinTop Windows toplevel] | OCaml 4.00 | none
169169-|=====
169169+|====
+2-2
parsing/HACKING.adoc
···1313generator, which is an external tool that you need to install if you
1414wish to modify the parser.
15151616-=== Working on the parser grammar
1616+== Working on the parser grammar
17171818To avoid depending on an external tool, the compiler build system does
1919not rebuild the parser from the source grammar link:parser.mly[] each
···2525link:../Makefile.menhir[] for the details of the various
2626Menhir-related targets and their use.
27272828-==== Testing the grammar
2828+=== Testing the grammar
29293030The root Makefile contains a `build-all-asts` target that will build,
3131for each source `.ml` or `.mli` file in the repository, a `.ml.ast` or
+1-1
testsuite/HACKING.adoc
···134134| `1` or unset | 2 cores, 2 Gb RAM | 32 or 64 bits
135135| `2` | 4 cores, 4 Gb RAM | 64 bits
136136| `3` | 8 cores, 8 Gb RAM | 64 bits
137137-|=====
137137+|====
138138139139Tests, then, can check the `OCAML_TEST_SIZE` environment variable and
140140increase the number of cores or the amount of memory used. The