Hi Michael, > To find out if a makefile is parallel-safe, we need to try it with > parallel building enabled. This can only be done package-per-package, > I cannot quickly build everything with parallel builds on and then > blacklist what fails.
the rationale behind that choice is that you cannot easily tell whether a package compiles with parallel make jobs enabled or not. Under-specified make dependencies lead to race conditions, and these may or may not screw up your build. Whether an unsafe build actually fails depends on any number of factors that influence the order in which make schedules the jobs. You can -- in general -- not enable parallel building, run the build once, and conclude that it's safe! The number of false positives is going to be large. Because of this situation, many NixOS contributors preferred the opt-in solution that we have today. The aim of that the double opt-in is *not* to maximize the number of builds that run with parallelism enabled, it is to minimize the number of non-deterministic failures that someone has to debug and worry about. Best regards, Peter _______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
