diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-11-08 21:35:38 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-11-08 21:35:38 +0000 |
commit | 802d1322f21e7468ce4c7ba0c0c63a6c24fb059f (patch) | |
tree | d65be6accd97ff6108048d1e0064647c954c9882 | |
parent | 25e72ff2bf795e13d778594f22a323231199978d (diff) | |
download | libmicrohttpd-802d1322f21e7468ce4c7ba0c0c63a6c24fb059f.tar.gz libmicrohttpd-802d1322f21e7468ce4c7ba0c0c63a6c24fb059f.zip |
Ship its own version of tsearch and friends if not provided by platform.
On GNU based systems the tree related functions (tsearch, tfind, tdestroy)
are provided by the libc (with the interface specification in search.h). On
non-GNU systems this functionality may or may not be available. That's the
case for Android which ships its own, simplified, version of libc called
Bionic. Bionic does not contains neither search.h nor an implementation of
the above mentioned functions.
This patch adds detection for the presence of search.h and if the header file
is not found, it uses an internal version of search.h and functions tsearch,
tfind, and tdestroy. The internal version is based on the source code from
FreeBSD and is compiled if and only if the configure script did not find the
search.h header file.
-- Jan Janak
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | configure.ac | 2 |
3 files changed, 7 insertions, 0 deletions
@@ -38,6 +38,7 @@ LRN <lrn1986@gmail.com> | |||
38 | Sven Geggus <sts@fuchsschwanzdomain.de> | 38 | Sven Geggus <sts@fuchsschwanzdomain.de> |
39 | Steve Wolf <stevewolf6@gmail.com> | 39 | Steve Wolf <stevewolf6@gmail.com> |
40 | Brecht Sanders <brecht@sanders.org> | 40 | Brecht Sanders <brecht@sanders.org> |
41 | Jan Janak <jan@janakj.org> | ||
41 | 42 | ||
42 | Documentation contributions also came from: | 43 | Documentation contributions also came from: |
43 | Marco Maggi <marco.maggi-ipsu@poste.it> | 44 | Marco Maggi <marco.maggi-ipsu@poste.it> |
@@ -1,3 +1,7 @@ | |||
1 | Thu Nov 8 22:32:59 CET 2012 | ||
2 | Ship our own version of tsearch and friends if not provided by platform, | ||
3 | so that MHD works nicely on Android. -JJ | ||
4 | |||
1 | Mon Oct 22 13:05:01 CEST 2012 | 5 | Mon Oct 22 13:05:01 CEST 2012 |
2 | Immediately do a second read if we get a full buffer from | 6 | Immediately do a second read if we get a full buffer from |
3 | TLS as there might be more data in the TLS buffers even if | 7 | TLS as there might be more data in the TLS buffers even if |
diff --git a/configure.ac b/configure.ac index 5f8a71b2..1b21321c 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -184,6 +184,8 @@ AC_CHECK_HEADERS([fcntl.h math.h errno.h limits.h stdio.h locale.h sys/stat.h sy | |||
184 | # Check for optional headers | 184 | # Check for optional headers |
185 | AC_CHECK_HEADERS([sys/types.h sys/time.h sys/msg.h netdb.h netinet/in.h netinet/tcp.h time.h sys/socket.h sys/mman.h arpa/inet.h sys/select.h poll.h winsock2.h ws2tcpip.h]) | 185 | AC_CHECK_HEADERS([sys/types.h sys/time.h sys/msg.h netdb.h netinet/in.h netinet/tcp.h time.h sys/socket.h sys/mman.h arpa/inet.h sys/select.h poll.h winsock2.h ws2tcpip.h]) |
186 | 186 | ||
187 | AC_CHECK_HEADERS([search.h], AM_CONDITIONAL(HAVE_TSEARCH, true), AM_CONDITIONAL(HAVE_TSEARCH, false)) | ||
188 | |||
187 | # Check for plibc.h from system, if not found, use our own | 189 | # Check for plibc.h from system, if not found, use our own |
188 | AC_CHECK_HEADERS([plibc.h],our_private_plibc_h=0,our_private_plibc_h=1) | 190 | AC_CHECK_HEADERS([plibc.h],our_private_plibc_h=0,our_private_plibc_h=1) |
189 | AM_CONDITIONAL(USE_PRIVATE_PLIBC_H, test x$our_private_plibc_h = x1) | 191 | AM_CONDITIONAL(USE_PRIVATE_PLIBC_H, test x$our_private_plibc_h = x1) |