>From 9f442cbb0bd8ed7398aee30c3a3944486a64a058 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 13 May 2018 16:45:11 +0200 Subject: [PATCH 7/9] tcgetsid: Fix compilation error on Android. * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC. --- ChangeLog | 6 ++++++ m4/tcgetsid.m4 | 16 +++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index a2fa28b..8643efa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2018-05-13 Bruno Haible + tcgetsid: Fix compilation error on Android. + * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of + AC_CHECK_FUNC. + +2018-05-13 Bruno Haible + getpass: Fix configure test for Android. * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC. diff --git a/m4/tcgetsid.m4 b/m4/tcgetsid.m4 index 3a91836..bc8c50d 100644 --- a/m4/tcgetsid.m4 +++ b/m4/tcgetsid.m4 @@ -1,4 +1,4 @@ -# tcgetsid.m4 serial 4 +# tcgetsid.m4 serial 5 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, @@ -16,8 +16,18 @@ AC_DEFUN([gl_FUNC_TCGETSID], HAVE_DECL_TCGETSID=0 fi - AC_CHECK_FUNCS([tcgetsid]) - if test $ac_cv_func_tcgetsid = yes; then + dnl We can't use AC_CHECK_FUNC here, because tcgetsid() is defined as a + dnl static inline function when compiling for Android 4.4 or older. + AC_CACHE_CHECK([for tcgetsid], [gl_cv_func_tcgetsid], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[return tcgetsid(0);]]) + ], + [gl_cv_func_tcgetsid=yes], + [gl_cv_func_tcgetsid=no]) + ]) + if test $gl_cv_func_tcgetsid = yes; then HAVE_TCGETSID=1 else HAVE_TCGETSID=0 -- 2.7.4