diff options
author | Jason Gross <jgross@mit.edu> | 2017-06-16 12:36:48 -0400 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2017-06-16 15:05:32 -0400 |
commit | 298264da86955277e1f392cc16bbbe6c416d995f (patch) | |
tree | f695df4b4d9a5899ddf650ffbf30b16171270413 /Makefile.ci | |
parent | c9d543d9710f5ba52423037a49499a7910a2bb26 (diff) |
Pass GNU Make jobserver on to the ci jobs
Solution found by reading the question [Is it possible to “pass-through”
GNU make jobserver environment to a submake served via a 3rd-party
(non-make)](https://stackoverflow.com/q/29910944/377022).
This, I hope, will fix errors such as
```
make[2]: *** write jobserver: Bad file descriptor. Stop.
make[2]: *** Waiting for unfinished jobs....
make[2]: *** write jobserver: Bad file descriptor. Stop.
make[1]: *** [coqprime] Error 2
make[1]: INTERNAL: Exiting with 1 jobserver tokens available; should be 2!
make[1]: Leaving directory `/home/travis/build/JasonGross/coq/_build_ci/fiat-c
```
which result from having a top-level `make` which sets up the jobserver
(via `-jN`), which invokes a non-makefile script *without passing on the
file descriptors for the jobserver*, which either invokes a makefile
script without `-jN` or invokes a makefile script with `-jN` which itself
invokes a submake without `-jN`. This was the case, for example, in
fiat-crypto.
Diffstat (limited to 'Makefile.ci')
-rw-r--r-- | Makefile.ci | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Makefile.ci b/Makefile.ci index 013685218..e778fe919 100644 --- a/Makefile.ci +++ b/Makefile.ci @@ -7,4 +7,4 @@ CI_TARGETS=ci-all ci-hott ci-math-comp ci-compcert ci-sf ci-cpdt \ # Generic rule, we use make to easy travis integraton with mixed rules $(CI_TARGETS): ci-%: - ./dev/ci/ci-$*.sh + +./dev/ci/ci-$*.sh |