Mercurial > gnulib
changeset 39367:9a307dd072b7
grantpt: Fix compilation error on Android.
* m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
AC_CHECK_FUNC.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 13 May 2018 15:31:48 +0200 |
parents | e66dcb8331b7 |
children | 138b53d2c233 |
files | ChangeLog m4/grantpt.m4 |
diffstat | 2 files changed, 19 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sat May 12 20:58:58 2018 +0200 +++ b/ChangeLog Sun May 13 15:31:48 2018 +0200 @@ -1,3 +1,9 @@ +2018-05-13 Bruno Haible <bruno@clisp.org> + + grantpt: Fix compilation error on Android. + * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of + AC_CHECK_FUNC. + 2018-05-13 Bruno Haible <bruno@clisp.org> stdioext: Fix compilation errors with newer Android headers.
--- a/m4/grantpt.m4 Sat May 12 20:58:58 2018 +0200 +++ b/m4/grantpt.m4 Sun May 13 15:31:48 2018 +0200 @@ -1,4 +1,4 @@ -# grantpt.m4 serial 2 +# grantpt.m4 serial 3 dnl Copyright (C) 2010-2018 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -11,8 +11,18 @@ dnl Persuade glibc <stdlib.h> to declare grantpt(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) - AC_CHECK_FUNCS([grantpt]) - if test $ac_cv_func_grantpt = no; then + dnl We can't use AC_CHECK_FUNC here, because grantpt() is defined as a + dnl static inline function when compiling for Android 4.4 or older. + AC_CACHE_CHECK([for grantpt], [gl_cv_func_grantpt], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include <stdlib.h>]], + [[return grantpt(0);]]) + ], + [gl_cv_func_grantpt=yes], + [gl_cv_func_grantpt=no]) + ]) + if test $gl_cv_func_grantpt = no; then HAVE_GRANTPT=0 fi ])