changeset 17904:3824f01f7518

getdtablesize: Fix Android build * m4/getdtablesize.m4: Add Android case to host OS check. Recent NDK versions have this symbol in the .so library (at least 32-bit platforms) but are missing the declaration in the header file, causing the m4 logic to guess incorrectly.
author Kevin Cernekee <cernekee@google.com>
date Wed, 11 Feb 2015 15:22:51 -0800
parents c9a62cb4124d
children 694c9aba14fe
files ChangeLog m4/getdtablesize.m4
diffstat 2 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -32,6 +32,12 @@
 	test case passed when running on an Android host, and the code
 	hasn't really changed since 2009.
 
+	getdtablesize: Fix Android build
+	* m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
+	versions have this symbol in the .so library (at least 32-bit
+	platforms) but are missing the declaration in the header file,
+	causing the m4 logic to guess incorrectly.
+
 2015-02-08  Daiki Ueno  <ueno@gnu.org>
 
 	uniname/unimame-tests: don't link with -lunistring
--- a/m4/getdtablesize.m4
+++ b/m4/getdtablesize.m4
@@ -26,7 +26,9 @@
         [gl_cv_func_getdtablesize_works=yes],
         [gl_cv_func_getdtablesize_works=no],
         [case "$host_os" in
-          cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
+          cygwin*|*-android*)
+          # on cygwin 1.5.25, getdtablesize() automatically grows
+          # on Android API level >= 21, the declaration is missing from unistd.h
             gl_cv_func_getdtablesize_works="guessing no" ;;
           *) gl_cv_func_getdtablesize_works="guessing yes" ;;
          esac])