summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorSimon Josefsson <simon@josefsson.org>2009-12-10 14:14:13 +0100
committerSimon Josefsson <simon@josefsson.org>2009-12-10 14:14:13 +0100
commit63983c0aac914c1a585cb6a7d0b16dc170b6ee3e (patch)
tree60d37c9808bc805d0e8b887c53059ba05efea2e8 /m4
parent238a6434b5392dfb0cc4e9d7201cb91b341bafd4 (diff)
downloadgnulib-63983c0aac914c1a585cb6a7d0b16dc170b6ee3e.tar.gz
Add pty module for forkpty and openpty.
Diffstat (limited to 'm4')
-rw-r--r--m4/pty.m442
1 files changed, 42 insertions, 0 deletions
diff --git a/m4/pty.m4 b/m4/pty.m4
new file mode 100644
index 0000000000..ba6a8c02a4
--- /dev/null
+++ b/m4/pty.m4
@@ -0,0 +1,42 @@
+# pty.m4 serial 1
+dnl Copyright (C) 2009 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# gl_PTY
+# ------
+# Make sure that pty.h provides forkpty, or sets up a replacement header.
+# Also define automake variable PTY_LIB to the library needed (if any).
+AC_DEFUN([gl_PTY],
+[
+ PTY_H=''
+ PTY_LIB=''
+ # First make sure that pty.h provides forkpty, or setup the replacement.
+ AC_CHECK_HEADERS_ONCE([pty.h])
+ if test $ac_cv_header_pty_h != yes; then
+ AC_CHECK_DECL([forkpty],,, [[#include <util.h>]])
+ if test $ac_cv_have_decl_forkpty = no; then
+ AC_CHECK_DECL([forkpty],,, [[#include <libutil.h>]])
+ if test $ac_cv_have_decl_forkpty = no; then
+ AC_MSG_WARN([[Cannot find forkpty, build will likely fail]])
+ else
+ PTY_H='pty.h'
+ PTY_HEADER='libutil.h'
+ fi
+ else
+ PTY_H='pty.h'
+ PTY_HEADER='util.h'
+ fi
+ fi
+ # Second check for the library required for forkpty.
+ save_LIBS="$LIBS"
+ AC_SEARCH_LIBS([forkpty], [util],
+ [if test "$ac_cv_search_forkpty" != "none required"; then
+ PTY_LIB="$ac_cv_search_forkpty"
+ fi])
+ LIBS="$save_LIBS"
+ AC_SUBST([PTY_H])
+ AC_SUBST([PTY_LIB])
+ AC_SUBST([PTY_HEADER])
+])