1diff -ruN ./original/include/apr.h ./changed/include/apr.h 2--- ./original/include/apr.h 2016-01-04 13:12:47.009354091 -0500 3+++ ./changed/include/apr.h 2016-01-04 10:18:31.701765503 -0500 4@@ -80,7 +80,7 @@ 5 #define APR_HAVE_LIMITS_H 1 6 #define APR_HAVE_NETDB_H 1 7 #define APR_HAVE_NETINET_IN_H 1 8-#define APR_HAVE_NETINET_SCTP_H 1 9+#define APR_HAVE_NETINET_SCTP_H 0 10 #define APR_HAVE_NETINET_SCTP_UIO_H 0 11 #define APR_HAVE_NETINET_TCP_H 1 12 #define APR_HAVE_PROCESS_H 0 13@@ -220,19 +220,19 @@ 14 #define APR_USE_SHMEM_MMAP_SHM 0 15 #define APR_USE_SHMEM_MMAP_ZERO 0 16 #define APR_USE_SHMEM_SHMGET_ANON 0 17-#define APR_USE_SHMEM_SHMGET 1 18+#define APR_USE_SHMEM_SHMGET 0 19 #define APR_USE_SHMEM_MMAP_ANON 1 20 #define APR_USE_SHMEM_BEOS 0 21 22 #define APR_USE_FLOCK_SERIALIZE 0 23-#define APR_USE_SYSVSEM_SERIALIZE 1 24+#define APR_USE_SYSVSEM_SERIALIZE 0 25 #define APR_USE_POSIXSEM_SERIALIZE 0 26 #define APR_USE_FCNTL_SERIALIZE 0 27 #define APR_USE_PROC_PTHREAD_SERIALIZE 0 28 #define APR_USE_PTHREAD_SERIALIZE 1 29 30 #define APR_HAS_FLOCK_SERIALIZE 1 31-#define APR_HAS_SYSVSEM_SERIALIZE 1 32+#define APR_HAS_SYSVSEM_SERIALIZE 0 33 #define APR_HAS_POSIXSEM_SERIALIZE 1 34 #define APR_HAS_FCNTL_SERIALIZE 1 35 #define APR_HAS_PROC_PTHREAD_SERIALIZE 1 36@@ -260,7 +260,7 @@ 37 #define APR_HAVE_MEMCHR 1 38 #define APR_HAVE_STRUCT_RLIMIT 1 39 #define APR_HAVE_UNION_SEMUN 0 40-#define APR_HAVE_SCTP 1 41+#define APR_HAVE_SCTP 0 42 #define APR_HAVE_IOVEC 1 43 44 /* APR Feature Macros */ 45@@ -278,7 +278,7 @@ 46 #define APR_HAS_USER 1 47 #define APR_HAS_LARGE_FILES 0 48 #define APR_HAS_XTHREAD_FILES 0 49-#define APR_HAS_OS_UUID 1 50+#define APR_HAS_OS_UUID 0 51 52 #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0 53 54@@ -349,8 +349,8 @@ 55 #define UINT64_C(v) (v ## ULL) 56 #endif 57 #else 58- typedef long apr_int64_t; 59- typedef unsigned long apr_uint64_t; 60+ typedef long long apr_int64_t; 61+ typedef unsigned long long apr_uint64_t; 62 #endif 63 64 typedef size_t apr_size_t; 65diff -ruN ./original/include/arch/netware/DEPS ./changed/include/arch/netware/DEPS 66--- ./original/include/arch/netware/DEPS 1969-12-31 19:00:00.000000000 -0500 67+++ ./changed/include/arch/netware/DEPS 2016-01-04 10:18:31.705765573 -0500 68@@ -0,0 +1,3 @@ 69+include_rules = [ 70+ '+../original/apr_private_common.h', 71+] 72diff -ruN ./original/include/arch/unix/apr_private.h ./changed/include/arch/unix/apr_private.h 73--- ./original/include/arch/unix/apr_private.h 2016-01-04 13:12:47.193357456 -0500 74+++ ./changed/include/arch/unix/apr_private.h 2016-01-04 10:18:31.705765573 -0500 75@@ -31,7 +31,7 @@ 76 #define DEV_RANDOM "/dev/urandom" 77 78 /* Define if struct dirent has an inode member */ 79-#define DIRENT_INODE d_fileno 80+/* #define DIRENT_INODE d_fileno */ 81 82 /* Define if struct dirent has a d_type member */ 83 #define DIRENT_TYPE d_type 84@@ -73,7 +73,7 @@ 85 /* #undef GETSERVBYNAME_IS_THREAD_SAFE */ 86 87 /* Define if getservbyname_r has the glibc style */ 88-#define GETSERVBYNAME_R_GLIBC2 1 89+/* #define GETSERVBYNAME_R_GLIBC2 1 */ 90 91 /* Define if getservbyname_r has the OSF/1 style */ 92 /* #undef GETSERVBYNAME_R_OSF1 */ 93@@ -82,7 +82,7 @@ 94 /* #undef GETSERVBYNAME_R_SOLARIS */ 95 96 /* Define if accept4 function is supported */ 97-#define HAVE_ACCEPT4 1 98+/* #define HAVE_ACCEPT4 1 */ 99 100 /* Define if async i/o supports message q's */ 101 /* #undef HAVE_AIO_MSGQ */ 102@@ -141,7 +141,7 @@ 103 /* #undef HAVE_DL_H */ 104 105 /* Define if dup3 function is supported */ 106-#define HAVE_DUP3 1 107+/* #define HAVE_DUP3 1 */ 108 109 /* Define if EGD is supported */ 110 /* #undef HAVE_EGD */ 111@@ -150,7 +150,7 @@ 112 #define HAVE_EPOLL 1 113 114 /* Define if epoll_create1 function is supported */ 115-#define HAVE_EPOLL_CREATE1 1 116+/* #define HAVE_EPOLL_CREATE1 1 */ 117 118@@ -183,10 +183,19 @@ 119 #define HAVE_GETENV 1 120 121 /* Define to 1 if you have the `getgrgid_r' function. */ 122-#define HAVE_GETGRGID_R 1 123+// Removed due to incompatability with Android NDK r16 124+// On older NDK versions, _POSIX_THREAD_SAFE_FUNCTIONS was unconditionally 125+// #undef'd. On newer versions, it is unconditionally defined as the Posix 126+// version. This causes issues in 127+// user/unix/groupinfo.c, as APR seems to unconditionally define 128+// HAVE_GETGRGID_R AND HAVE_GETGRNAM_R, and the only thing that was previously 129+// preventing it from using getgrgid_r/getgrnam_r was 130+// _POSIX_THREAD_SAFE_FUNCTIONS being undefined. 131+// #define HAVE_GETGRGID_R 1 132 133 /* Define to 1 if you have the `getgrnam_r' function. */ 134-#define HAVE_GETGRNAM_R 1 135+// Removed due to incompatability with Android NDK r16 136+// #define HAVE_GETGRNAM_R 1 137 138 /* Define to 1 if you have the <errno.h> header file. */ 139 #define HAVE_ERRNO_H 1 140@@ -195,13 +195,13 @@ 141 #define HAVE_GETHOSTBYNAME_R 1 142 143 /* Define to 1 if you have the `getifaddrs' function. */ 144-#define HAVE_GETIFADDRS 1 145+/* #define HAVE_GETIFADDRS 1 */ 146 147 /* Define if getnameinfo exists */ 148 #define HAVE_GETNAMEINFO 1 149 150 /* Define to 1 if you have the `getpass' function. */ 151-#define HAVE_GETPASS 1 152+/* #define HAVE_GETPASS 1 */ 153 154 /* Define to 1 if you have the `getpassphrase' function. */ 155 /* #undef HAVE_GETPASSPHRASE */ 156@@ -318,7 +318,7 @@ 157 /* #undef HAVE_NET_ERRNO_H */ 158 159 /* Define to 1 if you have the `nl_langinfo' function. */ 160-#define HAVE_NL_LANGINFO 1 161+/* #define HAVE_NL_LANGINFO 1 */ 162 163 /* Define to 1 if you have the <os2.h> header file. */ 164 /* #undef HAVE_OS2_H */ 165@@ -360,7 +360,7 @@ 166 #define HAVE_PTHREAD_MUTEX_RECURSIVE 1 167 168 /* Define if cross-process robust mutexes are available */ 169-#define HAVE_PTHREAD_MUTEX_ROBUST 1 170+/* #define HAVE_PTHREAD_MUTEX_ROBUST 1 */ 171 172 /* Define if PTHREAD_PROCESS_SHARED is defined in pthread.h */ 173 #define HAVE_PTHREAD_PROCESS_SHARED 1 174@@ -372,7 +372,7 @@ 175 #define HAVE_PTHREAD_RWLOCK_INIT 1 176 177 /* Define to 1 if you have the `pthread_yield' function. */ 178-#define HAVE_PTHREAD_YIELD 1 179+/* #define HAVE_PTHREAD_YIELD 1 */ 180 181 /* Define to 1 if you have the `putenv' function. */ 182 #define HAVE_PUTENV 1 183@@ -474,7 +474,7 @@ 184 #define HAVE_SOCKLEN_T 1 185 186 /* Define if the SOCK_CLOEXEC flag is supported */ 187-#define HAVE_SOCK_CLOEXEC 1 188+/* #define HAVE_SOCK_CLOEXEC 1 */ 189 190 /* Define if SO_ACCEPTFILTER is defined in sys/socket.h */ 191 /* #undef HAVE_SO_ACCEPTFILTER */ 192@@ -531,7 +531,7 @@ 193 /* #undef HAVE_STRUCT_STAT_ST_ATIME_N */ 194 195 /* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ 196-#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 197+/* #define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 0 */ 198 199 /* Define to 1 if `st_blocks' is a member of `struct stat'. */ 200 #define HAVE_STRUCT_STAT_ST_BLOCKS 1 201@@ -543,7 +543,7 @@ 202 /* #undef HAVE_STRUCT_STAT_ST_CTIME_N */ 203 204 /* Define to 1 if `st_ctim.tv_nsec' is a member of `struct stat'. */ 205-#define HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC 1 206+/* #define HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC 1 */ 207 208 /* Define to 1 if `st_mtimensec' is a member of `struct stat'. */ 209 /* #undef HAVE_STRUCT_STAT_ST_MTIMENSEC */ 210@@ -552,7 +552,7 @@ 211 /* #undef HAVE_STRUCT_STAT_ST_MTIME_N */ 212 213 /* Define to 1 if `st_mtim.tv_nsec' is a member of `struct stat'. */ 214-#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 215+/* #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 */ 216 217 /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ 218 #define HAVE_STRUCT_TM_TM_GMTOFF 1 219@@ -594,13 +594,13 @@ 220 #define HAVE_SYS_SELECT_H 1 221 222 /* Define to 1 if you have the <sys/sem.h> header file. */ 223-#define HAVE_SYS_SEM_H 1 224+/* #define HAVE_SYS_SEM_H 1 */ 225 226 /* Define to 1 if you have the <sys/sendfile.h> header file. */ 227 #define HAVE_SYS_SENDFILE_H 1 228 229 /* Define to 1 if you have the <sys/shm.h> header file. */ 230-#define HAVE_SYS_SHM_H 1 231+/* #define HAVE_SYS_SHM_H 1 */ 232 233 /* Define to 1 if you have the <sys/signal.h> header file. */ 234 #define HAVE_SYS_SIGNAL_H 1 235@@ -633,7 +633,7 @@ 236 #define HAVE_SYS_UN_H 1 237 238 /* Define to 1 if you have the <sys/uuid.h> header file. */ 239-/* #undef HAVE_SYS_UUID_H */ 240+#undef HAVE_SYS_UUID_H 241 242 /* Define to 1 if you have the <sys/wait.h> header file. */ 243 #define HAVE_SYS_WAIT_H 1 244@@ -687,7 +687,7 @@ 245 /* #undef HAVE_UUID_H */ 246 247 /* Define to 1 if you have the <uuid/uuid.h> header file. */ 248-#define HAVE_UUID_UUID_H 1 249+/* #define HAVE_UUID_UUID_H 1 */ 250 251 /* Define if C compiler supports VLA */ 252 #define HAVE_VLA 1 253 254 255