-
Notifications
You must be signed in to change notification settings - Fork 68
Instructions for rebasing to remove the effects syntax
Tom Kelly edited this page Jun 25, 2021
·
3 revisions
We currently develop on a 4.xx+domains+effects
branch that includes the effects syntax. This has the benefit that we get testsuite and CI coverage for the effect syntax features.
To release the 4.xx+domains
variant, we need to rebase the effects syntax removal patch and re-bootstrap the compiler. One way to do this is:
- checkout the latest
4.xx+domains+effects
that you plan to base your4.xx+domains
branch on - build this compiler fresh:
make distclean && configure && make
- now checkout the
4.xx+domains
branch:git checkout 4.xx+domains
- now rebase the
4.xx+domains
branch onto4.xx+domains+effects
:git rebase 4.xx+domains+effects
- this rebase can & is likely to conflict on the bootstrap files (
boot/ocamlc
, etc). You should take the4.xx+domains+effects
versions of these files (git checkout 4.xx+domains+effects -- boot/ocaml{c,lex}
) - resolve any other remaining conflicts in the code with the removal of effects that might have occurred
- now follow the standard bootstrapping procedure:
make coreall && make bootstrap
- add the bootstrap files and complete the git rebase conflict resolution
- you now have an up-to-date
4.xx+domains
branch
Hopefully one day there will be an automated process which can help keep this branch up to date with 4.xx+domains+effects