(jm_WINSIZE_IN_PTEM): Do not define
[gnulib.git] / m4 / jm-winsz1.m4
index 80c7bed..2f2ec90 100644 (file)
@@ -1,6 +1,6 @@
-dnl From Jim Meyering.
-#serial 3
-AC_DEFUN(jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
+#serial 5
+dnl From Jim Meyering and Paul Eggert.
+AC_DEFUN([jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
 [AC_REQUIRE([AM_SYS_POSIX_TERMIOS])
  AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h],
                jm_cv_sys_tiocgwinsz_needs_termios_h,
@@ -18,9 +18,22 @@ AC_DEFUN(jm_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
   ])
 ])
 
-AC_DEFUN(jm_WINSIZE_IN_PTEM,
-  [AC_CHECK_HEADER([sys/ptem.h],
-                  AC_DEFINE(WINSIZE_IN_PTEM, 1,
-      [Define if your system defines `struct winsize' in sys/ptem.h.]))
-  ]
-)
+AC_DEFUN([jm_WINSIZE_IN_PTEM],
+  [AC_REQUIRE([AM_SYS_POSIX_TERMIOS])
+   AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h],
+     jm_cv_sys_struct_winsize_needs_sys_ptem_h,
+     [jm_cv_sys_struct_winsize_needs_sys_ptem_h=yes
+      if test $am_cv_sys_posix_termios = yes; then
+       AC_TRY_COMPILE([#include <termios.h>]
+         [struct winsize x;],
+          [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
+      fi
+      if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
+       AC_TRY_COMPILE([#include <sys/ptem.h>],
+         [struct winsize x;],
+         [], [jm_cv_sys_struct_winsize_needs_sys_ptem_h=no])
+      fi])
+   if test $jm_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
+     AC_DEFINE([WINSIZE_IN_PTEM], 1,
+       [Define if sys/ptem.h is required for struct winsize.])
+   fi])