]> Savannah Git Hosting - gnulib.git/commitdiff
tcgetsid: Fix compilation error on Android.
authorBruno Haible <bruno@clisp.org>
Sun, 13 May 2018 14:45:11 +0000 (16:45 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 13 May 2018 14:45:11 +0000 (16:45 +0200)
* m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
AC_CHECK_FUNC.

ChangeLog
m4/tcgetsid.m4

index a2fa28bf9c846c03924ce7cc4f2e67d9e8a8d980..8643efa42385e32d5ccf22fd9a21777c86836b19 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-05-13  Bruno Haible  <bruno@clisp.org>
+
+       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  <bruno@clisp.org>
 
        getpass: Fix configure test for Android.
index 3a918361d2754e07f7e4c4f0d53502b2f571ebbb..bc8c50d975b2f12e6ff36c0ef9d57734448a6cab 100644 (file)
@@ -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 <termios.h>]],
+          [[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