summaryrefslogtreecommitdiffstats
path: root/m4/jm-winsz1.m4
blob: c37e3f500740f565699853ad97535467b6b18800 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# serial 12

# Copyright (C) 1996, 1999, 2001-2002, 2004, 2006, 2009-2023 Free Software
# Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

dnl From Jim Meyering and Paul Eggert.
AC_DEFUN([gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
[AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
 AC_CACHE_CHECK([whether use of TIOCGWINSZ requires termios.h],
                [gl_cv_sys_tiocgwinsz_needs_termios_h],
  [gl_cv_sys_tiocgwinsz_needs_termios_h=no

   if test $ac_cv_sys_posix_termios = yes; then
     AC_EGREP_CPP([yes],
     [#include <sys/types.h>
#      include <termios.h>
#      ifdef TIOCGWINSZ
         yes
#      endif
     ], [gl_cv_sys_tiocgwinsz_needs_termios_h=yes])
   fi
  ])
])

AC_DEFUN([gl_WINSIZE_IN_PTEM],
[
   AC_REQUIRE([AC_SYS_POSIX_TERMIOS])
   AC_CACHE_CHECK([whether use of struct winsize requires sys/ptem.h],
     [gl_cv_sys_struct_winsize_needs_sys_ptem_h],
     [gl_cv_sys_struct_winsize_needs_sys_ptem_h=yes
      if test $ac_cv_sys_posix_termios = yes; then
        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <termios.h>]],
          [[struct winsize x;
            if (sizeof x > 0) return 0;]])],
          [gl_cv_sys_struct_winsize_needs_sys_ptem_h=no])
      fi
      if test $gl_cv_sys_struct_winsize_needs_sys_ptem_h = yes; then
        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/ptem.h>]],
          [[struct winsize x;
            if (sizeof x > 0) return 0;]])],
          [], [gl_cv_sys_struct_winsize_needs_sys_ptem_h=no])
      fi])
   if test $gl_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
])