aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--configure.ac13
2 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index c29a9856a02..9b6e368ec75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
12012-08-17 Jan Beich <jbeich@tormail.org> (tiny change)
2
3 * configure.ac (PTY_OPEN): Try posix_openpt on gnu-linux,
4 gnu-kfreebsd, freebsd, and netbsd. (Bug#12040)
5
12012-08-14 Paul Eggert <eggert@cs.ucla.edu> 62012-08-14 Paul Eggert <eggert@cs.ucla.edu>
2 7
3 Merge from gnulib, incorporating: 8 Merge from gnulib, incorporating:
diff --git a/configure.ac b/configure.ac
index 92fb5f8413b..30bfb95e1dc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2773,7 +2773,7 @@ AC_FUNC_GETPGRP
2773AC_CHECK_FUNCS(grantpt) 2773AC_CHECK_FUNCS(grantpt)
2774 2774
2775# PTY-related GNU extensions. 2775# PTY-related GNU extensions.
2776AC_CHECK_FUNCS(getpt) 2776AC_CHECK_FUNCS(getpt posix_openpt)
2777 2777
2778# Check this now, so that we will NOT find the above functions in ncurses. 2778# Check this now, so that we will NOT find the above functions in ncurses.
2779# That is because we have not set up to link ncurses in lib-src. 2779# That is because we have not set up to link ncurses in lib-src.
@@ -3397,6 +3397,7 @@ case $opsys in
3397 AC_DEFINE(PTY_TTY_NAME_SPRINTF, []) 3397 AC_DEFINE(PTY_TTY_NAME_SPRINTF, [])
3398 ;; 3398 ;;
3399 3399
3400 dnl FIXME? Maybe use same as freebsd - see bug#12040.
3400 darwin ) 3401 darwin )
3401 AC_DEFINE(PTY_ITERATION, [int i; for (i = 0; i < 1; i++)]) 3402 AC_DEFINE(PTY_ITERATION, [int i; for (i = 0; i < 1; i++)])
3402 dnl Not used, because PTY_ITERATION is defined. 3403 dnl Not used, because PTY_ITERATION is defined.
@@ -3409,11 +3410,11 @@ case $opsys in
3409 AC_DEFINE(PTY_TTY_NAME_SPRINTF, []) 3410 AC_DEFINE(PTY_TTY_NAME_SPRINTF, [])
3410 ;; 3411 ;;
3411 3412
3412 gnu | freebsd | netbsd | openbsd ) 3413 gnu | openbsd )
3413 AC_DEFINE(FIRST_PTY_LETTER, ['p']) 3414 AC_DEFINE(FIRST_PTY_LETTER, ['p'])
3414 ;; 3415 ;;
3415 3416
3416 gnu-linux | gnu-kfreebsd ) 3417 gnu-linux | gnu-kfreebsd | freebsd | netbsd )
3417 dnl if HAVE_GRANTPT 3418 dnl if HAVE_GRANTPT
3418 if test "x$ac_cv_func_grantpt" = xyes; then 3419 if test "x$ac_cv_func_grantpt" = xyes; then
3419 AC_DEFINE(UNIX98_PTYS, 1, [Define if the system has Unix98 PTYs.]) 3420 AC_DEFINE(UNIX98_PTYS, 1, [Define if the system has Unix98 PTYs.])
@@ -3421,8 +3422,12 @@ case $opsys in
3421 dnl Note that grantpt and unlockpt may fork. We must block SIGCHLD 3422 dnl Note that grantpt and unlockpt may fork. We must block SIGCHLD
3422 dnl to prevent sigchld_handler from intercepting the child's death. 3423 dnl to prevent sigchld_handler from intercepting the child's death.
3423 AC_DEFINE(PTY_TTY_NAME_SPRINTF, [{ char *ptyname; sigblock (sigmask (SIGCHLD)); if (grantpt (fd) == -1 || unlockpt (fd) == -1 || !(ptyname = ptsname(fd))) { sigunblock (sigmask (SIGCHLD)); close (fd); return -1; } snprintf (pty_name, sizeof pty_name, "%s", ptyname); sigunblock (sigmask (SIGCHLD)); }]) 3424 AC_DEFINE(PTY_TTY_NAME_SPRINTF, [{ char *ptyname; sigblock (sigmask (SIGCHLD)); if (grantpt (fd) == -1 || unlockpt (fd) == -1 || !(ptyname = ptsname(fd))) { sigunblock (sigmask (SIGCHLD)); close (fd); return -1; } snprintf (pty_name, sizeof pty_name, "%s", ptyname); sigunblock (sigmask (SIGCHLD)); }])
3425 dnl if HAVE_POSIX_OPENPT
3426 if test "x$ac_cv_func_posix_openpt" = xyes; then
3427 AC_DEFINE(PTY_OPEN, [fd = posix_openpt (O_RDWR | O_NOCTTY)])
3428 AC_DEFINE(PTY_NAME_SPRINTF, [] )
3424 dnl if HAVE_GETPT 3429 dnl if HAVE_GETPT
3425 if test "x$ac_cv_func_getpt" = xyes; then 3430 elif test "x$ac_cv_func_getpt" = xyes; then
3426 AC_DEFINE(PTY_OPEN, [fd = getpt ()]) 3431 AC_DEFINE(PTY_OPEN, [fd = getpt ()])
3427 AC_DEFINE(PTY_NAME_SPRINTF, []) 3432 AC_DEFINE(PTY_NAME_SPRINTF, [])
3428 else 3433 else