X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fptsname.m4;h=97e1707e84de3a1a9b84fc57b7a942b24a3a83f2;hb=7ef6c64e210ac0979d7e8ac69bc5b5208c2405ab;hp=7771763f422638c7a119dbd5879a99fef1375285;hpb=3b7b97813fbb7f37f07f2acb8e0b0106efa3bf93;p=gnulib.git diff --git a/m4/ptsname.m4 b/m4/ptsname.m4 index 7771763f4..97e1707e8 100644 --- a/m4/ptsname.m4 +++ b/m4/ptsname.m4 @@ -1,5 +1,5 @@ -# ptsname.m4 serial 1 -dnl Copyright (C) 2010 Free Software Foundation, Inc. +# ptsname.m4 serial 3 +dnl Copyright (C) 2010-2014 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. @@ -14,8 +14,26 @@ AC_DEFUN([gl_FUNC_PTSNAME], AC_CHECK_FUNCS([ptsname]) if test $ac_cv_func_ptsname = no; then HAVE_PTSNAME=0 - AC_LIBOBJ([ptsname]) - gl_PREREQ_PTSNAME + else + AC_CACHE_CHECK([whether ptsname sets errno on failure], + [gl_cv_func_ptsname_sets_errno], + [AC_RUN_IFELSE( + [AC_LANG_PROGRAM([[#include + ]], [[ + return ptsname (-1) || !errno; + ]])], + [gl_cv_func_ptsname_sets_errno=yes], + [gl_cv_func_ptsname_sets_errno=no], + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_ptsname_sets_errno="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_ptsname_sets_errno="guessing no" ;; + esac + ])]) + case $gl_cv_func_ptsname_sets_errno in + *no) REPLACE_PTSNAME=1 ;; + esac fi ])