diff options
-rw-r--r-- | autogen/config.in | 3 | ||||
-rwxr-xr-x | autogen/configure | 23 |
2 files changed, 18 insertions, 8 deletions
diff --git a/autogen/config.in b/autogen/config.in index 8e18d1c9206..bd10c9f4076 100644 --- a/autogen/config.in +++ b/autogen/config.in @@ -731,6 +731,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ /* Define to 1 if you have the `posix_memalign' function. */ #undef HAVE_POSIX_MEMALIGN +/* Define to 1 if you have the `posix_openpt' function. */ +#undef HAVE_POSIX_OPENPT + /* Define if you have the /proc filesystem. */ #undef HAVE_PROCFS diff --git a/autogen/configure b/autogen/configure index bfe15b6fb2a..961d1acbd38 100755 --- a/autogen/configure +++ b/autogen/configure @@ -13258,12 +13258,14 @@ done # PTY-related GNU extensions. -for ac_func in getpt +for ac_func in getpt posix_openpt do : - ac_fn_c_check_func "$LINENO" "getpt" "ac_cv_func_getpt" -if test "x$ac_cv_func_getpt" = x""yes; then : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_GETPT 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi @@ -14883,7 +14885,7 @@ case $opsys in ;; - darwin ) + darwin ) $as_echo "#define PTY_ITERATION int i; for (i = 0; i < 1; i++)" >>confdefs.h $as_echo "#define FIRST_PTY_LETTER 'p'" >>confdefs.h @@ -14896,12 +14898,12 @@ case $opsys in ;; - gnu | freebsd | netbsd | openbsd ) + gnu | openbsd ) $as_echo "#define FIRST_PTY_LETTER 'p'" >>confdefs.h ;; - gnu-linux | gnu-kfreebsd ) + gnu-linux | gnu-kfreebsd | freebsd | netbsd ) if test "x$ac_cv_func_grantpt" = xyes; then $as_echo "#define UNIX98_PTYS 1" >>confdefs.h @@ -14910,7 +14912,12 @@ $as_echo "#define UNIX98_PTYS 1" >>confdefs.h $as_echo "#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)); }" >>confdefs.h - if test "x$ac_cv_func_getpt" = xyes; then + if test "x$ac_cv_func_posix_openpt" = xyes; then + $as_echo "#define PTY_OPEN fd = posix_openpt (O_RDWR | O_NOCTTY)" >>confdefs.h + + $as_echo "#define PTY_NAME_SPRINTF /**/" >>confdefs.h + + elif test "x$ac_cv_func_getpt" = xyes; then $as_echo "#define PTY_OPEN fd = getpt ()" >>confdefs.h $as_echo "#define PTY_NAME_SPRINTF /**/" >>confdefs.h |