dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)
AC_DEFUN([SIGNAL_CHECK],
[AC_REQUIRE([AC_TYPE_SIGNAL])
AC_MSG_CHECKING(for type of signal functions)
AC_CACHE_VAL(bash_cv_signal_vintage,
[
AC_TRY_LINK([#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);
], bash_cv_signal_vintage="posix",
[
AC_TRY_LINK([#include <signal.h>], [
int mask = sigmask(SIGINT);
sigsetmask(mask); sigblock(mask); sigpause(mask);
], bash_cv_signal_vintage="4.2bsd",
[
AC_TRY_LINK([
#include <signal.h>
RETSIGTYPE foo() { }], [
int mask = sigmask(SIGINT);
sigset(SIGINT, foo); sigrelse(SIGINT);
sighold(SIGINT); sigpause(SIGINT);
], bash_cv_signal_vintage="svr3", bash_cv_signal_vintage="v7"
)]
)]
)
])
AC_MSG_RESULT($bash_cv_signal_vintage)
if test "$bash_cv_signal_vintage" = "posix"; then
AC_DEFINE(HAVE_POSIX_SIGNALS)
elif test "$bash_cv_signal_vintage" = "4.2bsd"; then
AC_DEFINE(HAVE_BSD_SIGNALS)
elif test "$bash_cv_signal_vintage" = "svr3"; then
AC_DEFINE(HAVE_USG_SIGHOLD)
fi
])
AC_DEFUN([BA_CONDITIONAL],
[AC_SUBST($1_TRUE)
AC_SUBST($1_FALSE)
if $2; then
$1_TRUE=
$1_FALSE='#'
else
$1_TRUE='#'
$1_FALSE=
fi])
AC_DEFUN([BA_CHECK_OPSYS],
[
AC_CYGWIN
if test $HAVE_UNAME=yes -a x`uname -s` = xSunOS
then
BA_CONDITIONAL(HAVE_SUN_OS, $TRUEPRG)
AC_DEFINE(HAVE_SUN_OS)
else
BA_CONDITIONAL(HAVE_SUN_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xOSF1
then
BA_CONDITIONAL(HAVE_OSF1_OS, $TRUEPRG)
AC_DEFINE(HAVE_OSF1_OS)
else
BA_CONDITIONAL(HAVE_OSF1_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xAIX
then
BA_CONDITIONAL(HAVE_AIX_OS, $TRUEPRG)
AC_DEFINE(HAVE_AIX_OS)
else
BA_CONDITIONAL(HAVE_AIX_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xHP-UX
then
BA_CONDITIONAL(HAVE_HPUX_OS, $TRUEPRG)
AC_DEFINE(HAVE_HPUX_OS)
else
BA_CONDITIONAL(HAVE_HPUX_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xLinux
then
BA_CONDITIONAL(HAVE_LINUX_OS, $TRUEPRG)
AC_DEFINE(HAVE_LINUX_OS)
else
BA_CONDITIONAL(HAVE_LINUX_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD
then
BA_CONDITIONAL(HAVE_FREEBSD_OS, $TRUEPRG)
AC_DEFINE(HAVE_FREEBSD_OS)
else
BA_CONDITIONAL(HAVE_FREEBSD_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xNetBSD
then
BA_CONDITIONAL(HAVE_NETBSD_OS, $TRUEPRG)
AC_DEFINE(HAVE_NETBSD_OS)
else
BA_CONDITIONAL(HAVE_NETBSD_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xOpenBSD
then
BA_CONDITIONAL(HAVE_OPENBSD_OS, $TRUEPRG)
AC_DEFINE(HAVE_OPENBSD_OS)
else
BA_CONDITIONAL(HAVE_OPENBSD_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xBSD/OS
then
BA_CONDITIONAL(HAVE_BSDI_OS, $TRUEPRG)
AC_DEFINE(HAVE_BSDI_OS)
else
BA_CONDITIONAL(HAVE_BSDI_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xSGI
then
BA_CONDITIONAL(HAVE_SGI_OS, $TRUEPRG)
AC_DEFINE(HAVE_SGI_OS)
else
BA_CONDITIONAL(HAVE_SGI_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xIRIX -o x`uname -s` = xIRIX64
then
BA_CONDITIONAL(HAVE_IRIX_OS, $TRUEPRG)
AC_DEFINE(HAVE_IRIX_OS)
else
BA_CONDITIONAL(HAVE_IRIX_OS, $FALSEPRG)
fi
if test $HAVE_UNAME=yes -a x`uname -s` = xDarwin
then
AM_CONDITIONAL(HAVE_DARWIN_OS, $TRUEPRG)
AC_DEFINE(HAVE_DARWIN_OS)
else
AM_CONDITIONAL(HAVE_DARWIN_OS, $FALSEPRG)
fi
])
AC_DEFUN([BA_CHECK_OPSYS_DISTNAME],
[AC_MSG_CHECKING(for Operating System Distribution)
if test "x$DISTNAME" != "x"
then
echo "distname set to $DISTNAME"
elif test $HAVE_UNAME=yes -a x`uname -s` = xOSF1
then
DISTNAME=alpha
elif test $HAVE_UNAME=yes -a x`uname -s` = xAIX
then
DISTNAME=aix
elif test $HAVE_UNAME=yes -a x`uname -s` = xHP-UX
then
DISTNAME=hpux
elif test $HAVE_UNAME=yes -a x`uname -s` = xSunOS
then
DISTNAME=solaris
elif test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD
then
DISTNAME=freebsd
elif test $HAVE_UNAME=yes -a x`uname -s` = xNetBSD
then
DISTNAME=netbsd
elif test $HAVE_UNAME=yes -a x`uname -s` = xOpenBSD
then
DISTNAME=openbsd
elif test $HAVE_UNAME=yes -a x`uname -s` = xIRIX
then
DISTNAME=irix
elif test $HAVE_UNAME=yes -a x`uname -s` = xBSD/OS
then
DISTNAME=bsdi
elif test -f /etc/SuSE-release
then
DISTNAME=suse
elif test -d /etc/SuSEconfig
then
DISTNAME=suse5
elif test -f /etc/mandrake-release
then
DISTNAME=mandrake
elif test -f /etc/whitebox-release
then
DISTNAME=redhat
elif test -f /etc/redhat-release
then
DISTNAME=redhat
elif test -f /etc/gentoo-release
then
DISTNAME=gentoo
elif test -f /etc/debian_version
then
DISTNAME=debian
elif test -f /etc/slackware-version
then
DISTNAME=slackware
elif test $HAVE_UNAME=yes -a x`uname -s` = xDarwin
then
DISTNAME=darwin
elif test -f /etc/engarde-version
then
DISTNAME=engarde
elif test "$CYGWIN" = yes
then
DISTNAME=cygwin
AC_DEFINE(HAVE_CYGWIN)
else
DISTNAME=unknown
fi
AC_MSG_RESULT(done)
])
syntax highlighted by Code2HTML, v. 0.9.1