mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-14 17:53:37 +00:00
238d634e4b
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. |
||
---|---|---|
.. | ||
4.00.1.nix | ||
4.01.0.nix | ||
4.02.nix | ||
4.03.nix | ||
4.04.nix | ||
4.05.nix | ||
4.06.nix | ||
4.07.nix | ||
4.08.nix | ||
4.09.nix | ||
4.10.nix | ||
4.11.nix | ||
4.12.nix | ||
4.13.nix | ||
ber-metaocaml.nix | ||
builder.sh | ||
configure-3.08.0 | ||
fix-clang-build-on-osx.diff | ||
generic.nix | ||
gnused-on-osx-fix.patch | ||
Makefile.nixpkgs | ||
metaocaml-3.09.nix | ||
mips64.patch | ||
ocamlbuild.patch |