From 9d5e194eb7ac0ef949924f45a6142a6684d49c03 Mon Sep 17 00:00:00 2001 From: Christopher Wiley Date: Wed, 1 Jul 2015 13:49:45 -0700 Subject: Add Android specific customizations Bug: 22229743 Change-Id: I11909427487310dcfd737a9195b864a540f41a1d --- Android.mk | 62 ++++++ CleanSpec.mk | 49 +++++ README.android | 4 + buffer.c | 1 + include/event2/event-config.h | 445 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 561 insertions(+) create mode 100644 Android.mk create mode 100644 CleanSpec.mk create mode 100644 include/event2/event-config.h diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..158db00 --- /dev/null +++ b/Android.mk @@ -0,0 +1,62 @@ +# Copyright (C) 2015 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +libevent_sys_src := \ + select.c \ + poll.c \ + epoll.c \ + signal.c + +libevent_core_src := \ + buffer.c \ + bufferevent.c \ + bufferevent_filter.c \ + bufferevent_pair.c \ + bufferevent_ratelim.c \ + bufferevent_sock.c \ + event.c \ + evmap.c \ + evthread.c \ + evutil.c \ + evutil_rand.c \ + listener.c \ + log.c \ + strlcpy.c + +libevent_extra_src := \ + evdns.c \ + event_tagging.c \ + evrpc.c \ + http.c + +LOCAL_ARM_MODE := arm +LOCAL_C_INCLUDES := $(LOCAL_PATH)/include +LOCAL_SRC_FILES := \ + $(libevent_sys_src) \ + $(libevent_core_src) \ + $(libevent_extra_src) +LOCAL_SHARED_LIBRARIES := libc +LOCAL_MODULE := libevent +LOCAL_CFLAGS := \ + -O3 \ + -Wno-implicit-function-declaration \ + -Wno-strict-aliasing \ + -Wno-unused-parameter + +LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include + +include $(BUILD_SHARED_LIBRARY) diff --git a/CleanSpec.mk b/CleanSpec.mk new file mode 100644 index 0000000..b84e1b6 --- /dev/null +++ b/CleanSpec.mk @@ -0,0 +1,49 @@ +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# If you don't need to do a full clean build but would like to touch +# a file or delete some intermediate files, add a clean step to the end +# of the list. These steps will only be run once, if they haven't been +# run before. +# +# E.g.: +# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) +# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) +# +# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with +# files that are missing or have been moved. +# +# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. +# Use $(OUT_DIR) to refer to the "out" directory. +# +# If you need to re-do something that's already mentioned, just copy +# the command and add it to the bottom of the list. E.g., if a change +# that you made last week required touching a file and a change you +# made today requires touching the same file, just copy the old +# touch step and add it to the end of the list. +# +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ + +# For example: +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) +#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) +#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) +#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) + +# ************************************************ +# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST +# ************************************************ diff --git a/README.android b/README.android index 68ace42..98eb0d5 100644 --- a/README.android +++ b/README.android @@ -10,6 +10,10 @@ No changes were made apart from the following: - m4 - sample - test +* added Android.mk +* added CleanSpec.mk +* added missing include of event-internal.h to buffer.c +* added custom include/event2/event-config.h To uprev this project, you'll likely need to reverse engineer the autotools diff --git a/buffer.c b/buffer.c index 8510955..2c66b60 100644 --- a/buffer.c +++ b/buffer.c @@ -84,6 +84,7 @@ #include "event2/bufferevent_struct.h" #include "event2/thread.h" #include "event2/event-config.h" +#include "event-internal.h" #include "log-internal.h" #include "mm-internal.h" #include "util-internal.h" diff --git a/include/event2/event-config.h b/include/event2/event-config.h new file mode 100644 index 0000000..aff1a94 --- /dev/null +++ b/include/event2/event-config.h @@ -0,0 +1,445 @@ +/* event2/event-config.h + * + * This file was generated by autoconf when libevent was built, and post- + * processed by Libevent so that its macros would have a uniform prefix. + * + * Then we post processed it some more to remove harded assumptions about + * the size of integers on the particular system in which we ./configure'd for. + * + * Do not rely on macros in this file existing in later versions. + */ + +#ifndef _EVENT2_EVENT_CONFIG_H_ +#define _EVENT2_EVENT_CONFIG_H_ + +#include +/* The size of `size_t', as computed by sizeof. */ +#if SIZE_MAX == UINT64_MAX +# define _EVENT_SIZEOF_SIZE_T 8 +#elif SIZE_MAX == UINT32_MAX +# define _EVENT_SIZEOF_SIZE_T 4 +#else +# error "No way to infer sizeof size_t" +#endif + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if libevent should build without support for a debug mode */ +/* #undef _EVENT_DISABLE_DEBUG_MODE */ + +/* Define if libevent should not allow replacing the mm functions */ +/* #undef _EVENT_DISABLE_MM_REPLACEMENT */ + +/* Define if libevent should not be compiled with thread support */ +/* #undef _EVENT_DISABLE_THREAD_SUPPORT */ + +/* Define to 1 if you have the `arc4random' function. */ +#define _EVENT_HAVE_ARC4RANDOM 1 + +/* Define to 1 if you have the `arc4random_buf' function. */ +#define _EVENT_HAVE_ARC4RANDOM_BUF 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_ARPA_INET_H 1 + +/* Define to 1 if you have the `clock_gettime' function. */ +#define _EVENT_HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the declaration of `CTL_KERN', and to 0 if you + don't. */ +/* #undef _EVENT_HAVE_DECL_CTL_KERN */ + +/* Define to 1 if you have the declaration of `KERN_ARND', and to 0 if you + don't. */ +/* #undef _EVENT_HAVE_DECL_KERN_ARND */ + +/* Define to 1 if you have the declaration of `KERN_RANDOM', and to 0 if you + don't. */ +/* #undef _EVENT_HAVE_DECL_KERN_RANDOM */ + +/* Define to 1 if you have the declaration of `RANDOM_UUID', and to 0 if you + don't. */ +/* #undef _EVENT_HAVE_DECL_RANDOM_UUID */ + +/* Define if /dev/poll is available */ +/* #undef _EVENT_HAVE_DEVPOLL */ + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_DLFCN_H 1 + +/* Define if your system supports the epoll system calls */ +#define _EVENT_HAVE_EPOLL 1 + +/* Define to 1 if you have the `epoll_ctl' function. */ +#define _EVENT_HAVE_EPOLL_CTL 1 + +/* Define to 1 if you have the `eventfd' function. */ +#define _EVENT_HAVE_EVENTFD 1 + +/* Define if your system supports event ports */ +/* #undef _EVENT_HAVE_EVENT_PORTS */ + +/* Define to 1 if you have the `fcntl' function. */ +#define _EVENT_HAVE_FCNTL 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_FCNTL_H 1 + +/* Define to 1 if the system has the type `fd_mask'. */ +/* #undef _EVENT_HAVE_FD_MASK */ + +/* Do we have getaddrinfo()? */ +#define _EVENT_HAVE_GETADDRINFO 1 + +/* Define to 1 if you have the `getegid' function. */ +#define _EVENT_HAVE_GETEGID 1 + +/* Define to 1 if you have the `geteuid' function. */ +#define _EVENT_HAVE_GETEUID 1 + +/* Define this if you have any gethostbyname_r() */ +/* #undef _EVENT_HAVE_GETHOSTBYNAME_R */ + +/* Define this if gethostbyname_r takes 3 arguments */ +/* #undef _EVENT_HAVE_GETHOSTBYNAME_R_3_ARG */ + +/* Define this if gethostbyname_r takes 5 arguments */ +/* #undef _EVENT_HAVE_GETHOSTBYNAME_R_5_ARG */ + +/* Define this if gethostbyname_r takes 6 arguments */ +/* #undef _EVENT_HAVE_GETHOSTBYNAME_R_6_ARG */ + +/* Define to 1 if you have the `getnameinfo' function. */ +#define _EVENT_HAVE_GETNAMEINFO 1 + +/* Define to 1 if you have the `getprotobynumber' function. */ +#define _EVENT_HAVE_GETPROTOBYNUMBER 1 + +/* Define to 1 if you have the `getservbyname' function. */ +/* #undef _EVENT_HAVE_GETSERVBYNAME */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define _EVENT_HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `inet_aton' function. */ +#define _EVENT_HAVE_INET_ATON 1 + +/* Define to 1 if you have the `inet_ntop' function. */ +#define _EVENT_HAVE_INET_NTOP 1 + +/* Define to 1 if you have the `inet_pton' function. */ +#define _EVENT_HAVE_INET_PTON 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `issetugid' function. */ +#define _EVENT_HAVE_ISSETUGID 1 + +/* Define to 1 if you have the `kqueue' function. */ +/* #undef _EVENT_HAVE_KQUEUE */ + +/* Define if the system has zlib */ +#define _EVENT_HAVE_LIBZ 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mmap' function. */ +#define _EVENT_HAVE_MMAP 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_NETDB_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_NETINET_IN6_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_NETINET_IN_H 1 + +/* Define if the system has openssl */ +#define _EVENT_HAVE_OPENSSL 1 + +/* Define to 1 if you have the header file. */ +/* #undef _EVENT_HAVE_OPENSSL_BIO_H */ + +/* Define to 1 if you have the `pipe' function. */ +#define _EVENT_HAVE_PIPE 1 + +/* Define to 1 if you have the `poll' function. */ +#define _EVENT_HAVE_POLL 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_POLL_H 1 + +/* Define to 1 if you have the `port_create' function. */ +/* #undef _EVENT_HAVE_PORT_CREATE */ + +/* Define to 1 if you have the header file. */ +/* #undef _EVENT_HAVE_PORT_H */ + +/* Define if you have POSIX threads libraries and header files. */ +/* #undef _EVENT_HAVE_PTHREAD */ + +/* Define if we have pthreads on this system */ +#define _EVENT_HAVE_PTHREADS 1 + +/* Define to 1 if you have the `putenv' function. */ +#define _EVENT_HAVE_PUTENV 1 + +/* Define to 1 if the system has the type `sa_family_t'. */ +#define _EVENT_HAVE_SA_FAMILY_T 1 + +/* Define to 1 if you have the `select' function. */ +#define _EVENT_HAVE_SELECT 1 + +/* Define to 1 if you have the `sendfile' function. */ +#define _EVENT_HAVE_SENDFILE 1 + +/* Define to 1 if you have the `setenv' function. */ +#define _EVENT_HAVE_SETENV 1 + +/* Define if F_SETFD is defined in */ +#define _EVENT_HAVE_SETFD 1 + +/* Define to 1 if you have the `sigaction' function. */ +#define _EVENT_HAVE_SIGACTION 1 + +/* Define to 1 if you have the `signal' function. */ +#define _EVENT_HAVE_SIGNAL 1 + +/* Define to 1 if you have the `splice' function. */ +#define _EVENT_HAVE_SPLICE 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_STDARG_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strlcpy' function. */ +#define _EVENT_HAVE_STRLCPY 1 + +/* Define to 1 if you have the `strsep' function. */ +#define _EVENT_HAVE_STRSEP 1 + +/* Define to 1 if you have the `strtok_r' function. */ +#define _EVENT_HAVE_STRTOK_R 1 + +/* Define to 1 if you have the `strtoll' function. */ +#define _EVENT_HAVE_STRTOLL 1 + +/* Define to 1 if the system has the type `struct addrinfo'. */ +#define _EVENT_HAVE_STRUCT_ADDRINFO 1 + +/* Define to 1 if the system has the type `struct in6_addr'. */ +#define _EVENT_HAVE_STRUCT_IN6_ADDR 1 + +/* Define to 1 if `s6_addr16' is a member of `struct in6_addr'. */ +#define _EVENT_HAVE_STRUCT_IN6_ADDR_S6_ADDR16 1 + +/* Define to 1 if `s6_addr32' is a member of `struct in6_addr'. */ +#define _EVENT_HAVE_STRUCT_IN6_ADDR_S6_ADDR32 1 + +/* Define to 1 if the system has the type `struct sockaddr_in6'. */ +#define _EVENT_HAVE_STRUCT_SOCKADDR_IN6 1 + +/* Define to 1 if `sin6_len' is a member of `struct sockaddr_in6'. */ +/* #undef _EVENT_HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN */ + +/* Define to 1 if `sin_len' is a member of `struct sockaddr_in'. */ +/* #undef _EVENT_HAVE_STRUCT_SOCKADDR_IN_SIN_LEN */ + +/* Define to 1 if the system has the type `struct sockaddr_storage'. */ +#define _EVENT_HAVE_STRUCT_SOCKADDR_STORAGE 1 + +/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */ +#define _EVENT_HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 + +/* Define to 1 if `__ss_family' is a member of `struct sockaddr_storage'. */ +/* #undef _EVENT_HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY */ + +/* Define to 1 if you have the `sysctl' function. */ +/* #undef _EVENT_HAVE_SYSCTL */ + +/* Define to 1 if you have the header file. */ +/* #undef _EVENT_HAVE_SYS_DEVPOLL_H */ + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_EPOLL_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_EVENTFD_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _EVENT_HAVE_SYS_EVENT_H */ + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_QUEUE_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_SENDFILE_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_SOCKET_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _EVENT_HAVE_SYS_SYSCTL_H */ + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_UIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_SYS_WAIT_H 1 + +/* Define if TAILQ_FOREACH is defined in */ +/*#define _EVENT_HAVE_TAILQFOREACH 1 */ + +/* Define if timeradd is defined in */ +#define _EVENT_HAVE_TIMERADD 1 + +/* Define if timerclear is defined in */ +#define _EVENT_HAVE_TIMERCLEAR 1 + +/* Define if timercmp is defined in */ +#define _EVENT_HAVE_TIMERCMP 1 + +/* Define if timerisset is defined in */ +#define _EVENT_HAVE_TIMERISSET 1 + +/* Define to 1 if the system has the type `uint16_t'. */ +#define _EVENT_HAVE_UINT16_T 1 + +/* Define to 1 if the system has the type `uint32_t'. */ +#define _EVENT_HAVE_UINT32_T 1 + +/* Define to 1 if the system has the type `uint64_t'. */ +#define _EVENT_HAVE_UINT64_T 1 + +/* Define to 1 if the system has the type `uint8_t'. */ +#define _EVENT_HAVE_UINT8_T 1 + +/* Define to 1 if the system has the type `uintptr_t'. */ +#define _EVENT_HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the `umask' function. */ +#define _EVENT_HAVE_UMASK 1 + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `unsetenv' function. */ +#define _EVENT_HAVE_UNSETENV 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define _EVENT_HAVE_VASPRINTF 1 + +/* Define if kqueue works correctly with pipes */ +/* #undef _EVENT_HAVE_WORKING_KQUEUE */ + +/* Define to 1 if you have the header file. */ +#define _EVENT_HAVE_ZLIB_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define _EVENT_LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef _EVENT_NO_MINUS_C_MINUS_O */ + +/* Numeric representation of the version */ +#define _EVENT_NUMERIC_VERSION 0x02001600 + +/* Name of package */ +#define _EVENT_PACKAGE "libevent" + +/* Define to the address where bug reports for this package should be sent. */ +#define _EVENT_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _EVENT_PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define _EVENT_PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define _EVENT_PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define _EVENT_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _EVENT_PACKAGE_VERSION "" + +/* Define to necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef _EVENT_PTHREAD_CREATE_JOINABLE */ + +/* Define to 1 if you have the ANSI C header files. */ +#define _EVENT_STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define _EVENT_TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define _EVENT_VERSION "2.0.22-stable" + +/* Define to appropriate substitue if compiler doesnt have __func__ */ +/* #undef _EVENT___func__ */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef _EVENT_const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef _EVENT___cplusplus +/* #undef _EVENT_inline */ +#endif + +/* Define to `int' if does not define. */ +/* #undef _EVENT_pid_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef _EVENT_size_t */ + +/* Define to unsigned int if you dont have it */ +/* #undef _EVENT_socklen_t */ + +/* Define to `int' if does not define. */ +/* #undef _EVENT_ssize_t */ + +#endif /* event2/event-config.h */ -- cgit v1.2.3