Mercurial > octave-nkf
diff acinclude.m4 @ 10246:f751dae7aab8
use gnulib signal modules
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 02 Feb 2010 04:39:29 -0500 |
parents | e45ccac6017f |
children | cd550069240e |
line wrap: on
line diff
--- a/acinclude.m4 Tue Feb 02 02:58:46 2010 -0500 +++ b/acinclude.m4 Tue Feb 02 04:39:29 2010 -0500 @@ -173,109 +173,6 @@ AC_DEFINE(SMART_PUTENV,1,[To quiet autoheader.]) fi]) dnl -dnl These two checks for signal functions were originally part of the -dnl aclocal.m4 file distributed with bash 2.0. -dnl -dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7) -AC_DEFUN([OCTAVE_SIGNAL_CHECK], -[AC_REQUIRE([AC_TYPE_SIGNAL]) -AC_MSG_CHECKING([for type of signal functions]) -AC_CACHE_VAL(octave_cv_signal_vintage, -[ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>]], - [[sigset_t ss; - struct sigaction sa; - sigemptyset (&ss); - sigsuspend (&ss); - sigaction (SIGINT, &sa, (struct sigaction *) 0); - sigprocmask (SIG_BLOCK, &ss, (sigset_t *) 0);]])], - [octave_cv_signal_vintage=posix], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>]], - [[int mask = sigmask (SIGINT); - sigsetmask (mask); - sigblock (mask); - sigpause (mask);]])], - [octave_cv_signal_vintage=4.2bsd], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <signal.h> - RETSIGTYPE foo() { }]], - [[int mask = sigmask (SIGINT); - sigset (SIGINT, foo); - sigrelse (SIGINT); - sighold (SIGINT); - sigpause (SIGINT);]])], - [octave_cv_signal_vintage=svr3], - [octave_cv_signal_vintage=v7])])])]) -AC_MSG_RESULT([$octave_cv_signal_vintage]) -if test "$octave_cv_signal_vintage" = posix; then -AC_DEFINE(HAVE_POSIX_SIGNALS, 1, [Define if you have POSIX style signals.]) -elif test "$octave_cv_signal_vintage" = "4.2bsd"; then -AC_DEFINE(HAVE_BSD_SIGNALS, 1, [Define if you have BSD style signals.]) -elif test "$octave_cv_signal_vintage" = svr3; then -AC_DEFINE(HAVE_USG_SIGHOLD, 1, [Define if you have System V Release 3 signals.]) -fi -]) -dnl -AC_DEFUN([OCTAVE_REINSTALL_SIGHANDLERS], -[AC_REQUIRE([AC_TYPE_SIGNAL]) -AC_REQUIRE([OCTAVE_SIGNAL_CHECK]) -AC_MSG_CHECKING([if signal handlers must be reinstalled when invoked]) -AC_CACHE_VAL(octave_cv_must_reinstall_sighandlers, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include <signal.h> -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -typedef RETSIGTYPE sigfunc(); -int nsigint; -#ifdef HAVE_POSIX_SIGNALS -sigfunc * -set_signal_handler(sig, handler) - int sig; - sigfunc *handler; -{ - struct sigaction act, oact; - act.sa_handler = handler; - act.sa_flags = 0; - sigemptyset (&act.sa_mask); - sigemptyset (&oact.sa_mask); - sigaction (sig, &act, &oact); - return (oact.sa_handler); -} -#else -#define set_signal_handler(s, h) signal(s, h) -#endif -RETSIGTYPE -sigint(s) - int s; -{ - nsigint++; -} -main() -{ - nsigint = 0; - set_signal_handler(SIGINT, sigint); - kill((int)getpid(), SIGINT); - kill((int)getpid(), SIGINT); - exit(nsigint != 2); -} -]])], - octave_cv_must_reinstall_sighandlers=no, - octave_cv_must_reinstall_sighandlers=yes, -if test "$octave_cv_signal_vintage" = svr3; then - octave_cv_must_reinstall_sighandlers=yes -else - octave_cv_must_reinstall_sighandlers=no -fi)]) -if test "$cross_compiling" = yes; then - AC_MSG_RESULT([$octave_cv_must_reinstall_sighandlers assumed for cross compilation]) -else - AC_MSG_RESULT([$octave_cv_must_reinstall_sighandlers]) -fi -if test "$octave_cv_must_reinstall_sighandlers" = yes; then - AC_DEFINE(MUST_REINSTALL_SIGHANDLERS,1,[Define if signal handlers must be reinstalled after they are called.]) -fi -]) -dnl dnl Check to see if C++ compiler needs the new friend template declaration dnl syntax. dnl