117 lines
3.6 KiB
Plaintext
117 lines
3.6 KiB
Plaintext
dnl ---------------------------------------------------------------------------
|
|
dnl
|
|
dnl Copyright 2006-2009,2010 by Thomas E. Dickey
|
|
dnl
|
|
dnl All Rights Reserved
|
|
dnl
|
|
dnl Permission to use, copy, modify, and distribute this software and its
|
|
dnl documentation for any purpose and without fee is hereby granted,
|
|
dnl provided that the above copyright notice appear in all copies and that
|
|
dnl both that copyright notice and this permission notice appear in
|
|
dnl supporting documentation, and that the name of the above listed
|
|
dnl copyright holder(s) not be used in advertising or publicity pertaining
|
|
dnl to distribution of the software without specific, written prior
|
|
dnl permission.
|
|
dnl
|
|
dnl THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD
|
|
dnl TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
dnl AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
|
|
dnl LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
dnl WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
dnl ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
dnl
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30
|
|
dnl ------------
|
|
dnl See if the poll function really works. Some platforms have poll(), but
|
|
dnl it does not work for terminals or files.
|
|
AC_DEFUN([CF_FUNC_POLL],[
|
|
AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
|
|
AC_TRY_RUN([
|
|
#include <stdio.h>
|
|
#ifdef HAVE_POLL_H
|
|
#include <poll.h>
|
|
#else
|
|
#include <sys/poll.h>
|
|
#endif
|
|
int main() {
|
|
struct pollfd myfds;
|
|
int ret;
|
|
|
|
myfds.fd = 0;
|
|
myfds.events = POLLIN;
|
|
|
|
ret = poll(&myfds, 1, 100);
|
|
${cf_cv_main_return:-return}(ret != 0);
|
|
}],
|
|
[cf_cv_working_poll=yes],
|
|
[cf_cv_working_poll=no],
|
|
[cf_cv_working_poll=unknown])])
|
|
test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL, 1, [poll() works])
|
|
])dnl
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
dnl CF_SIGWINCH version: 1 updated: 2006/04/02 16:41:09
|
|
dnl -----------
|
|
dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all
|
|
dnl programs need this test).
|
|
dnl
|
|
dnl This is really a MacOS X 10.4.3 workaround. Defining _POSIX_C_SOURCE
|
|
dnl forces SIGWINCH to be undefined (breaks xterm, ncurses). Oddly, the struct
|
|
dnl winsize declaration is left alone - we may revisit this if Apple choose to
|
|
dnl break that part of the interface as well.
|
|
AC_DEFUN([CF_SIGWINCH],
|
|
[
|
|
AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/signal.h>
|
|
],[int x = SIGWINCH],
|
|
[cf_cv_define_sigwinch=yes],
|
|
[AC_TRY_COMPILE([
|
|
#undef _XOPEN_SOURCE
|
|
#undef _POSIX_SOURCE
|
|
#undef _POSIX_C_SOURCE
|
|
#include <sys/types.h>
|
|
#include <sys/signal.h>
|
|
],[int x = SIGWINCH],
|
|
[cf_cv_define_sigwinch=maybe],
|
|
[cf_cv_define_sigwinch=no])
|
|
])
|
|
])
|
|
|
|
if test "$cf_cv_define_sigwinch" = maybe ; then
|
|
AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[
|
|
cf_cv_fixup_sigwinch=unknown
|
|
cf_sigwinch=32
|
|
while test $cf_sigwinch != 1
|
|
do
|
|
AC_TRY_COMPILE([
|
|
#undef _XOPEN_SOURCE
|
|
#undef _POSIX_SOURCE
|
|
#undef _POSIX_C_SOURCE
|
|
#include <sys/types.h>
|
|
#include <sys/signal.h>
|
|
],[
|
|
#if SIGWINCH != $cf_sigwinch
|
|
make an error
|
|
#endif
|
|
int x = SIGWINCH],
|
|
[cf_cv_fixup_sigwinch=$cf_sigwinch
|
|
break])
|
|
|
|
cf_sigwinch=`expr $cf_sigwinch - 1`
|
|
done
|
|
])
|
|
|
|
if test "$cf_cv_fixup_sigwinch" != unknown ; then
|
|
CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch"
|
|
fi
|
|
fi
|
|
])dnl
|
|
|
|
|