diff -ruN ./original/include/apr.h ./changed/include/apr.h
--- ./original/include/apr.h 2016-01-04 13:12:47.009354091 -0500
+++ ./changed/include/apr.h 2016-01-04 10:18:31.701765503 -0500
@@ -80,7 +80,7 @@
#define APR_HAVE_LIMITS_H 1
#define APR_HAVE_NETDB_H 1
#define APR_HAVE_NETINET_IN_H 1
-#define APR_HAVE_NETINET_SCTP_H 1
+#define APR_HAVE_NETINET_SCTP_H 0
#define APR_HAVE_NETINET_SCTP_UIO_H 0
#define APR_HAVE_NETINET_TCP_H 1
#define APR_HAVE_PROCESS_H 0
@@ -220,19 +220,19 @@
#define APR_USE_SHMEM_MMAP_SHM 0
#define APR_USE_SHMEM_MMAP_ZERO 0
#define APR_USE_SHMEM_SHMGET_ANON 0
-#define APR_USE_SHMEM_SHMGET 1
+#define APR_USE_SHMEM_SHMGET 0
#define APR_USE_SHMEM_MMAP_ANON 1
#define APR_USE_SHMEM_BEOS 0
#define APR_USE_FLOCK_SERIALIZE 0
-#define APR_USE_SYSVSEM_SERIALIZE 1
+#define APR_USE_SYSVSEM_SERIALIZE 0
#define APR_USE_POSIXSEM_SERIALIZE 0
#define APR_USE_FCNTL_SERIALIZE 0
#define APR_USE_PROC_PTHREAD_SERIALIZE 0
#define APR_USE_PTHREAD_SERIALIZE 1
#define APR_HAS_FLOCK_SERIALIZE 1
-#define APR_HAS_SYSVSEM_SERIALIZE 1
+#define APR_HAS_SYSVSEM_SERIALIZE 0
#define APR_HAS_POSIXSEM_SERIALIZE 1
#define APR_HAS_FCNTL_SERIALIZE 1
#define APR_HAS_PROC_PTHREAD_SERIALIZE 1
@@ -260,7 +260,7 @@
#define APR_HAVE_MEMCHR 1
#define APR_HAVE_STRUCT_RLIMIT 1
#define APR_HAVE_UNION_SEMUN 0
-#define APR_HAVE_SCTP 1
+#define APR_HAVE_SCTP 0
#define APR_HAVE_IOVEC 1
/* APR Feature Macros */
@@ -278,7 +278,7 @@
#define APR_HAS_USER 1
#define APR_HAS_LARGE_FILES 0
#define APR_HAS_XTHREAD_FILES 0
-#define APR_HAS_OS_UUID 1
+#define APR_HAS_OS_UUID 0
#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0
@@ -349,8 +349,8 @@
#define UINT64_C(v) (v ## ULL)
#endif
#else
- typedef long apr_int64_t;
- typedef unsigned long apr_uint64_t;
+ typedef long long apr_int64_t;
+ typedef unsigned long long apr_uint64_t;
#endif
typedef size_t apr_size_t;
diff -ruN ./original/include/arch/netware/DEPS ./changed/include/arch/netware/DEPS
--- ./original/include/arch/netware/DEPS 1969-12-31 19:00:00.000000000 -0500
+++ ./changed/include/arch/netware/DEPS 2016-01-04 10:18:31.705765573 -0500
@@ -0,0 +1,3 @@
+include_rules = [
+ '+../original/apr_private_common.h',
+]
diff -ruN ./original/include/arch/unix/apr_private.h ./changed/include/arch/unix/apr_private.h
--- ./original/include/arch/unix/apr_private.h 2016-01-04 13:12:47.193357456 -0500
+++ ./changed/include/arch/unix/apr_private.h 2016-01-04 10:18:31.705765573 -0500
@@ -31,7 +31,7 @@
#define DEV_RANDOM "/dev/urandom"
/* Define if struct dirent has an inode member */
-#define DIRENT_INODE d_fileno
+/* #define DIRENT_INODE d_fileno */
/* Define if struct dirent has a d_type member */
#define DIRENT_TYPE d_type
@@ -73,7 +73,7 @@
/* #undef GETSERVBYNAME_IS_THREAD_SAFE */
/* Define if getservbyname_r has the glibc style */
-#define GETSERVBYNAME_R_GLIBC2 1
+/* #define GETSERVBYNAME_R_GLIBC2 1 */
/* Define if getservbyname_r has the OSF/1 style */
/* #undef GETSERVBYNAME_R_OSF1 */
@@ -82,7 +82,7 @@
/* #undef GETSERVBYNAME_R_SOLARIS */
/* Define if accept4 function is supported */
-#define HAVE_ACCEPT4 1
+/* #define HAVE_ACCEPT4 1 */
/* Define if async i/o supports message q's */
/* #undef HAVE_AIO_MSGQ */
@@ -141,7 +141,7 @@
/* #undef HAVE_DL_H */
/* Define if dup3 function is supported */
-#define HAVE_DUP3 1
+/* #define HAVE_DUP3 1 */
/* Define if EGD is supported */
/* #undef HAVE_EGD */
@@ -150,7 +150,7 @@
#define HAVE_EPOLL 1
/* Define if epoll_create1 function is supported */
-#define HAVE_EPOLL_CREATE1 1
+/* #define HAVE_EPOLL_CREATE1 1 */
@@ -183,10 +183,19 @@
#define HAVE_GETENV 1
/* Define to 1 if you have the `getgrgid_r' function. */
-#define HAVE_GETGRGID_R 1
+// Removed due to incompatability with Android NDK r16
+// On older NDK versions, _POSIX_THREAD_SAFE_FUNCTIONS was unconditionally
+// #undef'd. On newer versions, it is unconditionally defined as the Posix
+// version. This causes issues in
+// user/unix/groupinfo.c, as APR seems to unconditionally define
+// HAVE_GETGRGID_R AND HAVE_GETGRNAM_R, and the only thing that was previously
+// preventing it from using getgrgid_r/getgrnam_r was
+// _POSIX_THREAD_SAFE_FUNCTIONS being undefined.
+// #define HAVE_GETGRGID_R 1
/* Define to 1 if you have the `getgrnam_r' function. */
-#define HAVE_GETGRNAM_R 1
+// Removed due to incompatability with Android NDK r16
+// #define HAVE_GETGRNAM_R 1
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
@@ -195,13 +195,13 @@
#define HAVE_GETHOSTBYNAME_R 1
/* Define to 1 if you have the `getifaddrs' function. */
-#define HAVE_GETIFADDRS 1
+/* #define HAVE_GETIFADDRS 1 */
/* Define if getnameinfo exists */
#define HAVE_GETNAMEINFO 1
/* Define to 1 if you have the `getpass' function. */
-#define HAVE_GETPASS 1
+/* #define HAVE_GETPASS 1 */
/* Define to 1 if you have the `getpassphrase' function. */
/* #undef HAVE_GETPASSPHRASE */
@@ -318,7 +318,7 @@
/* #undef HAVE_NET_ERRNO_H */
/* Define to 1 if you have the `nl_langinfo' function. */
-#define HAVE_NL_LANGINFO 1
+/* #define HAVE_NL_LANGINFO 1 */
/* Define to 1 if you have the <os2.h> header file. */
/* #undef HAVE_OS2_H */
@@ -360,7 +360,7 @@
#define HAVE_PTHREAD_MUTEX_RECURSIVE 1
/* Define if cross-process robust mutexes are available */
-#define HAVE_PTHREAD_MUTEX_ROBUST 1
+/* #define HAVE_PTHREAD_MUTEX_ROBUST 1 */
/* Define if PTHREAD_PROCESS_SHARED is defined in pthread.h */
#define HAVE_PTHREAD_PROCESS_SHARED 1
@@ -372,7 +372,7 @@
#define HAVE_PTHREAD_RWLOCK_INIT 1
/* Define to 1 if you have the `pthread_yield' function. */
-#define HAVE_PTHREAD_YIELD 1
+/* #define HAVE_PTHREAD_YIELD 1 */
/* Define to 1 if you have the `putenv' function. */
#define HAVE_PUTENV 1
@@ -474,7 +474,7 @@
#define HAVE_SOCKLEN_T 1
/* Define if the SOCK_CLOEXEC flag is supported */
-#define HAVE_SOCK_CLOEXEC 1
+/* #define HAVE_SOCK_CLOEXEC 1 */
/* Define if SO_ACCEPTFILTER is defined in sys/socket.h */
/* #undef HAVE_SO_ACCEPTFILTER */
@@ -531,7 +531,7 @@
/* #undef HAVE_STRUCT_STAT_ST_ATIME_N */
/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1
+/* #define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 0 */
/* Define to 1 if `st_blocks' is a member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_BLOCKS 1
@@ -543,7 +543,7 @@
/* #undef HAVE_STRUCT_STAT_ST_CTIME_N */
/* Define to 1 if `st_ctim.tv_nsec' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC 1
+/* #define HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC 1 */
/* Define to 1 if `st_mtimensec' is a member of `struct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_MTIMENSEC */
@@ -552,7 +552,7 @@
/* #undef HAVE_STRUCT_STAT_ST_MTIME_N */
/* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1
+/* #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 */
/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */
#define HAVE_STRUCT_TM_TM_GMTOFF 1
@@ -594,13 +594,13 @@
#define HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/sem.h> header file. */
-#define HAVE_SYS_SEM_H 1
+/* #define HAVE_SYS_SEM_H 1 */
/* Define to 1 if you have the <sys/sendfile.h> header file. */
#define HAVE_SYS_SENDFILE_H 1
/* Define to 1 if you have the <sys/shm.h> header file. */
-#define HAVE_SYS_SHM_H 1
+/* #define HAVE_SYS_SHM_H 1 */
/* Define to 1 if you have the <sys/signal.h> header file. */
#define HAVE_SYS_SIGNAL_H 1
@@ -633,7 +633,7 @@
#define HAVE_SYS_UN_H 1
/* Define to 1 if you have the <sys/uuid.h> header file. */
-/* #undef HAVE_SYS_UUID_H */
+#undef HAVE_SYS_UUID_H
/* Define to 1 if you have the <sys/wait.h> header file. */
#define HAVE_SYS_WAIT_H 1
@@ -687,7 +687,7 @@
/* #undef HAVE_UUID_H */
/* Define to 1 if you have the <uuid/uuid.h> header file. */
-#define HAVE_UUID_UUID_H 1
+/* #define HAVE_UUID_UUID_H 1 */
/* Define if C compiler supports VLA */
#define HAVE_VLA 1