aboutsummaryrefslogtreecommitdiff
path: root/config/jobserver.m4
diff options
context:
space:
mode:
Diffstat (limited to 'config/jobserver.m4')
-rw-r--r--config/jobserver.m424
1 files changed, 24 insertions, 0 deletions
diff --git a/config/jobserver.m4 b/config/jobserver.m4
new file mode 100644
index 0000000..dc566b1
--- /dev/null
+++ b/config/jobserver.m4
@@ -0,0 +1,24 @@
+dnl GNU_MAKE_JOBSERVER
+dnl
+dnl Implement a workaround for GNU mak jobserver by adding the '+' to the
+dnl recipe line in Makefiles generated by automake.
+dnl
+AC_DEFUN([GNU_MAKE_JOBSERVER],[dnl
+m4_pattern_allow(AM_V_CCLD)
+touch config.status.tmp
+dnl Must keep the same timestamps on config.status and Makefile.
+if touch --reference=config.status config.status.tmp > /dev/null 2>&1; then
+ sed '/as_fn_exit 0/i \
+sed -e \"s/^\t\\\(\\\$(AM_V_CCLD)\\\)/\t+ \\\1/\" Makefile > Makefile.tmp \
+touch --reference=Makefile Makefile.tmp \
+mv Makefile.tmp Makefile \
+' config.status > config.status.tmp
+ touch --reference=config.status config.status.tmp
+ mv config.status.tmp config.status
+ chmod +x config.status
+ sed -e "s/^\t\(\$(AM_V_CCLD)\)/\t+ \1/" Makefile > Makefile.tmp
+ touch --reference=Makefile Makefile.tmp
+ mv Makefile.tmp Makefile
+else
+ rm -f config.status.tmp
+fi])