Mercurial > gnulib
view m4/getpass.m4 @ 40195:9734faea5d7b
relocatable-prog: Use wrapper-free installation also on Mac OS X 10.4.
* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat Mac OS X 10.4 like 10.5.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 24 Feb 2019 00:25:02 +0100 |
parents | b06060465f09 |
children |
line wrap: on
line source
# getpass.m4 serial 16 dnl Copyright (C) 2002-2003, 2005-2006, 2009-2019 Free Software Foundation, dnl 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. # Provide a getpass() function if the system doesn't have it. AC_DEFUN_ONCE([gl_FUNC_GETPASS], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl Persuade Solaris <unistd.h> and <stdlib.h> to declare getpass(). AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([getpass]) if test $ac_cv_func_getpass = no; then HAVE_GETPASS=0 fi ]) # Provide the GNU getpass() implementation. It supports passwords of # arbitrary length (not just 8 bytes as on HP-UX). AC_DEFUN([gl_FUNC_GETPASS_GNU], [ AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) AC_REQUIRE([gl_FUNC_GETPASS]) if test $ac_cv_func_getpass = yes; then AC_CACHE_CHECK([for getpass without length limitations], [gl_cv_func_getpass_good], [AC_EGREP_CPP([Lucky GNU user], [ #include <features.h> #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) && !defined __UCLIBC__ Lucky GNU user #endif #endif ], [gl_cv_func_getpass_good=yes], [gl_cv_func_getpass_good=no]) ]) if test $gl_cv_func_getpass_good != yes; then REPLACE_GETPASS=1 fi fi ]) # Prerequisites of lib/getpass.c. AC_DEFUN([gl_PREREQ_GETPASS], [ AC_CHECK_HEADERS_ONCE([stdio_ext.h termios.h]) AC_CHECK_FUNCS_ONCE([__fsetlocking]) AC_CHECK_DECLS([__fsetlocking],,, [[#include <stdio.h> #if HAVE_STDIO_EXT_H #include <stdio_ext.h> #endif]]) AC_CHECK_DECLS_ONCE([fflush_unlocked]) AC_CHECK_DECLS_ONCE([flockfile]) AC_CHECK_DECLS_ONCE([fputs_unlocked]) AC_CHECK_DECLS_ONCE([funlockfile]) AC_CHECK_DECLS_ONCE([putc_unlocked]) dnl We can't use AC_CHECK_FUNC here, because tcgetattr() is defined as a dnl static inline function when compiling for Android 4.4 or older. AC_CACHE_CHECK([for tcgetattr], [gl_cv_func_tcgetattr], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include <termios.h> struct termios x; ]], [[return tcgetattr(0,&x);]]) ], [gl_cv_func_tcgetattr=yes], [gl_cv_func_tcgetattr=no]) ]) if test $gl_cv_func_tcgetattr = yes; then HAVE_TCGETATTR=1 else HAVE_TCGETATTR=0 fi AC_DEFINE_UNQUOTED([HAVE_TCGETATTR], [$HAVE_TCGETATTR], [Define to 1 if the system has the 'tcgetattr' function.]) dnl We can't use AC_CHECK_FUNC here, because tcsetattr() is defined as a dnl static inline function when compiling for Android 4.4 or older. AC_CACHE_CHECK([for tcsetattr], [gl_cv_func_tcsetattr], [AC_LINK_IFELSE( [AC_LANG_PROGRAM( [[#include <termios.h> struct termios x; ]], [[return tcsetattr(0,0,&x);]]) ], [gl_cv_func_tcsetattr=yes], [gl_cv_func_tcsetattr=no]) ]) if test $gl_cv_func_tcsetattr = yes; then HAVE_TCSETATTR=1 else HAVE_TCSETATTR=0 fi AC_DEFINE_UNQUOTED([HAVE_TCSETATTR], [$HAVE_TCSETATTR], [Define to 1 if the system has the 'tcsetattr' function.]) ])