summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in40
1 files changed, 28 insertions, 12 deletions
diff --git a/configure.in b/configure.in
index 322455f..f2fb61b 100644
--- a/configure.in
+++ b/configure.in
@@ -56,8 +56,9 @@ AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl
AC_CHECK_LIB(posix4, clock_gettime)
AC_CHECK_FUNCS(memmove strdup psignal mktemp pstat_getdynamic \
- clock_gettime dup2 getcwd sigsetmask getgroups setlinebuf \
- seteuid setegid setreuid setregid strerror strsignal pipe)
+ clock_gettime dup2 getcwd sigsetmask sigaction getgroups \
+ setlinebuf seteuid setegid setreuid setregid \
+ strerror strsignal pipe)
AC_CHECK_SYMBOL(sys_siglist)
AC_FUNC_ALLOCA
AC_FUNC_VFORK
@@ -129,11 +130,16 @@ dnl See if we can handle the job server feature, and if the user wants it.
AC_ARG_ENABLE(job-server,
[ --disable-job-server Disallow recursive make communication during -jN],
- [make_cv_job_server="$enableval"],
+ [make_cv_job_server="$enableval" user_job_server="$enableval"],
[make_cv_job_server="yes"])
-case "$ac_cv_func_pipe $make_cv_job_server" in
- "yes yes") AC_DEFINE(MAKE_JOBSERVER) ;;
+has_wait_nohang=yes
+case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
+ no/no) has_wait_nohang=no ;;
+esac
+
+case "$ac_cv_func_pipe/$ac_cv_func_sigaction/$has_wait_nohang/$make_cv_job_server" in
+ yes/yes/yes/yes) AC_DEFINE(MAKE_JOBSERVER) ;;
esac
dnl Allow building with dmalloc
@@ -232,13 +238,23 @@ case "$with_customs" in
fi ;;
esac
-case "$ac_cv_func_waitpid/$ac_cv_func_wait3" in
- no/no) echo
- echo "WARNING: Your system has neither waitpid() nor wait3()."
- echo " Without one of these, signal handling is unreliable."
- echo " You should be aware that running GNU make with -j"
- echo " could result in erratic behavior."
- echo ;;
+case "$has_wait_nohang" in
+ no) echo
+ echo "WARNING: Your system has neither waitpid() nor wait3()."
+ echo " Without one of these, signal handling is unreliable."
+ echo " You should be aware that running GNU make with -j"
+ echo " could result in erratic behavior."
+ echo ;;
+esac
+
+case "$make_cv_job_server/$user_job_server" in
+ no/yes) echo
+ echo "WARNING: Make job server requires a POSIX-ish system that"
+ echo " supports the pipe(), sigaction(), and either"
+ echo " waitpid() or wait3() functions. Your system doesn't"
+ echo " appear to provide one or more of those."
+ echo " Disabling job server support."
+ echo ;;
esac
dnl Local Variables: