diff options
| author | Sergei Trofimovich <slyich@gmail.com> | 2021-10-24 09:39:21 +0100 |
|---|---|---|
| committer | Guillaume Girol <symphorien+git@xlumurb.eu> | 2022-02-27 12:00:00 +0000 |
| commit | 238d634e4b7cbe58c9d9fbc155ffcf19f25f2b12 (patch) | |
| tree | f0dda8b97bf5675ac9164a204988c875c600f437 /pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch | |
| parent | e20385a2e923314e6badc3f57b84c3f1cb80d059 (diff) | |
ocaml: enable parallel building
Enable parallel building for ocaml-4.08 and above. tested as:
$ nix build -f. ocaml-ng.ocamlPackages_{4_{00_1,01_0,02,03,04,05,06,07,08,09,10,11,12,13},latest}.ocaml --keep-going
ocaml build system supports parallel building, but but for multiple
top-level targets at the same time as it usually spawns subprocess
$(MAKE) that occasionally conflict with one another. To work it around
we use tiny Makefile with a single rule that calls top-level targets
sequentially as makefile calls:
nixpkgs_world_bootstrap_world_opt:
$(MAKE) world
$(MAKE) bootstrap
$(MAKE) world.opt
On a 16-core machine ocaml-4.12 build speeds up from 6m55s to 1m35s.
Releases 4_00_1, 4_01_0, 4_04 and 4_05 still have some race in them.
Thus this change enables parallel builds only for ocaml-4.06 and above.
Adapted from #142723
upstreams's CI tests the parallel makefile: https://github.com/ocaml/ocaml/issues/10235#issuecomment-782100584
The limit was chosen to be 4.08 because it was released in 2019, not too
long before the above link.
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch')
0 files changed, 0 insertions, 0 deletions
