From 4bf31462bb22404c31b51504b9ea70490d3f8816 Mon Sep 17 00:00:00 2001 From: Paul Ackersviller Date: Mon, 4 Jun 2007 02:19:39 +0000 Subject: Merge of 21544: ioctl() prototyping was substandard and missing on Cygwin. --- configure.ac | 84 ++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 54 insertions(+), 30 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 13c08aab2..eb1c5f0e4 100644 --- a/configure.ac +++ b/configure.ac @@ -551,18 +551,15 @@ if test $ac_cv_header_sys_time_h = yes && test $ac_cv_header_sys_select_h = yes; fi fi -AC_CACHE_CHECK(POSIX termios, zsh_cv_sys_posix_termios, -[AC_TRY_LINK([#include -#include -#include ], -[/* SunOS 4.0.3 has termios.h but not the library calls. */ -tcgetattr(0, 0);], - zsh_cv_sys_posix_termios=yes, zsh_cv_sys_posix_termios=no)]) - -if test $zsh_cv_sys_posix_termios = yes; then +AH_TEMPLATE([GWINSZ_IN_SYS_IOCTL], +[Define if TIOCGWINSZ is defined in sys/ioctl.h but not in termios.h.]) +if test $ac_cv_header_termios_h = yes; then AC_CACHE_CHECK(TIOCGWINSZ in termios.h, zsh_cv_header_termios_h_tiocgwinsz, - [AC_TRY_LINK([#include + [AC_TRY_LINK([ +#ifdef HAVE_SYS_TYPES_H +# include +#endif #include ], [int x = TIOCGWINSZ;], zsh_cv_header_termios_h_tiocgwinsz=yes, @@ -570,13 +567,13 @@ if test $zsh_cv_sys_posix_termios = yes; then else zsh_cv_header_termios_h_tiocgwinsz=no fi - -AH_TEMPLATE([GWINSZ_IN_SYS_IOCTL], -[Define if your system defines TIOCGWINSZ in sys/ioctl.h.]) if test $zsh_cv_header_termios_h_tiocgwinsz = no; then AC_CACHE_CHECK(TIOCGWINSZ in sys/ioctl.h, zsh_cv_header_sys_ioctl_h_tiocgwinsz, - [AC_TRY_LINK([#include + [AC_TRY_LINK([ +#ifdef HAVE_SYS_TYPES_H +# include +#endif #include ], [int x = TIOCGWINSZ;], zsh_cv_header_sys_ioctl_h_tiocgwinsz=yes, @@ -1670,24 +1667,12 @@ if test $zsh_cv_header_unistd_h_sbrk_proto = yes; then AC_DEFINE(HAVE_SBRK_PROTO) fi -dnl ---------------------------------- -dnl ioctl and mknod prototypes for OSF -dnl ---------------------------------- - -AH_TEMPLATE([HAVE_IOCTL_PROTO], -[Define to 1 if there is a prototype defined for ioctl() on your system]) +dnl ----------------------- +dnl mknod prototype for OSF +dnl ----------------------- AH_TEMPLATE([HAVE_MKNOD_PROTO], -[Define to 1 if there is a prototype defined for mknod() on your system]) +[Define to 1 if there is a prototype defined for mknod() on your system.]) if test "$ac_cv_prog_cc_stdc" != no; then - AC_CACHE_CHECK(for ioctl prototype in , - zsh_cv_header_sys_ioctl_h_ioctl_proto, - [AC_TRY_COMPILE([#include - int ioctl(double x);], [int i;], - zsh_cv_header_sys_ioctl_h_ioctl_proto=no, - zsh_cv_header_sys_ioctl_h_ioctl_proto=yes)]) - if test $zsh_cv_header_sys_ioctl_h_ioctl_proto = yes; then - AC_DEFINE(HAVE_IOCTL_PROTO) - fi AC_CACHE_CHECK(for mknod prototype in , zsh_cv_header_sys_stat_h_mknod_proto, [AC_TRY_COMPILE([#include @@ -1699,6 +1684,45 @@ if test "$ac_cv_prog_cc_stdc" != no; then fi fi +dnl ---------------------------------------- +dnl presence and location of ioctl prototype +dnl ---------------------------------------- +AC_CACHE_CHECK(for ioctl prototype in or , +zsh_cv_header_unistd_h_termios_h_ioctl_proto, +[AC_TRY_COMPILE([ +#ifdef HAVE_UNISTD_H +# include +#endif +#ifdef HAVE_TERMIOS_H +# include +#endif +double ioctl();], [int i;], +zsh_cv_header_unistd_h_termios_h_ioctl_proto=no, +zsh_cv_header_unistd_h_termios_h_ioctl_proto=yes)]) + +if test $zsh_cv_header_unistd_h_termios_h_ioctl_proto = no; then + AC_CACHE_CHECK(for ioctl prototype in , + zsh_cv_header_sys_ioctl_h_ioctl_proto, + [AC_TRY_COMPILE([#include + double ioctl();], [int i;], + zsh_cv_header_sys_ioctl_h_ioctl_proto=no, + zsh_cv_header_sys_ioctl_h_ioctl_proto=yes)]) +else + zsh_cv_header_sys_ioctl_h_ioctl_proto=no +fi + +AH_TEMPLATE([HAVE_IOCTL_PROTO], +[Define to 1 if there is a prototype defined for ioctl() on your system.]) +if test $zsh_cv_header_unistd_h_termios_h_ioctl_proto = yes || \ + test $zsh_cv_header_sys_ioctl_h_ioctl_proto = yes; then + AC_DEFINE(HAVE_IOCTL_PROTO) +fi +AH_TEMPLATE([IOCTL_IN_SYS_IOCTL], +[Define to 1 if we must include to get a prototype for ioctl().]) +if test $zsh_cv_header_sys_ioctl_h_ioctl_proto = yes; then + AC_DEFINE(IOCTL_IN_SYS_IOCTL) +fi + dnl ------------------- dnl select() defined in , ie BeOS R4.51 dnl ------------------- -- cgit 1.4.1