aboutsummaryrefslogtreecommitdiffhomepage
path: root/Makefile.ci
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-06-16 12:36:48 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-06-16 15:05:32 -0400
commit298264da86955277e1f392cc16bbbe6c416d995f (patch)
treef695df4b4d9a5899ddf650ffbf30b16171270413 /Makefile.ci
parentc9d543d9710f5ba52423037a49499a7910a2bb26 (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.ci2
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