opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
All three scripts (Makefile, release/Makefile and release/Dockerfile.in) compile the OCaml compiler, the version number isn't even kept in sync and it's all very annoying to deal with. On top of that they also all include a way to cold build and all do it in a slightly different way.
The proposal would be to:
get rid of the duplicated scripts by creating a new make release target that would create a stripped (and static where possible) binary
backport these change into the 2.1 and upcoming 2.2 branches so that the branch itself is used to build the releases instead of taking the release script from the latest commit from master. This would maybe imply that we want to move the part of the Makefile that deals with make cold-type rules on their own Makefile for easier sync between master and the maintenance branches
All three scripts (Makefile, release/Makefile and release/Dockerfile.in) compile the OCaml compiler, the version number isn't even kept in sync and it's all very annoying to deal with. On top of that they also all include a way to cold build and all do it in a slightly different way.
The proposal would be to:
make release
target that would create a stripped (and static where possible) binarymake cold
-type rules on their own Makefile for easier sync between master and the maintenance branches