From f2be5817e9c3cb98a81689acb42dc6549ae0448f Mon Sep 17 00:00:00 2001
From: Peter Wemm
Date: Sun, 28 Jul 2013 05:06:53 +0000
Subject: [PATCH 1/2] Import Apache apr-1.4.8 to vendor staging area.
---
CHANGES | 66 ++++-
Makefile.win | 2 +-
apr.spec | 2 +-
atomic/unix/ia32.c | 2 +-
atomic/unix/ppc.c | 134 +++++-----
atomic/unix/s390.c | 34 +--
configure | 471 +++++++++++++++++-----------------
docs/pool-design.html | 2 +-
file_io/unix/seek.c | 2 +-
include/apr.hw | 10 +-
include/apr_allocator.h | 27 +-
include/apr_general.h | 2 +-
include/apr_network_io.h | 2 +
include/apr_pools.h | 111 ++++----
include/apr_strings.h | 12 +-
include/apr_thread_proc.h | 4 +-
include/apr_version.h | 7 +-
libapr.rc | 3 -
network_io/unix/multicast.c | 21 +-
network_io/unix/sendrecv.c | 14 +-
network_io/unix/sockaddr.c | 44 +++-
network_io/unix/sockopt.c | 29 ++-
random/unix/sha2.c | 488 +-----------------------------------
random/unix/sha2.h | 31 +--
random/unix/sha2_glue.c | 34 ++-
tables/apr_tables.c | 7 +-
threadproc/unix/thread.c | 2 +-
27 files changed, 619 insertions(+), 944 deletions(-)
diff --git a/CHANGES b/CHANGES
index f3213bfc09f2..51d12367195a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,11 +1,73 @@
-*- coding: utf-8 -*-
+Changes for APR 1.4.8
+
+ *) Fix compiltation with FreeBSD on ARM. [Olli Hauer ]
+
+ *) Fix 1.4.7 regression in apr_mcast_hops() and apr_mcast_loopback()
+ for AF_INET (IPv4) sockets on most Unix platforms. [Joe Orton]
+
+ *) Fix the return value of apr_threadattr_detach_get() on some
+ platforms like OS X and Solaris. [Rainer Jung, ]
+
+Changes for APR 1.4.7
+
+ *) Fix apr_sockaddr_info_get() not returning an error in some cases.
+ PR 54779. [Jan Kaluža ]
+
+ *) Fix amd64 assembler version of apr_atomic_xchgptr(). PR 51851. [Mattias
+ Engdegård ]
+
+ *) Fix PPC atomics to work with gcc 4.0. PR 54840. [Mattias Engdegård
+ ]
+
+ *) configure: Fix detection of O_NONBLOCK inheritance on busy
+ systems. [Rainer Jung]
+
+ *) Remove unused code, fix strict C compliance bug in SHA-256
+ implementation. [Jan Kaluza ]
+
+ *) Fix apr_ipsubnet_test() false positives when comparing IPv4
+ subnet representation against an IPv6 address. PR 54047. [Joe Orton]
+
+ *) apr_socket_accept_filter: Return success when trying to again set
+ the filter to the same value as before, avoiding an unhelpful
+ APR_EINVAL. PR 37863. [Jeff Trawick]
+
+ *) configure: Fix Linux 3.x detection. PR 54001. [Gilles Espinasse
+ ]
+
+ *) apr_time_exp_*() on Windows: Fix error in the tm_yday field of
+ apr_time_exp_t for times within leap years. PR 53175.
+ [Jeff Trawick]
+
+ *) Improve platform detection by updating config.guess and config.sub.
+ [Rainer Jung]
+
+ *) Add support for OSX Mountain Lion (10.8) [Jim Jagielski]
+
+ *) Add various gcc function attributes. [Stefan Fritsch]
+
+ *) Fix some problems in apr_sockaddr_info_get() when trying to resolve
+ the loopback addresses of a protocol family that is not otherwise
+ configured on the system. PR 52709. [Nirgal Vourgère
+ , Stefan Fritsch]
+
+ *) Fix file not being unlocked if truncate call on a file fails.
+ [Mladen Turk]
+
+ *) apr_mcast_hops: Fix EINVAL for IPv6 sockets caused by using byte
+ instead integer for setsockopt. [Mladen Turk]
+
+ *) Windows: Fix compile-time checks for 64-bit builds, resolving a
+ crash in httpd's mod_rewrite. PR 49155. []
+
Changes for APR 1.4.6
*) Flush write buffer before truncate call on a file.
[Mladen Turk]
- *) Security: oCERT-2011-003
- Randomise hashes by providing a seed.
+ *) Randomise hashes by providing a seed.
+ Assigned CVE-2012-0840, oCERT-2011-003, but not known to be exploitable.
[Bojan Smojver, Branko Čibej, Ruediger Pluem et al.]
*) apr_random: Prevent segfault if pool used to initialize apr_random is
diff --git a/Makefile.win b/Makefile.win
index d2090f3f8fef..5f9c3133f452 100644
--- a/Makefile.win
+++ b/Makefile.win
@@ -25,7 +25,7 @@
#
# For example;
#
-# nmake -f Makefile.win PREFIX=C:\APR buildall checkall installall clean
+# nmake -f Makefile.win PREFIX=C:\APR buildall checkall install clean
#
!IF EXIST("apr.sln") && ([devenv /help > NUL 2>&1] == 0) \
diff --git a/apr.spec b/apr.spec
index abecbdfd6761..40204ffa049a 100644
--- a/apr.spec
+++ b/apr.spec
@@ -3,7 +3,7 @@
Summary: Apache Portable Runtime library
Name: apr
-Version: 1.4.6
+Version: 1.4.8
Release: 1
License: Apache Software License
Group: System Environment/Libraries
diff --git a/atomic/unix/ia32.c b/atomic/unix/ia32.c
index 3826f9275509..63f48a753a9f 100644
--- a/atomic/unix/ia32.c
+++ b/atomic/unix/ia32.c
@@ -117,7 +117,7 @@ APR_DECLARE(void*) apr_atomic_xchgptr(volatile void **mem, void *with)
#elif APR_SIZEOF_VOIDP == 8
asm volatile ("xchgq %q2, %1"
: "=a" (prev), "+m" (*mem)
- : "r" ((unsigned long)with));
+ : "0" (with));
#else
#error APR_SIZEOF_VOIDP value not supported
#endif
diff --git a/atomic/unix/ppc.c b/atomic/unix/ppc.c
index db9fca934d3e..ae8d503cc4d2 100644
--- a/atomic/unix/ppc.c
+++ b/atomic/unix/ppc.c
@@ -19,7 +19,7 @@
#ifdef USE_ATOMICS_PPC
#ifdef PPC405_ERRATA
-# define PPC405_ERR77_SYNC " sync\n"
+# define PPC405_ERR77_SYNC " sync\n"
#else
# define PPC405_ERR77_SYNC
#endif
@@ -43,12 +43,12 @@ APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint3
{
apr_uint32_t prev, temp;
- asm volatile ("loop_%=:\n" /* lost reservation */
- " lwarx %0,0,%3\n" /* load and reserve */
- " add %1,%0,%4\n" /* add val and prev */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stwcx. %1,0,%3\n" /* store new value */
- " bne- loop_%=\n" /* loop if lost */
+ asm volatile ("1:\n" /* lost reservation */
+ " lwarx %0,0,%3\n" /* load and reserve */
+ " add %1,%0,%4\n" /* add val and prev */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stwcx. %1,0,%3\n" /* store new value */
+ " bne- 1b\n" /* loop if lost */
: "=&r" (prev), "=&r" (temp), "=m" (*mem)
: "b" (mem), "r" (val)
: "cc", "memory");
@@ -60,12 +60,12 @@ APR_DECLARE(void) apr_atomic_sub32(volatile apr_uint32_t *mem, apr_uint32_t val)
{
apr_uint32_t temp;
- asm volatile ("loop_%=:\n" /* lost reservation */
- " lwarx %0,0,%2\n" /* load and reserve */
- " subf %0,%3,%0\n" /* subtract val */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stwcx. %0,0,%2\n" /* store new value */
- " bne- loop_%=\n" /* loop if lost */
+ asm volatile ("1:\n" /* lost reservation */
+ " lwarx %0,0,%2\n" /* load and reserve */
+ " subf %0,%3,%0\n" /* subtract val */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stwcx. %0,0,%2\n" /* store new value */
+ " bne- 1b\n" /* loop if lost */
: "=&r" (temp), "=m" (*mem)
: "b" (mem), "r" (val)
: "cc", "memory");
@@ -75,13 +75,13 @@ APR_DECLARE(apr_uint32_t) apr_atomic_inc32(volatile apr_uint32_t *mem)
{
apr_uint32_t prev;
- asm volatile ("loop_%=:\n" /* lost reservation */
- " lwarx %0,0,%2\n" /* load and reserve */
- " addi %0,%0,1\n" /* add immediate */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stwcx. %0,0,%2\n" /* store new value */
- " bne- loop_%=\n" /* loop if lost */
- " subi %0,%0,1\n" /* return old value */
+ asm volatile ("1:\n" /* lost reservation */
+ " lwarx %0,0,%2\n" /* load and reserve */
+ " addi %0,%0,1\n" /* add immediate */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stwcx. %0,0,%2\n" /* store new value */
+ " bne- 1b\n" /* loop if lost */
+ " subi %0,%0,1\n" /* return old value */
: "=&b" (prev), "=m" (*mem)
: "b" (mem), "m" (*mem)
: "cc", "memory");
@@ -93,12 +93,12 @@ APR_DECLARE(int) apr_atomic_dec32(volatile apr_uint32_t *mem)
{
apr_uint32_t prev;
- asm volatile ("loop_%=:\n" /* lost reservation */
- " lwarx %0,0,%2\n" /* load and reserve */
- " subi %0,%0,1\n" /* subtract immediate */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stwcx. %0,0,%2\n" /* store new value */
- " bne- loop_%=\n" /* loop if lost */
+ asm volatile ("1:\n" /* lost reservation */
+ " lwarx %0,0,%2\n" /* load and reserve */
+ " subi %0,%0,1\n" /* subtract immediate */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stwcx. %0,0,%2\n" /* store new value */
+ " bne- 1b\n" /* loop if lost */
: "=&b" (prev), "=m" (*mem)
: "b" (mem), "m" (*mem)
: "cc", "memory");
@@ -111,14 +111,14 @@ APR_DECLARE(apr_uint32_t) apr_atomic_cas32(volatile apr_uint32_t *mem, apr_uint3
{
apr_uint32_t prev;
- asm volatile ("loop_%=:\n" /* lost reservation */
- " lwarx %0,0,%1\n" /* load and reserve */
- " cmpw %0,%3\n" /* compare operands */
- " bne- exit_%=\n" /* skip if not equal */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stwcx. %2,0,%1\n" /* store new value */
- " bne- loop_%=\n" /* loop if lost */
- "exit_%=:\n" /* not equal */
+ asm volatile ("1:\n" /* lost reservation */
+ " lwarx %0,0,%1\n" /* load and reserve */
+ " cmpw %0,%3\n" /* compare operands */
+ " bne- exit_%=\n" /* skip if not equal */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stwcx. %2,0,%1\n" /* store new value */
+ " bne- 1b\n" /* loop if lost */
+ "exit_%=:\n" /* not equal */
: "=&r" (prev)
: "b" (mem), "r" (with), "r" (cmp)
: "cc", "memory");
@@ -130,11 +130,11 @@ APR_DECLARE(apr_uint32_t) apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint
{
apr_uint32_t prev;
- asm volatile ("loop_%=:\n" /* lost reservation */
- " lwarx %0,0,%1\n" /* load and reserve */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stwcx. %2,0,%1\n" /* store new value */
- " bne- loop_%=" /* loop if lost */
+ asm volatile ("1:\n" /* lost reservation */
+ " lwarx %0,0,%1\n" /* load and reserve */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stwcx. %2,0,%1\n" /* store new value */
+ " bne- 1b" /* loop if lost */
: "=&r" (prev)
: "b" (mem), "r" (val)
: "cc", "memory");
@@ -146,26 +146,26 @@ APR_DECLARE(void*) apr_atomic_casptr(volatile void **mem, void *with, const void
{
void *prev;
#if APR_SIZEOF_VOIDP == 4
- asm volatile ("loop_%=:\n" /* lost reservation */
- " lwarx %0,0,%1\n" /* load and reserve */
- " cmpw %0,%3\n" /* compare operands */
- " bne- exit_%=\n" /* skip if not equal */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stwcx. %2,0,%1\n" /* store new value */
- " bne- loop_%=\n" /* loop if lost */
- "exit_%=:\n" /* not equal */
+ asm volatile ("1:\n" /* lost reservation */
+ " lwarx %0,0,%1\n" /* load and reserve */
+ " cmpw %0,%3\n" /* compare operands */
+ " bne- 2f\n" /* skip if not equal */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stwcx. %2,0,%1\n" /* store new value */
+ " bne- 1b\n" /* loop if lost */
+ "2:\n" /* not equal */
: "=&r" (prev)
: "b" (mem), "r" (with), "r" (cmp)
: "cc", "memory");
#elif APR_SIZEOF_VOIDP == 8
- asm volatile ("loop_%=:\n" /* lost reservation */
- " ldarx %0,0,%1\n" /* load and reserve */
- " cmpd %0,%3\n" /* compare operands */
- " bne- exit_%=\n" /* skip if not equal */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stdcx. %2,0,%1\n" /* store new value */
- " bne- loop_%=\n" /* loop if lost */
- "exit_%=:\n" /* not equal */
+ asm volatile ("1:\n" /* lost reservation */
+ " ldarx %0,0,%1\n" /* load and reserve */
+ " cmpd %0,%3\n" /* compare operands */
+ " bne- 2f\n" /* skip if not equal */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stdcx. %2,0,%1\n" /* store new value */
+ " bne- 1b\n" /* loop if lost */
+ "2:\n" /* not equal */
: "=&r" (prev)
: "b" (mem), "r" (with), "r" (cmp)
: "cc", "memory");
@@ -179,22 +179,22 @@ APR_DECLARE(void*) apr_atomic_xchgptr(volatile void **mem, void *with)
{
void *prev;
#if APR_SIZEOF_VOIDP == 4
- asm volatile ("loop_%=:\n" /* lost reservation */
- " lwarx %0,0,%1\n" /* load and reserve */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stwcx. %2,0,%1\n" /* store new value */
- " bne- loop_%=\n" /* loop if lost */
- " isync\n" /* memory barrier */
+ asm volatile ("1:\n" /* lost reservation */
+ " lwarx %0,0,%1\n" /* load and reserve */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stwcx. %2,0,%1\n" /* store new value */
+ " bne- 1b\n" /* loop if lost */
+ " isync\n" /* memory barrier */
: "=&r" (prev)
: "b" (mem), "r" (with)
: "cc", "memory");
#elif APR_SIZEOF_VOIDP == 8
- asm volatile ("loop_%=:\n" /* lost reservation */
- " ldarx %0,0,%1\n" /* load and reserve */
- PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
- " stdcx. %2,0,%1\n" /* store new value */
- " bne- loop_%=\n" /* loop if lost */
- " isync\n" /* memory barrier */
+ asm volatile ("1:\n" /* lost reservation */
+ " ldarx %0,0,%1\n" /* load and reserve */
+ PPC405_ERR77_SYNC /* ppc405 Erratum 77 */
+ " stdcx. %2,0,%1\n" /* store new value */
+ " bne- 1b\n" /* loop if lost */
+ " isync\n" /* memory barrier */
: "=&r" (prev)
: "b" (mem), "r" (with)
: "cc", "memory");
diff --git a/atomic/unix/s390.c b/atomic/unix/s390.c
index 3e2332077f43..b6b6f42de02d 100644
--- a/atomic/unix/s390.c
+++ b/atomic/unix/s390.c
@@ -38,10 +38,10 @@ static APR_INLINE apr_uint32_t atomic_add(volatile apr_uint32_t *mem, apr_uint32
apr_uint32_t prev = *mem, temp;
asm volatile ("loop_%=:\n"
- " lr %1,%0\n"
- " alr %1,%3\n"
- " cs %0,%1,%2\n"
- " jl loop_%=\n"
+ " lr %1,%0\n"
+ " alr %1,%3\n"
+ " cs %0,%1,%2\n"
+ " jl loop_%=\n"
: "+d" (prev), "+d" (temp), "=Q" (*mem)
: "d" (val), "m" (*mem)
: "cc", "memory");
@@ -64,10 +64,10 @@ static APR_INLINE apr_uint32_t atomic_sub(volatile apr_uint32_t *mem, apr_uint32
apr_uint32_t prev = *mem, temp;
asm volatile ("loop_%=:\n"
- " lr %1,%0\n"
- " slr %1,%3\n"
- " cs %0,%1,%2\n"
- " jl loop_%=\n"
+ " lr %1,%0\n"
+ " slr %1,%3\n"
+ " cs %0,%1,%2\n"
+ " jl loop_%=\n"
: "+d" (prev), "+d" (temp), "=Q" (*mem)
: "d" (val), "m" (*mem)
: "cc", "memory");
@@ -88,7 +88,7 @@ APR_DECLARE(int) apr_atomic_dec32(volatile apr_uint32_t *mem)
APR_DECLARE(apr_uint32_t) apr_atomic_cas32(volatile apr_uint32_t *mem, apr_uint32_t with,
apr_uint32_t cmp)
{
- asm volatile (" cs %0,%2,%1\n"
+ asm volatile (" cs %0,%2,%1\n"
: "+d" (cmp), "=Q" (*mem)
: "d" (with), "m" (*mem)
: "cc", "memory");
@@ -101,8 +101,8 @@ APR_DECLARE(apr_uint32_t) apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint
apr_uint32_t prev = *mem;
asm volatile ("loop_%=:\n"
- " cs %0,%2,%1\n"
- " jl loop_%=\n"
+ " cs %0,%2,%1\n"
+ " jl loop_%=\n"
: "+d" (prev), "=Q" (*mem)
: "d" (val), "m" (*mem)
: "cc", "memory");
@@ -114,12 +114,12 @@ APR_DECLARE(void*) apr_atomic_casptr(volatile void **mem, void *with, const void
{
void *prev = (void *) cmp;
#if APR_SIZEOF_VOIDP == 4
- asm volatile (" cs %0,%2,%1\n"
+ asm volatile (" cs %0,%2,%1\n"
: "+d" (prev), "=Q" (*mem)
: "d" (with), "m" (*mem)
: "cc", "memory");
#elif APR_SIZEOF_VOIDP == 8
- asm volatile (" csg %0,%2,%1\n"
+ asm volatile (" csg %0,%2,%1\n"
: "+d" (prev), "=Q" (*mem)
: "d" (with), "m" (*mem)
: "cc", "memory");
@@ -134,15 +134,15 @@ APR_DECLARE(void*) apr_atomic_xchgptr(volatile void **mem, void *with)
void *prev = (void *) *mem;
#if APR_SIZEOF_VOIDP == 4
asm volatile ("loop_%=:\n"
- " cs %0,%2,%1\n"
- " jl loop_%=\n"
+ " cs %0,%2,%1\n"
+ " jl loop_%=\n"
: "+d" (prev), "=Q" (*mem)
: "d" (with), "m" (*mem)
: "cc", "memory");
#elif APR_SIZEOF_VOIDP == 8
asm volatile ("loop_%=:\n"
- " csg %0,%2,%1\n"
- " jl loop_%=\n"
+ " csg %0,%2,%1\n"
+ " jl loop_%=\n"
: "+d" (prev), "=Q" (*mem)
: "d" (with), "m" (*mem)
: "cc", "memory");
diff --git a/configure b/configure
index cee0f0e635db..00122df8871f 100755
--- a/configure
+++ b/configure
@@ -1,11 +1,9 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68.
+# Generated by GNU Autoconf 2.69.
#
#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -134,6 +132,31 @@ export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
@@ -167,7 +190,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else
exitcode=1; echo positional parameters were not saved.
fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -220,21 +244,25 @@ IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
fi
if test x$as_have_required = xno; then :
@@ -336,6 +364,14 @@ $as_echo X"$as_dir" |
} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -457,6 +493,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
@@ -491,16 +531,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -512,28 +552,8 @@ else
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -1371,8 +1391,6 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1642,9 +1660,9 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
configure
-generated by GNU Autoconf 2.68
+generated by GNU Autoconf 2.69
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1917,7 +1935,7 @@ $as_echo "$ac_try_echo"; } >&5
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- $as_test_x conftest$ac_exeext
+ test -x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2074,7 +2092,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2090,7 +2109,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2116,7 +2136,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2132,7 +2153,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2166,7 +2188,8 @@ int
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0
+test_array [0] = 0;
+return test_array [0];
;
return 0;
@@ -2342,7 +2365,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3192,14 +3215,6 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# _LT_LANG
-
-############################################################
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_GO. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-############################################################
-#m4_defun
#m4_ifndef
@@ -5069,7 +5084,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5109,7 +5124,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5162,7 +5177,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5203,7 +5218,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -5261,7 +5276,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5305,7 +5320,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5751,8 +5766,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
-#include
-#include
+struct stat;
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -5860,7 +5874,7 @@ do
for ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+ as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
@@ -6444,83 +6458,12 @@ if test "x$apr_preload_done" != "xyes" ; then
;;
*-linux*)
- case `uname -r` in
- 2.* )
- if test "x$CPPFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DLINUX=2\""
- CPPFLAGS="-DLINUX=2"
- else
- apr_addto_bugger="-DLINUX=2"
- for i in $apr_addto_bugger; do
- apr_addto_duplicate="0"
- for j in $CPPFLAGS; do
- if test "x$i" = "x$j"; then
- apr_addto_duplicate="1"
- break
- fi
- done
- if test $apr_addto_duplicate = "0"; then
- test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $i"
- fi
- done
- fi
-
- ;;
- 1.* )
- if test "x$CPPFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DLINUX=1\""
- CPPFLAGS="-DLINUX=1"
- else
- apr_addto_bugger="-DLINUX=1"
- for i in $apr_addto_bugger; do
- apr_addto_duplicate="0"
- for j in $CPPFLAGS; do
- if test "x$i" = "x$j"; then
- apr_addto_duplicate="1"
- break
- fi
- done
- if test $apr_addto_duplicate = "0"; then
- test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $i"
- fi
- done
- fi
-
- ;;
- * )
- ;;
- esac
if test "x$CPPFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-D_REENTRANT -D_GNU_SOURCE\""
- CPPFLAGS="-D_REENTRANT -D_GNU_SOURCE"
+ test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DLINUX -D_REENTRANT -D_GNU_SOURCE\""
+ CPPFLAGS="-DLINUX -D_REENTRANT -D_GNU_SOURCE"
else
- apr_addto_bugger="-D_REENTRANT -D_GNU_SOURCE"
- for i in $apr_addto_bugger; do
- apr_addto_duplicate="0"
- for j in $CPPFLAGS; do
- if test "x$i" = "x$j"; then
- apr_addto_duplicate="1"
- break
- fi
- done
- if test $apr_addto_duplicate = "0"; then
- test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $i"
- fi
- done
- fi
-
- ;;
- *-GNU*)
-
- if test "x$CPPFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DHURD -D_GNU_SOURCE\""
- CPPFLAGS="-DHURD -D_GNU_SOURCE"
- else
- apr_addto_bugger="-DHURD -D_GNU_SOURCE"
+ apr_addto_bugger="-DLINUX -D_REENTRANT -D_GNU_SOURCE"
for i in $apr_addto_bugger; do
apr_addto_duplicate="0"
for j in $CPPFLAGS; do
@@ -6769,6 +6712,29 @@ if test "x$apr_preload_done" != "xyes" ; then
done
fi
+ ;;
+ *-gnu*|*-GNU*)
+
+ if test "x$CPPFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-D_REENTRANT -D_GNU_SOURCE -DHURD\""
+ CPPFLAGS="-D_REENTRANT -D_GNU_SOURCE -DHURD"
+ else
+ apr_addto_bugger="-D_REENTRANT -D_GNU_SOURCE -DHURD"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $CPPFLAGS; do
+ if test "x$i" = "x$j"; then
+ apr_addto_duplicate="1"
+ break
+ fi
+ done
+ if test $apr_addto_duplicate = "0"; then
+ test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $i"
+ fi
+ done
+ fi
+
;;
*-next-nextstep*)
@@ -6898,7 +6864,7 @@ if test "x$apr_preload_done" != "xyes" ; then
fi
# See issue 34332
;;
- *-apple-darwin1[01].*)
+ *-apple-darwin1?.*)
if test "x$CPPFLAGS" = "x"; then
test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DDARWIN_10\""
@@ -9512,7 +9478,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9564,7 +9530,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9604,7 +9570,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9676,7 +9642,7 @@ case $as_dir/ in #((
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -9748,7 +9714,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RM="rm"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9785,7 +9751,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AS="as"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9822,7 +9788,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ASCPP="cpp"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9860,7 +9826,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AR="${ac_tool_prefix}ar"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9900,7 +9866,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AR="ar"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9955,7 +9921,7 @@ do
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+ as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
@@ -10021,7 +9987,7 @@ do
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+ as_fn_executable_p "$ac_path_EGREP" || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
@@ -10228,8 +10194,8 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-# define __EXTENSIONS__ 1
- $ac_includes_default
+# define __EXTENSIONS__ 1
+ $ac_includes_default
int
main ()
{
@@ -10421,7 +10387,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AS="${ac_tool_prefix}as"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10461,7 +10427,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AS="as"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10513,7 +10479,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10553,7 +10519,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10605,7 +10571,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10645,7 +10611,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -10819,7 +10785,7 @@ do
for ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+ as_fn_executable_p "$ac_path_SED" || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
@@ -10898,7 +10864,7 @@ do
for ac_prog in fgrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+ as_fn_executable_p "$ac_path_FGREP" || continue
# Check for GNU ac_path_FGREP and select it if it is found.
# Check for GNU $ac_path_FGREP
case `"$ac_path_FGREP" --version 2>&1` in
@@ -11154,7 +11120,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -11198,7 +11164,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -11611,7 +11577,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -11651,7 +11617,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OBJDUMP="objdump"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -11954,7 +11920,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -11994,7 +11960,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DLLTOOL="dlltool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -12094,7 +12060,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -12138,7 +12104,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_AR="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -12263,7 +12229,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_STRIP="${ac_tool_prefix}strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -12303,7 +12269,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_STRIP="strip"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -12362,7 +12328,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -12402,7 +12368,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13051,7 +13017,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13091,7 +13057,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13171,7 +13137,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13211,7 +13177,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13263,7 +13229,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13303,7 +13269,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_NMEDIT="nmedit"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13355,7 +13321,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13395,7 +13361,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_LIPO="lipo"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13447,7 +13413,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13487,7 +13453,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OTOOL="otool"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13539,7 +13505,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -13579,7 +13545,7 @@ do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_OTOOL64="otool64"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -21805,23 +21771,20 @@ else
/* end confdefs.h. */
$ac_includes_default
int
-find_stack_direction ()
+find_stack_direction (int *addr, int depth)
{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
+ int dir, dummy = 0;
+ if (! addr)
+ addr = &dummy;
+ *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+ dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+ return dir + dummy;
}
int
-main ()
+main (int argc, char **argv)
{
- return find_stack_direction () < 0;
+ return find_stack_direction (0, argc + !argv + 20) < 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
@@ -22960,11 +22923,11 @@ else
int
main ()
{
-/* FIXME: Include the comments suggested by Paul. */
+
#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
+ /* Ultrix mips cc rejects this sort of thing. */
typedef int charset[2];
- const charset cs;
+ const charset cs = { 0, 0 };
/* SunOS 4.1.1 cc rejects this. */
char const *const *pcpcc;
char **ppc;
@@ -22981,8 +22944,9 @@ main ()
++pcpcc;
ppc = (char**) pcpcc;
pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
+ { /* SCO 3.2v4 cc rejects this sort of thing. */
+ char tx;
+ char *t = &tx;
char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0;
@@ -22998,10 +22962,10 @@ main ()
iptr p = 0;
++p;
}
- { /* AIX XL C 1.02.0.0 rejects this saying
+ { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
+ struct s { int j; const int *ap[3]; } bx;
+ struct s *b = &bx; b->j = 5;
}
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
const int foo = 10;
@@ -27149,13 +27113,24 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
+#ifdef HAVE_STDLIB_H
+#include
+#endif
+#ifdef HAVE_STRING_H
+#include
+#endif
+#ifdef HAVE_STDIO_H
#include
+#endif
#ifdef HAVE_SYS_TYPES_H
#include
#endif
#ifdef HAVE_SYS_SOCKET_H
#include
#endif
+#ifdef HAVE_SYS_SELECT_H
+#include
+#endif
#ifdef HAVE_NETINET_IN_H
#include
#endif
@@ -27226,6 +27201,26 @@ int main(void) {
exit(1);
}
sa_len = sizeof sa;
+ /* 1 second select timeout */
+ tv.tv_sec = 1;
+ tv.tv_usec = 0;
+ /* Set up fd set */
+ FD_ZERO(&fds);
+ FD_SET(listen_s, &fds);
+ /* Wait for socket to become readable */
+ rc = select(listen_s + 1, &fds, NULL, NULL, &tv);
+ if (rc < 0) {
+ perror("select");
+ exit(1);
+ }
+ if (rc == 0) {
+ fprintf(stderr, "Socket failed to become readable (timeout)\n");
+ exit(1);
+ }
+ if (!FD_ISSET(listen_s, &fds)) {
+ fprintf(stderr, "Socket failed to become readable (selected another fd)\n");
+ exit(1);
+ }
connected_s = accept(listen_s, (struct sockaddr *)&sa, &sa_len);
if (connected_s < 0) {
perror("accept");
@@ -28875,16 +28870,16 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -28944,28 +28939,16 @@ else
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -28987,7 +28970,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# values after options handling.
ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -29053,10 +29036,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.68,
+configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -29146,7 +29129,7 @@ fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
diff --git a/docs/pool-design.html b/docs/pool-design.html
index f039d46552de..90d845257c1a 100644
--- a/docs/pool-design.html
+++ b/docs/pool-design.html
@@ -4,7 +4,7 @@
- Last modified at [$Date: 2004-11-25 09:51:51 +1100 (Thu, 25 Nov 2004) $]
+ Last modified at [$Date: 2004-11-24 17:51:51 -0500 (Wed, 24 Nov 2004) $]
Using APR Pools
diff --git a/file_io/unix/seek.c b/file_io/unix/seek.c
index e70805d7f5d7..3f5aa00e9567 100644
--- a/file_io/unix/seek.c
+++ b/file_io/unix/seek.c
@@ -117,10 +117,10 @@ apr_status_t apr_file_trunc(apr_file_t *fp, apr_off_t offset)
/* Reset buffer positions for write mode */
fp->bufpos = fp->direction = fp->dataRead = 0;
}
+ file_unlock(fp);
if (rc) {
return rc;
}
- file_unlock(fp);
}
if (ftruncate(fp->filedes, offset) == -1) {
return errno;
diff --git a/include/apr.hw b/include/apr.hw
index 0aaa62c63ee6..a75bc602943d 100644
--- a/include/apr.hw
+++ b/include/apr.hw
@@ -36,6 +36,12 @@
* for Win32 or Netware by those build environments, respectively.
*/
+/* Make sure we have our platform identifier macro defined we ask for later.
+ */
+#if defined(_WIN32) && !defined(WIN32)
+#define WIN32 1
+#endif
+
#if defined(WIN32) || defined(DOXYGEN)
/* Ignore most warnings (back down to /W3) for poorly constructed headers
@@ -377,7 +383,7 @@ typedef int apr_off_t;
typedef int apr_socklen_t;
typedef apr_uint64_t apr_ino_t;
-#ifdef WIN64
+#ifdef _WIN64
#define APR_SIZEOF_VOIDP 8
#else
#define APR_SIZEOF_VOIDP 4
@@ -552,7 +558,7 @@ typedef apr_uint32_t apr_uintptr_t;
#define APR_DECLARE_DATA __declspec(dllimport)
#endif
-#ifdef WIN64
+#ifdef _WIN64
#define APR_SSIZE_T_FMT "I64d"
#define APR_SIZE_T_FMT "I64u"
#else
diff --git a/include/apr_allocator.h b/include/apr_allocator.h
index 5aaeb1b2faf9..5d6677645db7 100644
--- a/include/apr_allocator.h
+++ b/include/apr_allocator.h
@@ -71,7 +71,8 @@ struct apr_memnode_t {
* @param allocator The allocator we have just created.
*
*/
-APR_DECLARE(apr_status_t) apr_allocator_create(apr_allocator_t **allocator);
+APR_DECLARE(apr_status_t) apr_allocator_create(apr_allocator_t **allocator)
+ __attribute__((nonnull(1)));
/**
* Destroy an allocator
@@ -79,7 +80,8 @@ APR_DECLARE(apr_status_t) apr_allocator_create(apr_allocator_t **allocator);
* @remark Any memnodes not given back to the allocator prior to destroying
* will _not_ be free()d.
*/
-APR_DECLARE(void) apr_allocator_destroy(apr_allocator_t *allocator);
+APR_DECLARE(void) apr_allocator_destroy(apr_allocator_t *allocator)
+ __attribute__((nonnull(1)));
/**
* Allocate a block of mem from the allocator
@@ -88,7 +90,8 @@ APR_DECLARE(void) apr_allocator_destroy(apr_allocator_t *allocator);
* memnode structure)
*/
APR_DECLARE(apr_memnode_t *) apr_allocator_alloc(apr_allocator_t *allocator,
- apr_size_t size);
+ apr_size_t size)
+ __attribute__((nonnull(1)));
/**
* Free a list of blocks of mem, giving them back to the allocator.
@@ -98,7 +101,8 @@ APR_DECLARE(apr_memnode_t *) apr_allocator_alloc(apr_allocator_t *allocator,
* @param memnode The memory node to return
*/
APR_DECLARE(void) apr_allocator_free(apr_allocator_t *allocator,
- apr_memnode_t *memnode);
+ apr_memnode_t *memnode)
+ __attribute__((nonnull(1,2)));
#include "apr_pools.h"
@@ -114,13 +118,15 @@ APR_DECLARE(void) apr_allocator_free(apr_allocator_t *allocator,
* the allocator will never be destroyed.
*/
APR_DECLARE(void) apr_allocator_owner_set(apr_allocator_t *allocator,
- apr_pool_t *pool);
+ apr_pool_t *pool)
+ __attribute__((nonnull(1)));
/**
* Get the current owner of the allocator
* @param allocator The allocator to get the owner from
*/
-APR_DECLARE(apr_pool_t *) apr_allocator_owner_get(apr_allocator_t *allocator);
+APR_DECLARE(apr_pool_t *) apr_allocator_owner_get(apr_allocator_t *allocator)
+ __attribute__((nonnull(1)));
/**
* Set the current threshold at which the allocator should start
@@ -129,7 +135,8 @@ APR_DECLARE(apr_pool_t *) apr_allocator_owner_get(apr_allocator_t *allocator);
* @param size The threshold. 0 == unlimited.
*/
APR_DECLARE(void) apr_allocator_max_free_set(apr_allocator_t *allocator,
- apr_size_t size);
+ apr_size_t size)
+ __attribute__((nonnull(1)));
#include "apr_thread_mutex.h"
@@ -140,14 +147,16 @@ APR_DECLARE(void) apr_allocator_max_free_set(apr_allocator_t *allocator,
* @param mutex The mutex
*/
APR_DECLARE(void) apr_allocator_mutex_set(apr_allocator_t *allocator,
- apr_thread_mutex_t *mutex);
+ apr_thread_mutex_t *mutex)
+ __attribute__((nonnull(1)));
/**
* Get the mutex currently set for the allocator
* @param allocator The allocator
*/
APR_DECLARE(apr_thread_mutex_t *) apr_allocator_mutex_get(
- apr_allocator_t *allocator);
+ apr_allocator_t *allocator)
+ __attribute__((nonnull(1)));
#endif /* APR_HAS_THREADS */
diff --git a/include/apr_general.h b/include/apr_general.h
index 1ead8b665657..c7389ec92969 100644
--- a/include/apr_general.h
+++ b/include/apr_general.h
@@ -76,7 +76,7 @@ typedef int apr_signum_t;
* @return offset
*/
-#if defined(CRAY) || (defined(__arm) && !defined(LINUX))
+#if defined(CRAY) || (defined(__arm) && !(defined(LINUX) || defined(__FreeBSD__)))
#ifdef __STDC__
#define APR_OFFSET(p_type,field) _Offsetof(p_type,field)
#else
diff --git a/include/apr_network_io.h b/include/apr_network_io.h
index 0335da9d7010..8b9209efd703 100644
--- a/include/apr_network_io.h
+++ b/include/apr_network_io.h
@@ -756,6 +756,8 @@ APR_DECLARE(int) apr_ipsubnet_test(apr_ipsubnet_t *ipsub, apr_sockaddr_t *sa);
* @param name The accept filter
* @param args Any extra args to the accept filter. Passing NULL here removes
* the accept filter.
+ * @bug name and args should have been declared as const char *, as they are in
+ * APR 2.0
*/
apr_status_t apr_socket_accept_filter(apr_socket_t *sock, char *name,
char *args);
diff --git a/include/apr_pools.h b/include/apr_pools.h
index 7ae1ed6b61fa..0f0b95e56adc 100644
--- a/include/apr_pools.h
+++ b/include/apr_pools.h
@@ -196,7 +196,8 @@ APR_DECLARE(void) apr_pool_terminate(void);
APR_DECLARE(apr_status_t) apr_pool_create_ex(apr_pool_t **newpool,
apr_pool_t *parent,
apr_abortfunc_t abort_fn,
- apr_allocator_t *allocator);
+ apr_allocator_t *allocator)
+ __attribute__((nonnull(1)));
/**
* Create a new pool.
@@ -220,7 +221,8 @@ APR_DECLARE(apr_status_t) apr_pool_create_core_ex(apr_pool_t **newpool,
*/
APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool,
apr_abortfunc_t abort_fn,
- apr_allocator_t *allocator);
+ apr_allocator_t *allocator)
+ __attribute__((nonnull(1)));
/**
* Debug version of apr_pool_create_ex.
@@ -242,7 +244,8 @@ APR_DECLARE(apr_status_t) apr_pool_create_ex_debug(apr_pool_t **newpool,
apr_pool_t *parent,
apr_abortfunc_t abort_fn,
apr_allocator_t *allocator,
- const char *file_line);
+ const char *file_line)
+ __attribute__((nonnull(1)));
#if APR_POOL_DEBUG
#define apr_pool_create_ex(newpool, parent, abort_fn, allocator) \
@@ -277,7 +280,8 @@ APR_DECLARE(apr_status_t) apr_pool_create_core_ex_debug(apr_pool_t **newpool,
APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex_debug(apr_pool_t **newpool,
apr_abortfunc_t abort_fn,
apr_allocator_t *allocator,
- const char *file_line);
+ const char *file_line)
+ __attribute__((nonnull(1)));
#if APR_POOL_DEBUG
#define apr_pool_create_core_ex(newpool, abort_fn, allocator) \
@@ -343,7 +347,8 @@ APR_DECLARE(apr_status_t) apr_pool_create_unmanaged(apr_pool_t **newpool);
* Find the pool's allocator
* @param pool The pool to get the allocator from.
*/
-APR_DECLARE(apr_allocator_t *) apr_pool_allocator_get(apr_pool_t *pool);
+APR_DECLARE(apr_allocator_t *) apr_pool_allocator_get(apr_pool_t *pool)
+ __attribute__((nonnull(1)));
/**
* Clear all memory in the pool and run all the cleanups. This also destroys all
@@ -353,7 +358,7 @@ APR_DECLARE(apr_allocator_t *) apr_pool_allocator_get(apr_pool_t *pool);
* to re-use this memory for the next allocation.
* @see apr_pool_destroy()
*/
-APR_DECLARE(void) apr_pool_clear(apr_pool_t *p);
+APR_DECLARE(void) apr_pool_clear(apr_pool_t *p) __attribute__((nonnull(1)));
/**
* Debug version of apr_pool_clear.
@@ -369,7 +374,8 @@ APR_DECLARE(void) apr_pool_clear(apr_pool_t *p);
* and don't call apr_pool_destroy_clear directly.
*/
APR_DECLARE(void) apr_pool_clear_debug(apr_pool_t *p,
- const char *file_line);
+ const char *file_line)
+ __attribute__((nonnull(1)));
#if APR_POOL_DEBUG
#define apr_pool_clear(p) \
@@ -382,7 +388,7 @@ APR_DECLARE(void) apr_pool_clear_debug(apr_pool_t *p,
* @param p The pool to destroy
* @remark This will actually free the memory
*/
-APR_DECLARE(void) apr_pool_destroy(apr_pool_t *p);
+APR_DECLARE(void) apr_pool_destroy(apr_pool_t *p) __attribute__((nonnull(1)));
/**
* Debug version of apr_pool_destroy.
@@ -398,7 +404,8 @@ APR_DECLARE(void) apr_pool_destroy(apr_pool_t *p);
* and don't call apr_pool_destroy_debug directly.
*/
APR_DECLARE(void) apr_pool_destroy_debug(apr_pool_t *p,
- const char *file_line);
+ const char *file_line)
+ __attribute__((nonnull(1)));
#if APR_POOL_DEBUG
#define apr_pool_destroy(p) \
@@ -416,7 +423,11 @@ APR_DECLARE(void) apr_pool_destroy_debug(apr_pool_t *p,
* @param size The amount of memory to allocate
* @return The allocated memory
*/
-APR_DECLARE(void *) apr_palloc(apr_pool_t *p, apr_size_t size);
+APR_DECLARE(void *) apr_palloc(apr_pool_t *p, apr_size_t size)
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ __attribute__((alloc_size(2)))
+#endif
+ __attribute__((nonnull(1)));
/**
* Debug version of apr_palloc
@@ -427,7 +438,11 @@ APR_DECLARE(void *) apr_palloc(apr_pool_t *p, apr_size_t size);
* @return See: apr_palloc
*/
APR_DECLARE(void *) apr_palloc_debug(apr_pool_t *p, apr_size_t size,
- const char *file_line);
+ const char *file_line)
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ __attribute__((alloc_size(2)))
+#endif
+ __attribute__((nonnull(1)));
#if APR_POOL_DEBUG
#define apr_palloc(p, size) \
@@ -455,7 +470,8 @@ APR_DECLARE(void *) apr_pcalloc(apr_pool_t *p, apr_size_t size);
* @return See: apr_pcalloc
*/
APR_DECLARE(void *) apr_pcalloc_debug(apr_pool_t *p, apr_size_t size,
- const char *file_line);
+ const char *file_line)
+ __attribute__((nonnull(1)));
#if APR_POOL_DEBUG
#define apr_pcalloc(p, size) \
@@ -476,21 +492,24 @@ APR_DECLARE(void *) apr_pcalloc_debug(apr_pool_t *p, apr_size_t size,
* deal with the error accordingly.
*/
APR_DECLARE(void) apr_pool_abort_set(apr_abortfunc_t abortfunc,
- apr_pool_t *pool);
+ apr_pool_t *pool)
+ __attribute__((nonnull(2)));
/**
* Get the abort function associated with the specified pool.
* @param pool The pool for retrieving the abort function.
* @return The abort function for the given pool.
*/
-APR_DECLARE(apr_abortfunc_t) apr_pool_abort_get(apr_pool_t *pool);
+APR_DECLARE(apr_abortfunc_t) apr_pool_abort_get(apr_pool_t *pool)
+ __attribute__((nonnull(1)));
/**
* Get the parent pool of the specified pool.
* @param pool The pool for retrieving the parent pool.
* @return The parent of the given pool.
*/
-APR_DECLARE(apr_pool_t *) apr_pool_parent_get(apr_pool_t *pool);
+APR_DECLARE(apr_pool_t *) apr_pool_parent_get(apr_pool_t *pool)
+ __attribute__((nonnull(1)));
/**
* Determine if pool a is an ancestor of pool b.
@@ -510,7 +529,8 @@ APR_DECLARE(int) apr_pool_is_ancestor(apr_pool_t *a, apr_pool_t *b);
* @param pool The pool to tag
* @param tag The tag
*/
-APR_DECLARE(void) apr_pool_tag(apr_pool_t *pool, const char *tag);
+APR_DECLARE(void) apr_pool_tag(apr_pool_t *pool, const char *tag)
+ __attribute__((nonnull(1)));
/*
@@ -536,11 +556,11 @@ APR_DECLARE(void) apr_pool_tag(apr_pool_t *pool, const char *tag);
* key names is a typical way to help ensure this uniqueness.
*
*/
-APR_DECLARE(apr_status_t) apr_pool_userdata_set(
- const void *data,
- const char *key,
- apr_status_t (*cleanup)(void *),
- apr_pool_t *pool);
+APR_DECLARE(apr_status_t) apr_pool_userdata_set(const void *data,
+ const char *key,
+ apr_status_t (*cleanup)(void *),
+ apr_pool_t *pool)
+ __attribute__((nonnull(2,4)));
/**
* Set the data associated with the current pool
@@ -562,10 +582,10 @@ APR_DECLARE(apr_status_t) apr_pool_userdata_set(
*
*/
APR_DECLARE(apr_status_t) apr_pool_userdata_setn(
- const void *data,
- const char *key,
- apr_status_t (*cleanup)(void *),
- apr_pool_t *pool);
+ const void *data, const char *key,
+ apr_status_t (*cleanup)(void *),
+ apr_pool_t *pool)
+ __attribute__((nonnull(2,4)));
/**
* Return the data associated with the current pool.
@@ -574,7 +594,8 @@ APR_DECLARE(apr_status_t) apr_pool_userdata_setn(
* @param pool The current pool.
*/
APR_DECLARE(apr_status_t) apr_pool_userdata_get(void **data, const char *key,
- apr_pool_t *pool);
+ apr_pool_t *pool)
+ __attribute__((nonnull(1,2,3)));
/**
@@ -601,10 +622,10 @@ APR_DECLARE(apr_status_t) apr_pool_userdata_get(void **data, const char *key,
* to exec - this function is called in the child, obviously!
*/
APR_DECLARE(void) apr_pool_cleanup_register(
- apr_pool_t *p,
- const void *data,
- apr_status_t (*plain_cleanup)(void *),
- apr_status_t (*child_cleanup)(void *));
+ apr_pool_t *p, const void *data,
+ apr_status_t (*plain_cleanup)(void *),
+ apr_status_t (*child_cleanup)(void *))
+ __attribute__((nonnull(3,4)));
/**
* Register a function to be called when a pool is cleared or destroyed.
@@ -619,9 +640,9 @@ APR_DECLARE(void) apr_pool_cleanup_register(
* or destroyed
*/
APR_DECLARE(void) apr_pool_pre_cleanup_register(
- apr_pool_t *p,
- const void *data,
- apr_status_t (*plain_cleanup)(void *));
+ apr_pool_t *p, const void *data,
+ apr_status_t (*plain_cleanup)(void *))
+ __attribute__((nonnull(3)));
/**
* Remove a previously registered cleanup function.
@@ -636,7 +657,8 @@ APR_DECLARE(void) apr_pool_pre_cleanup_register(
* function
*/
APR_DECLARE(void) apr_pool_cleanup_kill(apr_pool_t *p, const void *data,
- apr_status_t (*cleanup)(void *));
+ apr_status_t (*cleanup)(void *))
+ __attribute__((nonnull(3)));
/**
* Replace the child cleanup function of a previously registered cleanup.
@@ -651,10 +673,10 @@ APR_DECLARE(void) apr_pool_cleanup_kill(apr_pool_t *p, const void *data,
* @param child_cleanup The function to register as the child cleanup
*/
APR_DECLARE(void) apr_pool_child_cleanup_set(
- apr_pool_t *p,
- const void *data,
- apr_status_t (*plain_cleanup)(void *),
- apr_status_t (*child_cleanup)(void *));
+ apr_pool_t *p, const void *data,
+ apr_status_t (*plain_cleanup)(void *),
+ apr_status_t (*child_cleanup)(void *))
+ __attribute__((nonnull(3,4)));
/**
* Run the specified cleanup function immediately and unregister it.
@@ -667,10 +689,9 @@ APR_DECLARE(void) apr_pool_child_cleanup_set(
* @param data The data to remove from cleanup
* @param cleanup The function to remove from cleanup
*/
-APR_DECLARE(apr_status_t) apr_pool_cleanup_run(
- apr_pool_t *p,
- void *data,
- apr_status_t (*cleanup)(void *));
+APR_DECLARE(apr_status_t) apr_pool_cleanup_run(apr_pool_t *p, void *data,
+ apr_status_t (*cleanup)(void *))
+ __attribute__((nonnull(3)));
/**
* An empty cleanup function.
@@ -739,7 +760,8 @@ APR_DECLARE(void) apr_pool_cleanup_for_exec(void);
* @param p The parent pool
* @param sub The subpool
*/
-APR_DECLARE(void) apr_pool_join(apr_pool_t *p, apr_pool_t *sub);
+APR_DECLARE(void) apr_pool_join(apr_pool_t *p, apr_pool_t *sub)
+ __attribute__((nonnull(2)));
/**
* Find a pool from something allocated in it.
@@ -754,7 +776,8 @@ APR_DECLARE(apr_pool_t *) apr_pool_find(const void *mem);
* @param recurse Recurse/include the subpools' sizes
* @return The number of bytes
*/
-APR_DECLARE(apr_size_t) apr_pool_num_bytes(apr_pool_t *p, int recurse);
+APR_DECLARE(apr_size_t) apr_pool_num_bytes(apr_pool_t *p, int recurse)
+ __attribute__((nonnull(1)));
/**
* Lock a pool
diff --git a/include/apr_strings.h b/include/apr_strings.h
index 6b71ff17eb6f..457217358c8e 100644
--- a/include/apr_strings.h
+++ b/include/apr_strings.h
@@ -106,7 +106,11 @@ APR_DECLARE(char *) apr_pstrdup(apr_pool_t *p, const char *s);
* has 'n' or more characters. If the string might contain
* fewer characters, use apr_pstrndup.
*/
-APR_DECLARE(char *) apr_pstrmemdup(apr_pool_t *p, const char *s, apr_size_t n);
+APR_DECLARE(char *) apr_pstrmemdup(apr_pool_t *p, const char *s, apr_size_t n)
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ __attribute__((alloc_size(3)))
+#endif
+ ;
/**
* Duplicate at most n characters of a string into memory allocated
@@ -128,7 +132,11 @@ APR_DECLARE(char *) apr_pstrndup(apr_pool_t *p, const char *s, apr_size_t n);
* @param n The number of bytes to duplicate
* @return The new block of memory
*/
-APR_DECLARE(void *) apr_pmemdup(apr_pool_t *p, const void *m, apr_size_t n);
+APR_DECLARE(void *) apr_pmemdup(apr_pool_t *p, const void *m, apr_size_t n)
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
+ __attribute__((alloc_size(3)))
+#endif
+ ;
/**
* Concatenate multiple strings, allocating memory out a pool
diff --git a/include/apr_thread_proc.h b/include/apr_thread_proc.h
index 7df84ef32abb..0a97c955c4b6 100644
--- a/include/apr_thread_proc.h
+++ b/include/apr_thread_proc.h
@@ -315,7 +315,7 @@ APR_DECLARE(apr_status_t) apr_thread_once(apr_thread_once_t *control,
APR_DECLARE(apr_status_t) apr_thread_detach(apr_thread_t *thd);
/**
- * Return the pool associated with the current thread.
+ * Return user data associated with the current thread.
* @param data The user data associated with the thread.
* @param key The key to associate with the data
* @param thread The currently open thread.
@@ -324,7 +324,7 @@ APR_DECLARE(apr_status_t) apr_thread_data_get(void **data, const char *key,
apr_thread_t *thread);
/**
- * Return the pool associated with the current thread.
+ * Set user data associated with the current thread.
* @param data The user data to associate with the thread.
* @param key The key to use for associating the data with the thread
* @param cleanup The cleanup routine to use when the thread is destroyed.
diff --git a/include/apr_version.h b/include/apr_version.h
index 81223207ac8b..4b06508eecba 100644
--- a/include/apr_version.h
+++ b/include/apr_version.h
@@ -38,6 +38,9 @@
*/
+#define APR_COPYRIGHT "Copyright (c) 2013 The Apache Software " \
+ "Foundation or its licensors, as applicable."
+
/* The numeric compile-time version constants. These constants are the
* authoritative version numbers for APR.
*/
@@ -59,7 +62,7 @@
* The Patch Level never includes API changes, simply bug fixes.
* Reset to 0 when upgrading APR_MINOR_VERSION
*/
-#define APR_PATCH_VERSION 6
+#define APR_PATCH_VERSION 8
/**
* The symbol APR_IS_DEV_VERSION is only defined for internal,
@@ -87,7 +90,9 @@
#if defined(APR_IS_DEV_VERSION) || defined(DOXYGEN)
/** Internal: string form of the "is dev" flag */
+#ifndef APR_IS_DEV_STRING
#define APR_IS_DEV_STRING "-dev"
+#endif
#else
#define APR_IS_DEV_STRING ""
#endif
diff --git a/libapr.rc b/libapr.rc
index 098b5f15240f..604fc7c06e4f 100644
--- a/libapr.rc
+++ b/libapr.rc
@@ -1,8 +1,5 @@
#include "apr_version.h"
-#define APR_COPYRIGHT "Copyright (c) 2011 The Apache Software " \
- "Foundation or its licensors, as applicable."
-
#define APR_LICENSE \
"Licensed to the Apache Software Foundation (ASF) under one or more " \
"contributor license agreements. See the NOTICE file distributed with " \
diff --git a/network_io/unix/multicast.c b/network_io/unix/multicast.c
index 67ab24574038..3767bfdd15c1 100644
--- a/network_io/unix/multicast.c
+++ b/network_io/unix/multicast.c
@@ -193,36 +193,39 @@ static apr_status_t do_mcast(int type, apr_socket_t *sock,
return rv;
}
+/* Set the IP_MULTICAST_TTL or IP_MULTICAST_LOOP option, or IPv6
+ * equivalents, for the socket, to the given value. Note that this
+ * function *only works* for those particular option types. */
static apr_status_t do_mcast_opt(int type, apr_socket_t *sock,
apr_byte_t value)
{
apr_status_t rv = APR_SUCCESS;
if (sock_is_ipv4(sock)) {
+ /* For the IP_MULTICAST_* options, this must be a (char *)
+ * pointer. */
if (setsockopt(sock->socketdes, IPPROTO_IP, type,
(const void *) &value, sizeof(value)) == -1) {
rv = errno;
}
}
#if APR_HAVE_IPV6
- else if (sock_is_ipv6(sock) && type == IP_MULTICAST_LOOP) {
- unsigned int loopopt = value;
- type = IPV6_MULTICAST_LOOP;
- if (setsockopt(sock->socketdes, IPPROTO_IPV6, type,
- (const void *) &loopopt, sizeof(loopopt)) == -1) {
- rv = errno;
- }
- }
else if (sock_is_ipv6(sock)) {
+ /* For the IPV6_* options, an (int *) pointer must be used. */
+ int ivalue = value;
+
if (type == IP_MULTICAST_TTL) {
type = IPV6_MULTICAST_HOPS;
}
+ else if (type == IP_MULTICAST_LOOP) {
+ type = IPV6_MULTICAST_LOOP;
+ }
else {
return APR_ENOTIMPL;
}
if (setsockopt(sock->socketdes, IPPROTO_IPV6, type,
- &value, sizeof(value)) == -1) {
+ (const void *) &ivalue, sizeof(ivalue)) == -1) {
rv = errno;
}
}
diff --git a/network_io/unix/sendrecv.c b/network_io/unix/sendrecv.c
index c133a26d9c7b..6b14643cd58b 100644
--- a/network_io/unix/sendrecv.c
+++ b/network_io/unix/sendrecv.c
@@ -174,7 +174,14 @@ apr_status_t apr_socket_recvfrom(apr_sockaddr_t *from, apr_socket_t *sock,
return errno;
}
- apr_sockaddr_vars_set(from, from->sa.sin.sin_family, ntohs(from->sa.sin.sin_port));
+ /*
+ * Check if we have a valid address. recvfrom() with MSG_PEEK may return
+ * success without filling in the address.
+ */
+ if (from->salen > APR_OFFSETOF(struct sockaddr_in, sin_port)) {
+ apr_sockaddr_vars_set(from, from->sa.sin.sin_family,
+ ntohs(from->sa.sin.sin_port));
+ }
(*len) = rv;
if (rv == 0 && sock->type == SOCK_STREAM) {
@@ -245,7 +252,7 @@ do_select:
/* Define a structure to pass in when we have a NULL header value */
static apr_hdtr_t no_hdtr;
-#if defined(__linux__) && defined(HAVE_WRITEV)
+#if (defined(__linux__) || defined(__GNU__)) && defined(HAVE_WRITEV)
apr_status_t apr_socket_sendfile(apr_socket_t *sock, apr_file_t *file,
apr_hdtr_t *hdtr, apr_off_t *offset,
@@ -285,9 +292,6 @@ apr_status_t apr_socket_sendfile(apr_socket_t *sock, apr_file_t *file,
hdtr = &no_hdtr;
}
- /* Ignore flags for now. */
- flags = 0;
-
if (hdtr->numheaders > 0) {
apr_size_t hdrbytes;
diff --git a/network_io/unix/sockaddr.c b/network_io/unix/sockaddr.c
index ed4c474dc63d..9253a27461fb 100644
--- a/network_io/unix/sockaddr.c
+++ b/network_io/unix/sockaddr.c
@@ -356,9 +356,27 @@ static apr_status_t call_resolver(apr_sockaddr_t **sa,
}
error = getaddrinfo(hostname, servname, &hints, &ai_list);
#ifdef HAVE_GAI_ADDRCONFIG
- if (error == EAI_BADFLAGS && family == APR_UNSPEC) {
- /* Retry with no flags if AI_ADDRCONFIG was rejected. */
- hints.ai_flags = 0;
+ /*
+ * Using AI_ADDRCONFIG involves some unfortunate guesswork because it
+ * does not consider loopback addresses when trying to determine if
+ * IPv4 or IPv6 is configured on a system (see RFC 3493).
+ * This is a problem if one actually wants to listen on or connect to
+ * the loopback address of a protocol family that is not otherwise
+ * configured on the system. See PR 52709.
+ * To work around some of the problems, retry without AI_ADDRCONFIG
+ * in case of EAI_ADDRFAMILY.
+ * XXX: apr_sockaddr_info_get() should really accept a flag to determine
+ * XXX: if AI_ADDRCONFIG's guesswork is wanted and if the address is
+ * XXX: to be used for listen() or connect().
+ *
+ * In case of EAI_BADFLAGS, AI_ADDRCONFIG is not supported.
+ */
+ if ((family == APR_UNSPEC) && (error == EAI_BADFLAGS
+#ifdef EAI_ADDRFAMILY
+ || error == EAI_ADDRFAMILY
+#endif
+ )) {
+ hints.ai_flags &= ~AI_ADDRCONFIG;
error = getaddrinfo(hostname, servname, &hints, &ai_list);
}
#endif
@@ -367,7 +385,7 @@ static apr_status_t call_resolver(apr_sockaddr_t **sa,
return apr_get_netos_error();
#else
if (error == EAI_SYSTEM) {
- return errno;
+ return errno ? errno : APR_EGENERAL;
}
else
{
@@ -422,6 +440,15 @@ static apr_status_t call_resolver(apr_sockaddr_t **sa,
ai = ai->ai_next;
}
freeaddrinfo(ai_list);
+
+ if (prev_sa == NULL) {
+ /*
+ * getaddrinfo returned only useless entries and *sa is still empty.
+ * This should be treated as an error.
+ */
+ return APR_EGENERAL;
+ }
+
return APR_SUCCESS;
}
@@ -555,6 +582,11 @@ static apr_status_t find_addresses(apr_sockaddr_t **sa,
++curaddr;
}
+ if (prev_sa == NULL) {
+ /* this should not happen but no result should be treated as error */
+ return APR_EGENERAL;
+ }
+
return APR_SUCCESS;
}
@@ -1010,7 +1042,7 @@ APR_DECLARE(int) apr_ipsubnet_test(apr_ipsubnet_t *ipsub, apr_sockaddr_t *sa)
/* XXX This line will segv on Win32 build with APR_HAVE_IPV6,
* but without the IPV6 drivers installed.
*/
- if (sa->sa.sin.sin_family == AF_INET) {
+ if (sa->family == AF_INET) {
if (ipsub->family == AF_INET &&
((sa->sa.sin.sin_addr.s_addr & ipsub->mask[0]) == ipsub->sub[0])) {
return 1;
@@ -1022,7 +1054,7 @@ APR_DECLARE(int) apr_ipsubnet_test(apr_ipsubnet_t *ipsub, apr_sockaddr_t *sa)
return 1;
}
}
- else {
+ else if (sa->family == AF_INET6 && ipsub->family == AF_INET6) {
apr_uint32_t *addr = (apr_uint32_t *)sa->ipaddr_ptr;
if ((addr[0] & ipsub->mask[0]) == ipsub->sub[0] &&
diff --git a/network_io/unix/sockopt.c b/network_io/unix/sockopt.c
index 3fc932f42f5e..7b67c2ec13a1 100644
--- a/network_io/unix/sockopt.c
+++ b/network_io/unix/sockopt.c
@@ -381,12 +381,33 @@ apr_status_t apr_gethostname(char *buf, apr_int32_t len, apr_pool_t *cont)
}
#if APR_HAS_SO_ACCEPTFILTER
-apr_status_t apr_socket_accept_filter(apr_socket_t *sock, char *name,
- char *args)
+apr_status_t apr_socket_accept_filter(apr_socket_t *sock, char *nonconst_name,
+ char *nonconst_args)
{
+ /* these should have been const; act like they are */
+ const char *name = nonconst_name;
+ const char *args = nonconst_args;
+
struct accept_filter_arg af;
- strncpy(af.af_name, name, 16);
- strncpy(af.af_arg, args, 256 - 16);
+ socklen_t optlen = sizeof(af);
+
+ /* FreeBSD returns an error if the filter is already set; ignore
+ * this call if we previously set it to the same value.
+ */
+ if ((getsockopt(sock->socketdes, SOL_SOCKET, SO_ACCEPTFILTER,
+ &af, &optlen)) == 0) {
+ if (!strcmp(name, af.af_name) && !strcmp(args, af.af_arg)) {
+ return APR_SUCCESS;
+ }
+ }
+
+ /* Uhh, at least in FreeBSD 9 the fields are declared as arrays of
+ * these lengths; did sizeof not work in some ancient release?
+ *
+ * FreeBSD kernel sets the last byte to a '\0'.
+ */
+ apr_cpystrn(af.af_name, name, 16);
+ apr_cpystrn(af.af_arg, args, 256 - 16);
if ((setsockopt(sock->socketdes, SOL_SOCKET, SO_ACCEPTFILTER,
&af, sizeof(af))) < 0) {
diff --git a/random/unix/sha2.c b/random/unix/sha2.c
index 212c1b732a4e..12c257d1fa1b 100644
--- a/random/unix/sha2.c
+++ b/random/unix/sha2.c
@@ -52,8 +52,6 @@ typedef apr_uint64_t sha2_word64; /* Exactly 8 bytes */
/*** SHA-256/384/512 Various Length Definitions ***********************/
/* NOTE: Most of these are in sha2.h */
#define SHA256_SHORT_BLOCK_LENGTH (SHA256_BLOCK_LENGTH - 8)
-#define SHA384_SHORT_BLOCK_LENGTH (SHA384_BLOCK_LENGTH - 16)
-#define SHA512_SHORT_BLOCK_LENGTH (SHA512_BLOCK_LENGTH - 16)
/*** ENDIAN REVERSAL MACROS *******************************************/
@@ -150,9 +148,7 @@ typedef apr_uint64_t sha2_word64; /* Exactly 8 bytes */
* library -- they are intended for private internal visibility/use
* only.
*/
-void apr__SHA512_Last(SHA512_CTX*);
void apr__SHA256_Transform(SHA256_CTX*, const sha2_word32*);
-void apr__SHA512_Transform(SHA512_CTX*, const sha2_word64*);
/*** SHA-XYZ INITIAL HASH VALUES AND CONSTANTS ************************/
@@ -188,74 +184,6 @@ static const sha2_word32 sha256_initial_hash_value[8] = {
0x5be0cd19UL
};
-/* Hash constant words K for SHA-384 and SHA-512: */
-static const sha2_word64 K512[80] = {
- APR_UINT64_C(0x428a2f98d728ae22), APR_UINT64_C(0x7137449123ef65cd),
- APR_UINT64_C(0xb5c0fbcfec4d3b2f), APR_UINT64_C(0xe9b5dba58189dbbc),
- APR_UINT64_C(0x3956c25bf348b538), APR_UINT64_C(0x59f111f1b605d019),
- APR_UINT64_C(0x923f82a4af194f9b), APR_UINT64_C(0xab1c5ed5da6d8118),
- APR_UINT64_C(0xd807aa98a3030242), APR_UINT64_C(0x12835b0145706fbe),
- APR_UINT64_C(0x243185be4ee4b28c), APR_UINT64_C(0x550c7dc3d5ffb4e2),
- APR_UINT64_C(0x72be5d74f27b896f), APR_UINT64_C(0x80deb1fe3b1696b1),
- APR_UINT64_C(0x9bdc06a725c71235), APR_UINT64_C(0xc19bf174cf692694),
- APR_UINT64_C(0xe49b69c19ef14ad2), APR_UINT64_C(0xefbe4786384f25e3),
- APR_UINT64_C(0x0fc19dc68b8cd5b5), APR_UINT64_C(0x240ca1cc77ac9c65),
- APR_UINT64_C(0x2de92c6f592b0275), APR_UINT64_C(0x4a7484aa6ea6e483),
- APR_UINT64_C(0x5cb0a9dcbd41fbd4), APR_UINT64_C(0x76f988da831153b5),
- APR_UINT64_C(0x983e5152ee66dfab), APR_UINT64_C(0xa831c66d2db43210),
- APR_UINT64_C(0xb00327c898fb213f), APR_UINT64_C(0xbf597fc7beef0ee4),
- APR_UINT64_C(0xc6e00bf33da88fc2), APR_UINT64_C(0xd5a79147930aa725),
- APR_UINT64_C(0x06ca6351e003826f), APR_UINT64_C(0x142929670a0e6e70),
- APR_UINT64_C(0x27b70a8546d22ffc), APR_UINT64_C(0x2e1b21385c26c926),
- APR_UINT64_C(0x4d2c6dfc5ac42aed), APR_UINT64_C(0x53380d139d95b3df),
- APR_UINT64_C(0x650a73548baf63de), APR_UINT64_C(0x766a0abb3c77b2a8),
- APR_UINT64_C(0x81c2c92e47edaee6), APR_UINT64_C(0x92722c851482353b),
- APR_UINT64_C(0xa2bfe8a14cf10364), APR_UINT64_C(0xa81a664bbc423001),
- APR_UINT64_C(0xc24b8b70d0f89791), APR_UINT64_C(0xc76c51a30654be30),
- APR_UINT64_C(0xd192e819d6ef5218), APR_UINT64_C(0xd69906245565a910),
- APR_UINT64_C(0xf40e35855771202a), APR_UINT64_C(0x106aa07032bbd1b8),
- APR_UINT64_C(0x19a4c116b8d2d0c8), APR_UINT64_C(0x1e376c085141ab53),
- APR_UINT64_C(0x2748774cdf8eeb99), APR_UINT64_C(0x34b0bcb5e19b48a8),
- APR_UINT64_C(0x391c0cb3c5c95a63), APR_UINT64_C(0x4ed8aa4ae3418acb),
- APR_UINT64_C(0x5b9cca4f7763e373), APR_UINT64_C(0x682e6ff3d6b2b8a3),
- APR_UINT64_C(0x748f82ee5defb2fc), APR_UINT64_C(0x78a5636f43172f60),
- APR_UINT64_C(0x84c87814a1f0ab72), APR_UINT64_C(0x8cc702081a6439ec),
- APR_UINT64_C(0x90befffa23631e28), APR_UINT64_C(0xa4506cebde82bde9),
- APR_UINT64_C(0xbef9a3f7b2c67915), APR_UINT64_C(0xc67178f2e372532b),
- APR_UINT64_C(0xca273eceea26619c), APR_UINT64_C(0xd186b8c721c0c207),
- APR_UINT64_C(0xeada7dd6cde0eb1e), APR_UINT64_C(0xf57d4f7fee6ed178),
- APR_UINT64_C(0x06f067aa72176fba), APR_UINT64_C(0x0a637dc5a2c898a6),
- APR_UINT64_C(0x113f9804bef90dae), APR_UINT64_C(0x1b710b35131c471b),
- APR_UINT64_C(0x28db77f523047d84), APR_UINT64_C(0x32caab7b40c72493),
- APR_UINT64_C(0x3c9ebe0a15c9bebc), APR_UINT64_C(0x431d67c49c100d4c),
- APR_UINT64_C(0x4cc5d4becb3e42b6), APR_UINT64_C(0x597f299cfc657e2a),
- APR_UINT64_C(0x5fcb6fab3ad6faec), APR_UINT64_C(0x6c44198c4a475817)
-};
-
-/* Initial hash value H for SHA-384 */
-static const sha2_word64 sha384_initial_hash_value[8] = {
- APR_UINT64_C(0xcbbb9d5dc1059ed8),
- APR_UINT64_C(0x629a292a367cd507),
- APR_UINT64_C(0x9159015a3070dd17),
- APR_UINT64_C(0x152fecd8f70e5939),
- APR_UINT64_C(0x67332667ffc00b31),
- APR_UINT64_C(0x8eb44a8768581511),
- APR_UINT64_C(0xdb0c2e0d64f98fa7),
- APR_UINT64_C(0x47b5481dbefa4fa4)
-};
-
-/* Initial hash value H for SHA-512 */
-static const sha2_word64 sha512_initial_hash_value[8] = {
- APR_UINT64_C(0x6a09e667f3bcc908),
- APR_UINT64_C(0xbb67ae8584caa73b),
- APR_UINT64_C(0x3c6ef372fe94f82b),
- APR_UINT64_C(0xa54ff53a5f1d36f1),
- APR_UINT64_C(0x510e527fade682d1),
- APR_UINT64_C(0x9b05688c2b3e6c1f),
- APR_UINT64_C(0x1f83d9abfb41bd6b),
- APR_UINT64_C(0x5be0cd19137e2179)
-};
-
/*
* Constant used by SHA256/384/512_End() functions for converting the
* digest to a readable hexadecimal character string:
@@ -537,7 +465,14 @@ void apr__SHA256_Final(sha2_byte digest[], SHA256_CTX* context) {
*context->buffer = 0x80;
}
/* Set the bit count: */
- *(sha2_word64*)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount;
+ {
+ union dummy {
+ apr_uint64_t bitcount;
+ apr_byte_t bytes[8];
+ } bitcount;
+ bitcount.bitcount = context->bitcount;
+ MEMCPY_BCOPY(&context->buffer[SHA256_SHORT_BLOCK_LENGTH], bitcount.bytes, 8);
+ }
/* Final transform: */
apr__SHA256_Transform(context, (sha2_word32*)context->buffer);
@@ -591,410 +526,3 @@ char* apr__SHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIG
apr__SHA256_Update(&context, data, len);
return apr__SHA256_End(&context, digest);
}
-
-
-/*** SHA-512: *********************************************************/
-void apr__SHA512_Init(SHA512_CTX* context) {
- if (context == (SHA512_CTX*)0) {
- return;
- }
- MEMCPY_BCOPY(context->state, sha512_initial_hash_value, SHA512_DIGEST_LENGTH);
- MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH);
- context->bitcount[0] = context->bitcount[1] = 0;
-}
-
-#ifdef SHA2_UNROLL_TRANSFORM
-
-/* Unrolled SHA-512 round macros: */
-#if !APR_IS_BIGENDIAN
-
-#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \
- REVERSE64(*data++, W512[j]); \
- T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \
- K512[j] + W512[j]; \
- (d) += T1, \
- (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)), \
- j++
-
-
-#else /* APR_IS_BIGENDIAN */
-
-#define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \
- T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \
- K512[j] + (W512[j] = *data++); \
- (d) += T1; \
- (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \
- j++
-
-#endif /* APR_IS_BIGENDIAN */
-
-#define ROUND512(a,b,c,d,e,f,g,h) \
- s0 = W512[(j+1)&0x0f]; \
- s0 = sigma0_512(s0); \
- s1 = W512[(j+14)&0x0f]; \
- s1 = sigma1_512(s1); \
- T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + K512[j] + \
- (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0); \
- (d) += T1; \
- (h) = T1 + Sigma0_512(a) + Maj((a), (b), (c)); \
- j++
-
-void apr__SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) {
- sha2_word64 a, b, c, d, e, f, g, h, s0, s1;
- sha2_word64 T1, *W512 = (sha2_word64*)context->buffer;
- int j;
-
- /* Initialize registers with the prev. intermediate value */
- a = context->state[0];
- b = context->state[1];
- c = context->state[2];
- d = context->state[3];
- e = context->state[4];
- f = context->state[5];
- g = context->state[6];
- h = context->state[7];
-
- j = 0;
- do {
- ROUND512_0_TO_15(a,b,c,d,e,f,g,h);
- ROUND512_0_TO_15(h,a,b,c,d,e,f,g);
- ROUND512_0_TO_15(g,h,a,b,c,d,e,f);
- ROUND512_0_TO_15(f,g,h,a,b,c,d,e);
- ROUND512_0_TO_15(e,f,g,h,a,b,c,d);
- ROUND512_0_TO_15(d,e,f,g,h,a,b,c);
- ROUND512_0_TO_15(c,d,e,f,g,h,a,b);
- ROUND512_0_TO_15(b,c,d,e,f,g,h,a);
- } while (j < 16);
-
- /* Now for the remaining rounds up to 79: */
- do {
- ROUND512(a,b,c,d,e,f,g,h);
- ROUND512(h,a,b,c,d,e,f,g);
- ROUND512(g,h,a,b,c,d,e,f);
- ROUND512(f,g,h,a,b,c,d,e);
- ROUND512(e,f,g,h,a,b,c,d);
- ROUND512(d,e,f,g,h,a,b,c);
- ROUND512(c,d,e,f,g,h,a,b);
- ROUND512(b,c,d,e,f,g,h,a);
- } while (j < 80);
-
- /* Compute the current intermediate hash value */
- context->state[0] += a;
- context->state[1] += b;
- context->state[2] += c;
- context->state[3] += d;
- context->state[4] += e;
- context->state[5] += f;
- context->state[6] += g;
- context->state[7] += h;
-
- /* Clean up */
- a = b = c = d = e = f = g = h = T1 = 0;
-}
-
-#else /* SHA2_UNROLL_TRANSFORM */
-
-void apr__SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) {
- sha2_word64 a, b, c, d, e, f, g, h, s0, s1;
- sha2_word64 T1, T2, *W512 = (sha2_word64*)context->buffer;
- int j;
-
- /* Initialize registers with the prev. intermediate value */
- a = context->state[0];
- b = context->state[1];
- c = context->state[2];
- d = context->state[3];
- e = context->state[4];
- f = context->state[5];
- g = context->state[6];
- h = context->state[7];
-
- j = 0;
- do {
-#if !APR_IS_BIGENDIAN
- /* Convert TO host byte order */
- REVERSE64(*data++, W512[j]);
- /* Apply the SHA-512 compression function to update a..h */
- T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + W512[j];
-#else /* APR_IS_BIGENDIAN */
- /* Apply the SHA-512 compression function to update a..h with copy */
- T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + (W512[j] = *data++);
-#endif /* APR_IS_BIGENDIAN */
- T2 = Sigma0_512(a) + Maj(a, b, c);
- h = g;
- g = f;
- f = e;
- e = d + T1;
- d = c;
- c = b;
- b = a;
- a = T1 + T2;
-
- j++;
- } while (j < 16);
-
- do {
- /* Part of the message block expansion: */
- s0 = W512[(j+1)&0x0f];
- s0 = sigma0_512(s0);
- s1 = W512[(j+14)&0x0f];
- s1 = sigma1_512(s1);
-
- /* Apply the SHA-512 compression function to update a..h */
- T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] +
- (W512[j&0x0f] += s1 + W512[(j+9)&0x0f] + s0);
- T2 = Sigma0_512(a) + Maj(a, b, c);
- h = g;
- g = f;
- f = e;
- e = d + T1;
- d = c;
- c = b;
- b = a;
- a = T1 + T2;
-
- j++;
- } while (j < 80);
-
- /* Compute the current intermediate hash value */
- context->state[0] += a;
- context->state[1] += b;
- context->state[2] += c;
- context->state[3] += d;
- context->state[4] += e;
- context->state[5] += f;
- context->state[6] += g;
- context->state[7] += h;
-
- /* Clean up */
- a = b = c = d = e = f = g = h = T1 = T2 = 0;
-}
-
-#endif /* SHA2_UNROLL_TRANSFORM */
-
-void apr__SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len) {
- unsigned int freespace, usedspace;
-
- if (len == 0) {
- /* Calling with no data is valid - we do nothing */
- return;
- }
-
- /* Sanity check: */
- assert(context != (SHA512_CTX*)0 && data != (sha2_byte*)0);
-
- usedspace = (unsigned int)((context->bitcount[0] >> 3)
- % SHA512_BLOCK_LENGTH);
- if (usedspace > 0) {
- /* Calculate how much free space is available in the buffer */
- freespace = SHA512_BLOCK_LENGTH - usedspace;
-
- if (len >= freespace) {
- /* Fill the buffer completely and process it */
- MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace);
- ADDINC128(context->bitcount, freespace << 3);
- len -= freespace;
- data += freespace;
- apr__SHA512_Transform(context, (sha2_word64*)context->buffer);
- } else {
- /* The buffer is not yet full */
- MEMCPY_BCOPY(&context->buffer[usedspace], data, len);
- ADDINC128(context->bitcount, len << 3);
- /* Clean up: */
- usedspace = freespace = 0;
- return;
- }
- }
- while (len >= SHA512_BLOCK_LENGTH) {
- /* Process as many complete blocks as we can */
- apr__SHA512_Transform(context, (sha2_word64*)data);
- ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3);
- len -= SHA512_BLOCK_LENGTH;
- data += SHA512_BLOCK_LENGTH;
- }
- if (len > 0) {
- /* There's left-overs, so save 'em */
- MEMCPY_BCOPY(context->buffer, data, len);
- ADDINC128(context->bitcount, len << 3);
- }
- /* Clean up: */
- usedspace = freespace = 0;
-}
-
-void apr__SHA512_Last(SHA512_CTX* context) {
- unsigned int usedspace;
-
- usedspace = (unsigned int)((context->bitcount[0] >> 3)
- % SHA512_BLOCK_LENGTH);
-#if !APR_IS_BIGENDIAN
- /* Convert FROM host byte order */
- REVERSE64(context->bitcount[0],context->bitcount[0]);
- REVERSE64(context->bitcount[1],context->bitcount[1]);
-#endif
- if (usedspace > 0) {
- /* Begin padding with a 1 bit: */
- context->buffer[usedspace++] = 0x80;
-
- if (usedspace <= SHA512_SHORT_BLOCK_LENGTH) {
- /* Set-up for the last transform: */
- MEMSET_BZERO(&context->buffer[usedspace], SHA512_SHORT_BLOCK_LENGTH - usedspace);
- } else {
- if (usedspace < SHA512_BLOCK_LENGTH) {
- MEMSET_BZERO(&context->buffer[usedspace], SHA512_BLOCK_LENGTH - usedspace);
- }
- /* Do second-to-last transform: */
- apr__SHA512_Transform(context, (sha2_word64*)context->buffer);
-
- /* And set-up for the last transform: */
- MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH - 2);
- }
- } else {
- /* Prepare for final transform: */
- MEMSET_BZERO(context->buffer, SHA512_SHORT_BLOCK_LENGTH);
-
- /* Begin padding with a 1 bit: */
- *context->buffer = 0x80;
- }
- /* Store the length of input data (in bits): */
- *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1];
- *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0];
-
- /* Final transform: */
- apr__SHA512_Transform(context, (sha2_word64*)context->buffer);
-}
-
-void apr__SHA512_Final(sha2_byte digest[], SHA512_CTX* context) {
- sha2_word64 *d = (sha2_word64*)digest;
-
- /* Sanity check: */
- assert(context != (SHA512_CTX*)0);
-
- /* If no digest buffer is passed, we don't bother doing this: */
- if (digest != (sha2_byte*)0) {
- apr__SHA512_Last(context);
-
- /* Save the hash data for output: */
-#if !APR_IS_BIGENDIAN
- {
- /* Convert TO host byte order */
- int j;
- for (j = 0; j < 8; j++) {
- REVERSE64(context->state[j],context->state[j]);
- *d++ = context->state[j];
- }
- }
-#else /* APR_IS_BIGENDIAN */
- MEMCPY_BCOPY(d, context->state, SHA512_DIGEST_LENGTH);
-#endif /* APR_IS_BIGENDIAN */
- }
-
- /* Zero out state data */
- MEMSET_BZERO(context, sizeof(*context));
-}
-
-char *apr__SHA512_End(SHA512_CTX* context, char buffer[]) {
- sha2_byte digest[SHA512_DIGEST_LENGTH], *d = digest;
- int i;
-
- /* Sanity check: */
- assert(context != (SHA512_CTX*)0);
-
- if (buffer != (char*)0) {
- apr__SHA512_Final(digest, context);
-
- for (i = 0; i < SHA512_DIGEST_LENGTH; i++) {
- *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4];
- *buffer++ = sha2_hex_digits[*d & 0x0f];
- d++;
- }
- *buffer = (char)0;
- } else {
- MEMSET_BZERO(context, sizeof(*context));
- }
- MEMSET_BZERO(digest, SHA512_DIGEST_LENGTH);
- return buffer;
-}
-
-char* apr__SHA512_Data(const sha2_byte* data, size_t len, char digest[SHA512_DIGEST_STRING_LENGTH]) {
- SHA512_CTX context;
-
- apr__SHA512_Init(&context);
- apr__SHA512_Update(&context, data, len);
- return apr__SHA512_End(&context, digest);
-}
-
-
-/*** SHA-384: *********************************************************/
-void apr__SHA384_Init(SHA384_CTX* context) {
- if (context == (SHA384_CTX*)0) {
- return;
- }
- MEMCPY_BCOPY(context->state, sha384_initial_hash_value, SHA512_DIGEST_LENGTH);
- MEMSET_BZERO(context->buffer, SHA384_BLOCK_LENGTH);
- context->bitcount[0] = context->bitcount[1] = 0;
-}
-
-void apr__SHA384_Update(SHA384_CTX* context, const sha2_byte* data, size_t len) {
- apr__SHA512_Update((SHA512_CTX*)context, data, len);
-}
-
-void apr__SHA384_Final(sha2_byte digest[], SHA384_CTX* context) {
- sha2_word64 *d = (sha2_word64*)digest;
-
- /* Sanity check: */
- assert(context != (SHA384_CTX*)0);
-
- /* If no digest buffer is passed, we don't bother doing this: */
- if (digest != (sha2_byte*)0) {
- apr__SHA512_Last((SHA512_CTX*)context);
-
- /* Save the hash data for output: */
-#if !APR_IS_BIGENDIAN
- {
- /* Convert TO host byte order */
- int j;
- for (j = 0; j < 6; j++) {
- REVERSE64(context->state[j],context->state[j]);
- *d++ = context->state[j];
- }
- }
-#else /* APR_IS_BIGENDIAN */
- MEMCPY_BCOPY(d, context->state, SHA384_DIGEST_LENGTH);
-#endif /* APR_IS_BIGENDIAN */
- }
-
- /* Zero out state data */
- MEMSET_BZERO(context, sizeof(*context));
-}
-
-char *apr__SHA384_End(SHA384_CTX* context, char buffer[]) {
- sha2_byte digest[SHA384_DIGEST_LENGTH], *d = digest;
- int i;
-
- /* Sanity check: */
- assert(context != (SHA384_CTX*)0);
-
- if (buffer != (char*)0) {
- apr__SHA384_Final(digest, context);
-
- for (i = 0; i < SHA384_DIGEST_LENGTH; i++) {
- *buffer++ = sha2_hex_digits[(*d & 0xf0) >> 4];
- *buffer++ = sha2_hex_digits[*d & 0x0f];
- d++;
- }
- *buffer = (char)0;
- } else {
- MEMSET_BZERO(context, sizeof(*context));
- }
- MEMSET_BZERO(digest, SHA384_DIGEST_LENGTH);
- return buffer;
-}
-
-char* apr__SHA384_Data(const sha2_byte* data, size_t len, char digest[SHA384_DIGEST_STRING_LENGTH]) {
- SHA384_CTX context;
-
- apr__SHA384_Init(&context);
- apr__SHA384_Update(&context, data, len);
- return apr__SHA384_End(&context, digest);
-}
-
diff --git a/random/unix/sha2.h b/random/unix/sha2.h
index 9f0d93e1e015..0a030d7dbae0 100644
--- a/random/unix/sha2.h
+++ b/random/unix/sha2.h
@@ -29,16 +29,10 @@ extern "C" {
#include "apr.h"
-/*** SHA-256/384/512 Various Length Definitions ***********************/
+/*** SHA-256 Various Length Definitions ***********************/
#define SHA256_BLOCK_LENGTH 64
#define SHA256_DIGEST_LENGTH 32
#define SHA256_DIGEST_STRING_LENGTH (SHA256_DIGEST_LENGTH * 2 + 1)
-#define SHA384_BLOCK_LENGTH 128
-#define SHA384_DIGEST_LENGTH 48
-#define SHA384_DIGEST_STRING_LENGTH (SHA384_DIGEST_LENGTH * 2 + 1)
-#define SHA512_BLOCK_LENGTH 128
-#define SHA512_DIGEST_LENGTH 64
-#define SHA512_DIGEST_STRING_LENGTH (SHA512_DIGEST_LENGTH * 2 + 1)
/*** SHA-256/384/512 Context Structures *******************************/
@@ -47,13 +41,6 @@ typedef struct _SHA256_CTX {
apr_uint64_t bitcount;
apr_byte_t buffer[SHA256_BLOCK_LENGTH];
} SHA256_CTX;
-typedef struct _SHA512_CTX {
- apr_uint64_t state[8];
- apr_uint64_t bitcount[2];
- apr_byte_t buffer[SHA512_BLOCK_LENGTH];
-} SHA512_CTX;
-
-typedef SHA512_CTX SHA384_CTX;
/*** SHA-256/384/512 Function Prototypes ******************************/
@@ -63,21 +50,7 @@ void apr__SHA256_Final(apr_byte_t [SHA256_DIGEST_LENGTH], SHA256_CTX *);
char* apr__SHA256_End(SHA256_CTX *, char [SHA256_DIGEST_STRING_LENGTH]);
char* apr__SHA256_Data(const apr_byte_t *, size_t,
char [SHA256_DIGEST_STRING_LENGTH]);
-
-void apr__SHA384_Init(SHA384_CTX *);
-void apr__SHA384_Update(SHA384_CTX *, const apr_byte_t *, size_t);
-void apr__SHA384_Final(apr_byte_t [SHA384_DIGEST_LENGTH], SHA384_CTX *);
-char* apr__SHA384_End(SHA384_CTX *, char [SHA384_DIGEST_STRING_LENGTH]);
-char* apr__SHA384_Data(const apr_byte_t *, size_t,
- char [SHA384_DIGEST_STRING_LENGTH]);
-
-void apr__SHA512_Init(SHA512_CTX *);
-void apr__SHA512_Update(SHA512_CTX *, const apr_byte_t *, size_t);
-void apr__SHA512_Final(apr_byte_t [SHA512_DIGEST_LENGTH], SHA512_CTX *);
-char* apr__SHA512_End(SHA512_CTX *, char [SHA512_DIGEST_STRING_LENGTH]);
-char* apr__SHA512_Data(const apr_byte_t *, size_t,
- char [SHA512_DIGEST_STRING_LENGTH]);
-
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/random/unix/sha2_glue.c b/random/unix/sha2_glue.c
index 4909a8fe1f83..cb6e897802f3 100644
--- a/random/unix/sha2_glue.c
+++ b/random/unix/sha2_glue.c
@@ -1,26 +1,42 @@
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
#include
#include
#include
#include "sha2.h"
static void sha256_init(apr_crypto_hash_t *h)
- {
+{
apr__SHA256_Init(h->data);
- }
+}
static void sha256_add(apr_crypto_hash_t *h,const void *data,
- apr_size_t bytes)
- {
+ apr_size_t bytes)
+{
apr__SHA256_Update(h->data,data,bytes);
- }
+}
static void sha256_finish(apr_crypto_hash_t *h,unsigned char *result)
- {
+{
apr__SHA256_Final(result,h->data);
- }
+}
APR_DECLARE(apr_crypto_hash_t *) apr_crypto_sha256_new(apr_pool_t *p)
- {
+{
apr_crypto_hash_t *h=apr_palloc(p,sizeof *h);
h->data=apr_palloc(p,sizeof(SHA256_CTX));
@@ -30,4 +46,4 @@ APR_DECLARE(apr_crypto_hash_t *) apr_crypto_sha256_new(apr_pool_t *p)
h->size=256/8;
return h;
- }
+}
diff --git a/tables/apr_tables.c b/tables/apr_tables.c
index 51b23407cc0e..7479ef47c7ae 100644
--- a/tables/apr_tables.c
+++ b/tables/apr_tables.c
@@ -734,11 +734,14 @@ APR_DECLARE(void) apr_table_mergen(apr_table_t *t, const char *key,
#if APR_POOL_DEBUG
{
- if (!apr_pool_is_ancestor(apr_pool_find(key), t->a.pool)) {
+ apr_pool_t *pool;
+ pool = apr_pool_find(key);
+ if ((pool != key) && (!apr_pool_is_ancestor(pool, t->a.pool))) {
fprintf(stderr, "apr_table_mergen: key not in ancestor pool of t\n");
abort();
}
- if (!apr_pool_is_ancestor(apr_pool_find(val), t->a.pool)) {
+ pool = apr_pool_find(val);
+ if ((pool != val) && (!apr_pool_is_ancestor(pool, t->a.pool))) {
fprintf(stderr, "apr_table_mergen: val not in ancestor pool of t\n");
abort();
}
diff --git a/threadproc/unix/thread.c b/threadproc/unix/thread.c
index 5639ac706873..6d060be55e7e 100644
--- a/threadproc/unix/thread.c
+++ b/threadproc/unix/thread.c
@@ -96,7 +96,7 @@ APR_DECLARE(apr_status_t) apr_threadattr_detach_get(apr_threadattr_t *attr)
#else
pthread_attr_getdetachstate(&attr->attr, &state);
#endif
- if (state == 1)
+ if (state == DETACH_ARG(1))
return APR_DETACH;
return APR_NOTDETACH;
}
From bc9ddba9ef9abe23eadcdb51b2ce814c00c00639 Mon Sep 17 00:00:00 2001
From: Peter Wemm
Date: Tue, 27 May 2014 07:00:33 +0000
Subject: [PATCH 2/2] Vendor import apr-1.5.1
---
CHANGES | 289 +-
CMakeLists.txt | 434 +++
LICENSE | 4 +-
Makefile.in | 25 +-
Makefile.win | 2 +-
NOTICE | 4 +-
README.cmake | 112 +
apr.dep | 2474 ++++++++++---
apr.dsp | 159 +
apr.mak | 3747 ++++++++++---------
apr.spec | 2 +-
build-outputs.mk | 15 +-
build.conf | 1 +
configure | 348 +-
configure.in | 178 +-
docs/canonical_filenames.html | 6 +-
encoding/apr_escape.c | 1181 ++++++
file_io/unix/filedup.c | 3 +-
file_io/unix/filestat.c | 4 +-
file_io/unix/mktemp.c | 2 +-
file_io/unix/open.c | 8 +
file_io/unix/pipe.c | 8 +-
file_io/unix/readwrite.c | 2 +-
include/apr.h.in | 18 +-
include/apr.hwc | 641 ++++
include/apr_allocator.h | 2 +-
include/apr_errno.h | 6 +-
include/apr_escape.h | 374 ++
include/apr_file_info.h | 8 +-
include/apr_file_io.h | 202 +-
include/apr_fnmatch.h | 18 +-
include/apr_hash.h | 21 +
include/apr_inherit.h | 4 +-
include/apr_lib.h | 26 +-
include/apr_mmap.h | 2 +-
include/apr_network_io.h | 26 +-
include/apr_poll.h | 24 +-
include/apr_pools.h | 36 +-
include/apr_shm.h | 66 +-
include/apr_skiplist.h | 259 ++
include/apr_strings.h | 16 +-
include/apr_tables.h | 12 +
include/apr_thread_mutex.h | 2 +-
include/apr_thread_proc.h | 10 +-
include/apr_time.h | 36 +-
include/apr_user.h | 6 +-
include/apr_version.h | 6 +-
include/arch/unix/apr_arch_poll_private.h | 11 +-
include/arch/unix/apr_arch_threadproc.h | 2 +-
include/arch/unix/apr_private.h.in | 5 +-
libapr.dep | 2481 ++++++++++---
libapr.dsp | 152 +
libapr.mak | 4035 +++++++++++----------
locks/unix/proc_mutex.c | 11 +-
network_io/unix/sendrecv.c | 2 +-
network_io/unix/sockaddr.c | 29 +
network_io/unix/socket_util.c | 3 +-
network_io/unix/sockets.c | 15 +-
network_io/unix/sockopt.c | 12 +
passwd/apr_getpass.c | 86 +-
poll/unix/pollcb.c | 1 +
poll/unix/pollset.c | 8 +
poll/unix/z_asio.c | 772 ++++
shmem/unix/shm.c | 124 +-
strings/apr_cpystrn.c | 16 +-
strings/apr_strings.c | 3 +-
support/unix/waitio.c | 2 +-
tables/apr_hash.c | 23 +
tables/apr_skiplist.c | 650 ++++
tables/apr_tables.c | 62 +-
tools/gen_test_char.c | 115 +
71 files changed, 13960 insertions(+), 5489 deletions(-)
create mode 100644 CMakeLists.txt
create mode 100644 README.cmake
create mode 100644 encoding/apr_escape.c
create mode 100644 include/apr.hwc
create mode 100644 include/apr_escape.h
create mode 100644 include/apr_skiplist.h
create mode 100644 poll/unix/z_asio.c
create mode 100644 tables/apr_skiplist.c
create mode 100644 tools/gen_test_char.c
diff --git a/CHANGES b/CHANGES
index 51d12367195a..d04ad11a9b4b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,235 +1,124 @@
-*- coding: utf-8 -*-
-Changes for APR 1.4.8
+Changes for APR 1.5.1
- *) Fix compiltation with FreeBSD on ARM. [Olli Hauer ]
+ *) apr_os_proc_mutex_get() on Unix: Avoid segfault for cross-
+ process pthread mutexes. [Yann Ylavic ]
- *) Fix 1.4.7 regression in apr_mcast_hops() and apr_mcast_loopback()
- for AF_INET (IPv4) sockets on most Unix platforms. [Joe Orton]
+ *) When using shmget-based shared memory, the ID used for ftok is
+ now an APR hash of the filename instead of the constant '1'.
+ We do this to help avoid collisions. PR 53996 [Jim Jagielski]
- *) Fix the return value of apr_threadattr_detach_get() on some
- platforms like OS X and Solaris. [Rainer Jung, ]
+ *) apr_socket_atreadeof(): Fix breakage on OS X. [Jim Jagielski]
-Changes for APR 1.4.7
+ *) Fix POSIX shared memory (shm_open) use for named shared memory.
+ Includes adding '--enable-posix-shm' to force POSIX shm if
+ available, and OS X compatibility. PR 55928.
+ [Jozef Hatala , Jim Jagielski]
- *) Fix apr_sockaddr_info_get() not returning an error in some cases.
- PR 54779. [Jan Kaluža ]
+ *) Fix race condition when calling apr_dir_make_recursive from
+ multiple threads on Windows.
+ [Bert Huijben]
- *) Fix amd64 assembler version of apr_atomic_xchgptr(). PR 51851. [Mattias
- Engdegård ]
+ *) Fix apr_escape.c compilation errors on EBCDIC platforms.
+ [Eric Covener]
- *) Fix PPC atomics to work with gcc 4.0. PR 54840. [Mattias Engdegård
- ]
+ *) FreeBSD 10: Correct a regression in 1.5.0 which affected non-
+ blocking sockets in some applications, including httpd. [Jeff
+ Trawick]
- *) configure: Fix detection of O_NONBLOCK inheritance on busy
- systems. [Rainer Jung]
+ *) Windows cmake build: Fix incorrect installation of some .pdb
+ files. Fix incorrect use of some logic intended for Windows 9x,
+ including legacy filesystem interfaces and dynamic loading of
+ some Windows APIs. [Jeff Trawick]
- *) Remove unused code, fix strict C compliance bug in SHA-256
- implementation. [Jan Kaluza ]
-
- *) Fix apr_ipsubnet_test() false positives when comparing IPv4
- subnet representation against an IPv6 address. PR 54047. [Joe Orton]
-
- *) apr_socket_accept_filter: Return success when trying to again set
- the filter to the same value as before, avoiding an unhelpful
- APR_EINVAL. PR 37863. [Jeff Trawick]
-
- *) configure: Fix Linux 3.x detection. PR 54001. [Gilles Espinasse
- ]
-
- *) apr_time_exp_*() on Windows: Fix error in the tm_yday field of
- apr_time_exp_t for times within leap years. PR 53175.
+ *) apr_skiplist: Add compatibility with C++ applications.
[Jeff Trawick]
- *) Improve platform detection by updating config.guess and config.sub.
- [Rainer Jung]
+ *) Correct a regression in 1.5.0 which affected out-of-tree
+ builds on Unix. [Rainer Jung]
- *) Add support for OSX Mountain Lion (10.8) [Jim Jagielski]
+ *) Improve platform detection for bundled expat by updating
+ config.guess and config.sub. [Rainer Jung]
- *) Add various gcc function attributes. [Stefan Fritsch]
+Changes for APR 1.5.0
- *) Fix some problems in apr_sockaddr_info_get() when trying to resolve
- the loopback addresses of a protocol family that is not otherwise
- configured on the system. PR 52709. [Nirgal Vourgère
- , Stefan Fritsch]
+ *) Fix Linux kernel version check to recognize more versions,
+ including versions 3.10 and later. PR 55690. [Joe Orton,
+ Arfrever Frehtes Taifersar Arahesis ]
- *) Fix file not being unlocked if truncate call on a file fails.
- [Mladen Turk]
+ *) Add apr_sockaddr_is_wildcard() to check if a socket address
+ refers to the wildcard address for the protocol family (e.g.,
+ 0.0.0.0/INADDR_ANY for IPv4). [Jeff Trawick]
- *) apr_mcast_hops: Fix EINVAL for IPv6 sockets caused by using byte
- instead integer for setsockopt. [Mladen Turk]
+ *) apr_file_dup2() on Windows: Fix debug RTL assertion when
+ attempting to _commit(stdout) or _commit(stderr). [Mike Rumph
+ ]
- *) Windows: Fix compile-time checks for 64-bit builds, resolving a
- crash in httpd's mod_rewrite. PR 49155. []
+ *) apr_socket_connect() on Windows: Handle WSAEISCONN. PR 48736.
+ [, Jeff Trawick]
-Changes for APR 1.4.6
+ *) z/OS: threadsafe apr_pollset_poll support for sockets [Greg Ames]
- *) Flush write buffer before truncate call on a file.
- [Mladen Turk]
+ *) Windows: Don't obtain a mutex for buffered file I/O unless the
+ file was opened with the APR_FOPEN_XTHREAD flag. [Ivan Zhakov
+ ]
- *) Randomise hashes by providing a seed.
- Assigned CVE-2012-0840, oCERT-2011-003, but not known to be exploitable.
- [Bojan Smojver, Branko Čibej, Ruediger Pluem et al.]
-
- *) apr_random: Prevent segfault if pool used to initialize apr_random is
- destroyed before forking. [Stefan Fritsch]
-
- *) testrand: Improve child randomness test case. [Rainer Jung]
-
- *) apr_proc_fork, apr_random_after_fork: disambiguate what happens to the
- proc structure passed in, and ensure that the pid is set correctly in
- a newly created child; note that merely mixing a PID into the random
- seed of a new child doesn't markedly increase entropy. [Sander Temme]
-
- *) apr_file_open: Avoid fcntl() calls if support for O_CLOEXEC works.
- PR 48557. [Mike Frysinger ]
-
- *) apr_dir_make_recursive: Fix race condition that could lead to EEXIST
- being returned. PR 51254. [William Lee ,
- Wim Lewis ]
-
- *) configure: Fix APR_RESTORE_THE_ENVIRONMENT if the original variable was
- a single space. PR 50334. [Nathan Phillip Brink ]
-
- *) apr_proc_create: Don't close any of the new stdin/stdout/stderr in the
- child if it already has the correct FD. PR 51995.
- [Dan Ports ]
-
- *) Fix flag character '#' in combination with format character 'x' in
- apr snprintf implementations. [Rainer Jung]
-
- *) Improve platform detection by updating config.guess and config.sub.
- [Rainer Jung]
-
- *) Add libtool2 files to extraclean make target. [Rainer Jung]
-
- *) Don't overwrite our config.guess and config.sub
- when running buildconf. [Rainer Jung]
-
- *) Silence autoconf 2.68 warnings. [Rainer Jung]
-
-Changes for APR 1.4.5
-
- *) Security: CVE-2011-1928
- apr_fnmatch(): Fix high CPU loop. [William Rowe]
-
- *) Fix top_builddir in installed apr_rules.mk. [Bojan Smojver]
-
-Changes for APR 1.4.4
-
- *) Windows: Fix command-line builds. [William Rowe]
-
-Changes for APR 1.4.3
-
- *) Security: CVE-2011-0419
- Reimplement apr_fnmatch() from scratch using a non-recursive
- algorithm; now has improved compliance with the fnmatch() spec.
- [William Rowe]
-
- *) Fix environment-related crash using some non-standard builds on
- Windows 7/Server 2008. [Steve Hay ]
-
- *) poll, pollset, pollcb on Windows: Handle calls with no file/socket
- descriptors. PR 49882. [Stefan Ruppert , Jeff Trawick]
-
- *) Fix APR_IPV6_V6ONLY issues on Windows related to run-time behavior
- on Windows older than Vista and SDK/MinGW levels without IPV6_V6ONLY.
- PR 45321. [Sob ]
-
- *) Fix address handling when accepting an AF_INET socket from a socket
- bound as AF_INET6. PR 49678. [Joe Orton]
-
- *) Fix error return values from apr_sockaddr_info_get() on Windows for
- IPv6 builds. [Ivan Zhakov ]
-
- *) Add new experimental configure option --enable-allocator-uses-mmap to
- use mmap instead of malloc in apr_allocator_alloc(). This greatly reduces
- memory fragmentation with malloc implementations (e.g. glibc) that
- don't handle allocationss of a page-size-multiples in an efficient way.
- It also makes apr_allocator_max_free_set() actually have some effect
- on such platforms. [Stefan Fritsch]
-
- *) configure: Support 64 and 32 bit universal builds for Darwin/
- OS X 10.6+. [Jim Jagielski]
-
- *) apr_sockaddr_info_get() on AIX: Fix a problem which could set
- the port field in the native socket address to 1 when 0 was
- specified. PR 46964. [Jeff Trawick]
-
- *) configure: Make definition of apr_ino_t independent of
- _FILE_OFFSET_BITS even on platforms where ino_t is 'unsigned int'.
- [Stefan Fritsch]
-
- *) apr_ring: Workaround for aliasing problem that causes gcc 4.5 to
- miscompile some brigade related code. PR 50190. [Stefan Fritsch]
-
- *) apr_file_flush_locked(): Handle short writes. [Stefan Fritsch]
-
- *) apr_pollset_create_ex(): Trap errors from pollset providers.
- PR 49094. [Sami Tolvanen ]
-
- *) apr_pollset_create*(): Fix memory lifetime problem with the wakeup
- pipe when the pollset was created with APR_POLLSET_NOCOPY.
- [Neil Conway ]
-
- *) Fix detection of some Linux variants when configure is built with
- recent GNU tools. [Eric Covener]
-
- *) Avoid a redundant fcntl() call in apr_file_open() where O_CLOEXEC
- is supported. PR 46297. [Joe Orton]
-
- *) Improve platform detection by updating config.guess and config.sub.
- [Rainer Jung]
-
-Changes for APR 1.4.2
-
- *) Undo a crash-bug introduced in 1.4.1 affecting some applications of
- the apr hash and table structures, reported to affect Subversion
- by Bert Huijben . [Graham Leggett]
-
-Changes for APR 1.4.1
-
- *) Win32: Properly handle the ERROR_DIRECTORY system error code.
- [Brane Čibej]
-
-Changes for APR 1.4.0
-
- *) Windows: Default build configurations assume NT or higher at run-time.
-
- *) Add apr_global_mutex_lockfile() for retrieving the file, if any,
- associated with the mutex. Add apr_global_mutex_name() for retrieving
- the name of the lock mechanism used by the underlying proc mutex.
+ *) Windows: Create named shared memory segments under the "Local"
+ namespace if the caller is unprivileged, fixing an inability of
+ unprivileged callers to use apr_shm_create() with named shared
+ memory segments under recent Windows. As before, shared memory
+ segments are created under the "Global" namespace for privileged
+ callers. Add apr_shm_create_ex() and apr_shm_attach_ex(), which
+ provide the ability to override the normal namespace selection.
[Jeff Trawick]
- *) Add apr_socket_atreadeof to determine whether the receive part of the
- socket has been closed by the peer.
- [Ruediger Pluem, Mladen Turk, Joe Orton]
+ *) Update compile settings for MINT OS. PR 47181. [Alan Hourihane
+ ]
- *) Make apr_pollset and apr_pollcb implementations using providers.
- Added apr_pollset_create_ex and apr_pollcb_create_ex that allows
- choosing non-default providers.
- [Mladen Turk]
+ *) Files and pipes on Windows: Don't create an unused pollset when
+ files and pipes are opened. [Mladen Turk]
- *) Win32: Use WSAPoll as default pollset method if supported and found
- inside winsock dll. [Mladen Turk]
+ *) apr_socket_timeout_set() on Windows: If the socket was in a non-
+ blocking state before, disable that setting so that timeouts work.
+ [Jeff Trawick]
- *) apr_temp_dir_get() now checks the TMPDIR environment variable first,
- instead of third. [Jim Jagielski]
+ *) File info APIs: Fix calculation of atime and mtime on AIX. PR 51146.
+ [Ruediger Pluem]
- *) Add apr_file_sync() and apr_file_datasync() calls. [Bojan Smojver]
+ *) Add the apr_escape interface. [Graham Leggett]
- *) apr_pollset_wakeup() on Windows: Fix core caused by closing the
- file_socket_pipe with standard file_close.
- [Arsen Chaloyan, Mladen Turk]
+ *) Cygwin build fixes. PRs 51016 and 55586. [Carlo Bramini
+ ]
- *) Introduce apr_hash_do() for iterating over a hash table. [Mladen Turk]
+ *) Add apr_skiplist family. [Jim Jagielski]
- *) Make sure WIN32 behaves the same as posix for file-backed shared memory
- by removing the file on cleanup/remove. [Mladen Turk]
+ *) Add experimental cmake-based build system for Windows. Refer to
+ README.cmake for more information. [Jeff Trawick, Tom Donovan]
- *) Introduce apr_pollset_wakeup() for interrupting the blocking
- apr_pollset_poll() call. [Mladen Turk]
+ *) Add the apr_table_getm() call, which transparently handles the
+ merging of keys with multiple values. [Graham Leggett]
- *) Add apr_file_link() function. PR 44841. [Mark Heily ]
+ *) Add apr_hash_this_key(), apr_hash_this_key_len(), and
+ apr_hash_this_val() for easier access to those attributes from
+ a hash iterator. [Hyrum K. Wright ]
+
+ *) MinGW/MSYS: Support shared builds of APR, other general improvements
+ to support of this toolchain. PR 46175. [Carlo Bramini
+ ]
+
+ *) Improve platform detection by updating config.guess and config.sub.
+ [Rainer Jung]
+
+ *) apr_socket_opt_set: Add support for APR_SO_BROADCAST. PR 46389.
+ [Armin Müller ]
+
+ *) Enable platform specific support for the opening of a file or
+ pipe in non-blocking mode through the APR_FOPEN_NONBLOCK flag.
+ [Graham Leggett]
+
+Changes for APR 1.4.x and later:
+
+ *) http://svn.apache.org/viewvc/apr/apr/branches/1.4.x/CHANGES?view=markup
Changes for APR 1.3.x and later:
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 000000000000..04903f9f9ed6
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,434 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+#
+# Read README.cmake before using this.
+
+PROJECT(APR C)
+
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+
+OPTION(APR_INSTALL_PRIVATE_H "Install selected private .h files (for httpd)" OFF)
+OPTION(APR_HAVE_IPV6 "IPv6 support" ON)
+OPTION(INSTALL_PDB "Install .pdb files (if generated)" ON)
+OPTION(APR_BUILD_TESTAPR "Build the test suite" OFF)
+OPTION(TEST_STATIC_LIBS "Test programs use APR static libraries instead of shared libraries?" OFF)
+SET(MIN_WINDOWS_VER "Vista"
+ CACHE STRING "Minimum Windows version")
+
+# create 1-or-0 representation of feature tests for apr.h
+
+SET(apr_have_ipv6_10 0)
+
+IF(APR_HAVE_IPV6)
+ SET(apr_have_ipv6_10 1)
+ENDIF()
+
+IF("${MIN_WINDOWS_VER}" STREQUAL "")
+ SET(win32_winnt_str "0x0600")
+ELSEIF(${MIN_WINDOWS_VER} STREQUAL "Vista")
+ SET(win32_winnt_str "0x0600")
+ELSEIF(${MIN_WINDOWS_VER} STREQUAL "Windows7")
+ SET(win32_winnt_str "0x0601")
+ELSE()
+ SET(win32_winnt_str ${MIN_WINDOWS_VER})
+ENDIF()
+
+CONFIGURE_FILE(include/apr.hwc
+ ${PROJECT_BINARY_DIR}/apr.h)
+
+ADD_EXECUTABLE(gen_test_char tools/gen_test_char.c)
+GET_TARGET_PROPERTY(GEN_TEST_CHAR_EXE gen_test_char LOCATION)
+ADD_CUSTOM_COMMAND(
+ COMMENT "Generating character tables, apr_escape_test_char.h, for current locale"
+ DEPENDS gen_test_char
+ COMMAND ${GEN_TEST_CHAR_EXE} > ${PROJECT_BINARY_DIR}/apr_escape_test_char.h
+ OUTPUT ${PROJECT_BINARY_DIR}/apr_escape_test_char.h
+)
+ADD_CUSTOM_TARGET(
+ test_char_header ALL
+ DEPENDS ${PROJECT_BINARY_DIR}/apr_escape_test_char.h
+)
+
+# Generated .h files are stored in PROJECT_BINARY_DIR, not the
+# source tree.
+#
+# BROKEN: not searching PROJECT_BINARY_DIR first, so you have to
+# manually delete apr.h in PROJECT_SOURCE_DIR/include if
+# you've generated apr.h before using a different build
+
+SET(APR_INCLUDE_DIRECTORIES
+ ${PROJECT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/arch/win32
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/arch/unix
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/private
+)
+
+SET(APR_SYSTEM_LIBS
+ ws2_32
+ mswsock
+ rpcrt4
+)
+
+INCLUDE_DIRECTORIES(${APR_INCLUDE_DIRECTORIES})
+
+SET(APR_PUBLIC_HEADERS_STATIC
+ include/apr_allocator.h
+ include/apr_atomic.h
+ include/apr_dso.h
+ include/apr_env.h
+ include/apr_errno.h
+ include/apr_escape.h
+ include/apr_file_info.h
+ include/apr_file_io.h
+ include/apr_fnmatch.h
+ include/apr_general.h
+ include/apr_getopt.h
+ include/apr_global_mutex.h
+ include/apr_hash.h
+ include/apr_inherit.h
+ include/apr_lib.h
+ include/apr_mmap.h
+ include/apr_network_io.h
+ include/apr_poll.h
+ include/apr_pools.h
+ include/apr_portable.h
+ include/apr_proc_mutex.h
+ include/apr_random.h
+ include/apr_ring.h
+ include/apr_shm.h
+ include/apr_signal.h
+ include/apr_skiplist.h
+ include/apr_strings.h
+ include/apr_support.h
+ include/apr_tables.h
+ include/apr_thread_cond.h
+ include/apr_thread_mutex.h
+ include/apr_thread_proc.h
+ include/apr_thread_rwlock.h
+ include/apr_time.h
+ include/apr_user.h
+ include/apr_version.h
+ include/apr_want.h
+)
+SET(APR_PUBLIC_HEADERS_GENERATED
+ ${PROJECT_BINARY_DIR}/apr.h
+)
+
+SET(APR_SOURCES
+ atomic/win32/apr_atomic.c
+ dso/win32/dso.c
+ encoding/apr_escape.c
+ file_io/unix/copy.c
+ file_io/unix/fileacc.c
+ file_io/unix/filepath_util.c
+ file_io/unix/fullrw.c
+ file_io/unix/mktemp.c
+ file_io/unix/tempdir.c
+ file_io/win32/buffer.c
+ file_io/win32/dir.c
+ file_io/win32/filedup.c
+ file_io/win32/filepath.c
+ file_io/win32/filestat.c
+ file_io/win32/filesys.c
+ file_io/win32/flock.c
+ file_io/win32/open.c
+ file_io/win32/pipe.c
+ file_io/win32/readwrite.c
+ file_io/win32/seek.c
+ locks/win32/proc_mutex.c
+ locks/win32/thread_cond.c
+ locks/win32/thread_mutex.c
+ locks/win32/thread_rwlock.c
+ memory/unix/apr_pools.c
+ misc/unix/errorcodes.c
+ misc/unix/getopt.c
+ misc/unix/otherchild.c
+ misc/unix/version.c
+ misc/win32/charset.c
+ misc/win32/env.c
+ misc/win32/internal.c
+ misc/win32/misc.c
+ misc/win32/rand.c
+ misc/win32/start.c
+ misc/win32/utf8.c
+ mmap/unix/common.c
+ mmap/win32/mmap.c
+ network_io/unix/inet_ntop.c
+ network_io/unix/inet_pton.c
+ network_io/unix/multicast.c
+ network_io/unix/sockaddr.c
+ network_io/unix/socket_util.c
+ network_io/win32/sendrecv.c
+ network_io/win32/sockets.c
+ network_io/win32/sockopt.c
+ passwd/apr_getpass.c
+ poll/unix/poll.c
+ poll/unix/pollcb.c
+ poll/unix/pollset.c
+ poll/unix/select.c
+ random/unix/apr_random.c
+ random/unix/sha2.c
+ random/unix/sha2_glue.c
+ shmem/win32/shm.c
+ strings/apr_cpystrn.c
+ strings/apr_fnmatch.c
+ strings/apr_snprintf.c
+ strings/apr_strings.c
+ strings/apr_strnatcmp.c
+ strings/apr_strtok.c
+ tables/apr_hash.c
+ tables/apr_skiplist.c
+ tables/apr_tables.c
+ threadproc/win32/proc.c
+ threadproc/win32/signals.c
+ threadproc/win32/thread.c
+ threadproc/win32/threadpriv.c
+ time/win32/time.c
+ time/win32/timestr.c
+ user/win32/groupinfo.c
+ user/win32/userinfo.c
+)
+
+SET(APR_TEST_SOURCES
+ test/abts.c
+ test/testargs.c
+ test/testatomic.c
+ test/testcond.c
+ test/testdir.c
+ test/testdso.c
+ test/testdup.c
+ test/testenv.c
+ test/testescape.c
+ test/testfile.c
+ test/testfilecopy.c
+ test/testfileinfo.c
+ test/testflock.c
+ test/testfmt.c
+ test/testfnmatch.c
+ test/testglobalmutex.c
+ test/testhash.c
+ test/testipsub.c
+ test/testlfs.c
+ test/testlock.c
+ test/testmmap.c
+ test/testnames.c
+ test/testoc.c
+ test/testpath.c
+ test/testpipe.c
+ test/testpoll.c
+ test/testpools.c
+ test/testproc.c
+ test/testprocmutex.c
+ test/testrand.c
+ test/testshm.c
+ test/testsleep.c
+ test/testsock.c
+ test/testsockets.c
+ test/testsockopt.c
+ test/teststr.c
+ test/teststrnatcmp.c
+ test/testtable.c
+ test/testtemp.c
+ test/testthread.c
+ test/testtime.c
+ test/testud.c
+ test/testuser.c
+ test/testutil.c
+ test/testvsn.c
+)
+
+SET(install_targets)
+SET(install_bin_pdb)
+SET(install_lib_pdb)
+
+# libapr-1 is shared, apr-1 is static
+ADD_LIBRARY(libapr-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libapr.rc)
+SET(install_targets ${install_targets} libapr-1)
+SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libapr-1.pdb)
+TARGET_LINK_LIBRARIES(libapr-1 ${APR_SYSTEM_LIBS})
+SET_TARGET_PROPERTIES(libapr-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_EXPORT;WINNT")
+ADD_DEPENDENCIES(libapr-1 test_char_header)
+
+ADD_LIBRARY(apr-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED})
+SET(install_targets ${install_targets} apr-1)
+SET(install_lib_pdb ${install_lib_pdb} ${PROJECT_BINARY_DIR}/apr-1.pdb)
+TARGET_LINK_LIBRARIES(apr-1 ${APR_SYSTEM_LIBS})
+SET_TARGET_PROPERTIES(apr-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;WINNT")
+ADD_DEPENDENCIES(apr-1 test_char_header)
+
+# libaprapp-1 and aprapp-1 are static
+ADD_LIBRARY(libaprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED})
+SET(install_targets ${install_targets} libaprapp-1)
+SET(install_lib_pdb ${install_lib_pdb} ${PROJECT_BINARY_DIR}/libaprapp-1.pdb)
+SET_TARGET_PROPERTIES(libaprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_APP;WINNT")
+
+ADD_LIBRARY(aprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED})
+SET(install_targets ${install_targets} aprapp-1)
+SET(install_lib_pdb ${install_lib_pdb} ${PROJECT_BINARY_DIR}/aprapp-1.pdb)
+SET_TARGET_PROPERTIES(aprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;APR_APP;WINNT")
+
+IF(APR_BUILD_TESTAPR)
+ ENABLE_TESTING()
+ # Create a "check" target that displays test program output to the console.
+ ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND} --verbose)
+
+ # copy data files to build directory so that we can run programs from there
+ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory
+ ${PROJECT_BINARY_DIR}/data)
+ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${PROJECT_SOURCE_DIR}/test/data/file_datafile.txt
+ ${PROJECT_BINARY_DIR}/data/file_datafile.txt)
+ EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${PROJECT_SOURCE_DIR}/test/data/mmap_datafile.txt
+ ${PROJECT_BINARY_DIR}/data/mmap_datafile.txt)
+
+ IF(TEST_STATIC_LIBS)
+ SET(whichapr apr-1)
+ SET(whichaprapp aprapp-1)
+ SET(apiflag -DAPR_DECLARE_STATIC)
+ ELSE()
+ SET(whichapr libapr-1)
+ SET(whichaprapp libaprapp-1)
+ SET(apiflag)
+ ENDIF()
+
+ ADD_EXECUTABLE(testapp test/testapp.c)
+ TARGET_LINK_LIBRARIES(testapp ${whichapr} ${whichaprapp} ${APR_SYSTEM_LIBS})
+ SET_TARGET_PROPERTIES(testapp PROPERTIES LINK_FLAGS /entry:wmainCRTStartup)
+ IF(apiflag)
+ SET_TARGET_PROPERTIES(testapp PROPERTIES COMPILE_FLAGS ${apiflag})
+ ENDIF()
+ ADD_TEST(NAME testapp COMMAND testapp)
+
+ ADD_EXECUTABLE(testall ${APR_TEST_SOURCES})
+ TARGET_LINK_LIBRARIES(testall ${whichapr} ${APR_SYSTEM_LIBS})
+ IF(apiflag)
+ SET_TARGET_PROPERTIES(testall PROPERTIES COMPILE_FLAGS ${apiflag})
+ ENDIF()
+ ADD_TEST(NAME testall COMMAND testall)
+
+ ADD_LIBRARY(mod_test MODULE test/mod_test.c)
+ TARGET_LINK_LIBRARIES(mod_test ${whichapr} ${APR_SYSTEM_LIBS})
+ SET_PROPERTY(TARGET mod_test APPEND PROPERTY LINK_FLAGS /export:print_hello)
+ # nasty work-around for difficulties adding more than one additional flag
+ # (they get joined in a bad way behind the scenes)
+ GET_PROPERTY(link_flags TARGET mod_test PROPERTY LINK_FLAGS)
+ SET(link_flags "${link_flags} /export:count_reps")
+ SET_TARGET_PROPERTIES(mod_test PROPERTIES LINK_FLAGS ${link_flags})
+ IF(apiflag)
+ SET_TARGET_PROPERTIES(mod_test PROPERTIES COMPILE_FLAGS ${apiflag})
+ ENDIF()
+
+ # Build all the single-source executable files with no special build
+ # requirements.
+ SET(single_source_programs
+ test/echod.c
+ test/sendfile.c
+ test/sockperf.c
+ test/testlockperf.c
+ test/testmutexscope.c
+ test/globalmutexchild.c
+ test/occhild.c
+ test/proc_child.c
+ test/readchild.c
+ test/sockchild.c
+ test/testshmproducer.c
+ test/testshmconsumer.c
+ test/tryread.c
+ test/internal/testucs.c
+ )
+
+ FOREACH(sourcefile ${single_source_programs})
+ STRING(REGEX REPLACE ".*/([^\\]+)\\.c" "\\1" proggie ${sourcefile})
+ ADD_EXECUTABLE(${proggie} ${sourcefile})
+ TARGET_LINK_LIBRARIES(${proggie} ${whichapr} ${APR_SYSTEM_LIBS})
+ IF(apiflag)
+ SET_TARGET_PROPERTIES(${proggie} PROPERTIES COMPILE_FLAGS ${apiflag})
+ ENDIF()
+ ENDFOREACH()
+
+ # Add tests for programs that run by themselves with no arguments.
+ SET(simple_tests
+ testmutexscope
+ testucs
+ )
+
+ FOREACH(simple ${simple_tests})
+ ADD_TEST(NAME ${simple} COMMAND ${simple})
+ ENDFOREACH()
+
+ # testlockperf takes forever on Windows with default counter limit
+ ADD_TEST(NAME testlockperf COMMAND testlockperf -c 50000)
+
+ # sendfile runs multiple times with different parameters.
+ FOREACH(sendfile_mode blocking nonblocking timeout)
+ ADD_TEST(NAME sendfile-${sendfile_mode} COMMAND sendfile client ${sendfile_mode} startserver)
+ ENDFOREACH()
+
+ # No test is added for echod+sockperf. Those will have to be run manually.
+
+ENDIF (APR_BUILD_TESTAPR)
+
+# Installation
+
+INSTALL(TARGETS ${install_targets}
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ )
+
+IF(INSTALL_PDB)
+ INSTALL(FILES ${install_bin_pdb}
+ DESTINATION bin
+ CONFIGURATIONS RelWithDebInfo Debug)
+
+ INSTALL(FILES ${install_lib_pdb}
+ DESTINATION lib
+ CONFIGURATIONS RelWithDebInfo Debug)
+ENDIF()
+
+INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include)
+IF(APR_INSTALL_PRIVATE_H)
+ # Kludges for unexpected dependencies of httpd 2.x, not installed by default
+ SET(APR_PRIVATE_H_FOR_HTTPD
+ include/arch/win32/apr_arch_file_io.h
+ include/arch/win32/apr_arch_misc.h
+ include/arch/win32/apr_arch_utf8.h
+ include/arch/win32/apr_private.h
+ )
+ INSTALL(FILES ${APR_PRIVATE_H_FOR_HTTPD} DESTINATION include/arch/win32)
+ INSTALL(FILES include/arch/apr_private_common.h DESTINATION include/arch)
+ENDIF()
+
+STRING(TOUPPER "${CMAKE_BUILD_TYPE}" buildtype)
+MESSAGE(STATUS "")
+MESSAGE(STATUS "")
+MESSAGE(STATUS "APR configuration summary:")
+MESSAGE(STATUS "")
+
+MESSAGE(STATUS " Build type ...................... : ${CMAKE_BUILD_TYPE}")
+MESSAGE(STATUS " Install .pdb (if available)...... : ${INSTALL_PDB}")
+MESSAGE(STATUS " Install prefix .................. : ${CMAKE_INSTALL_PREFIX}")
+MESSAGE(STATUS " C compiler ...................... : ${CMAKE_C_COMPILER}")
+MESSAGE(STATUS " IPv6 ............................ : ${APR_HAVE_IPV6}")
+MESSAGE(STATUS " Minimum Windows version ......... : ${MIN_WINDOWS_VER}")
+MESSAGE(STATUS " Build test suite ................ : ${APR_BUILD_TESTAPR}")
+IF(TEST_STATIC_LIBS)
+MESSAGE(STATUS " (testing static libraries)")
+ELSE()
+MESSAGE(STATUS " (testing dynamic libraries)")
+ENDIF()
+MESSAGE(STATUS " Install private .h for httpd .... : ${APR_INSTALL_PRIVATE_H}")
diff --git a/LICENSE b/LICENSE
index 02418e191365..cf0fb63058ae 100644
--- a/LICENSE
+++ b/LICENSE
@@ -206,8 +206,8 @@ APACHE PORTABLE RUNTIME SUBCOMPONENTS:
The Apache Portable Runtime includes a number of subcomponents with
separate copyright notices and license terms. Your use of the source
-code for the these subcomponents is subject to the terms and
-conditions of the following licenses.
+code for these subcomponents is subject to the terms and conditions
+of the following licenses.
From strings/apr_fnmatch.c, include/apr_fnmatch.h, misc/unix/getopt.c,
file_io/unix/mktemp.c, strings/apr_strings.c:
diff --git a/Makefile.in b/Makefile.in
index 6d3b9127eb8e..6f99733bdf5e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -18,7 +18,7 @@ APR_MAJOR_VERSION=@APR_MAJOR_VERSION@
INCDIR=./include
OSDIR=$(top_srcdir)/include/arch/@OSDIR@
DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@
-INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) -I$(top_srcdir)/include/arch/@DEFAULT_OSDIR@ -I$(top_srcdir)/include
+INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) -I$(top_srcdir)/include/arch/@DEFAULT_OSDIR@ -I$(top_srcdir)/include -I$(top_srcdir)/include/private -I$(top_blddir)/include/private
#
# Macros for target determination
@@ -36,7 +36,7 @@ INSTALL_DATA = @INSTALL_DATA@
# Rules for building specific targets, starting with 'all' for
# building the entire package.
#
-TARGETS = $(TARGET_LIB) apr.exp apr-config.out build/apr_rules.out
+TARGETS = $(TARGET_LIB) include/private/apr_escape_test_char.h apr.exp apr-config.out build/apr_rules.out
LT_VERSION = @LT_VERSION@
@@ -45,7 +45,9 @@ LT_VERSION = @LT_VERSION@
@INCLUDE_OUTPUTS@
CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.c .make.dirs \
- build/apr_rules.out
+ build/apr_rules.out tools/gen_test_char@EXEEXT@ \
+ tools/gen_test_char.o tools/gen_test_char.lo \
+ include/private/apr_escape_test_char.h
DISTCLEAN_TARGETS = config.cache config.log config.status \
include/apr.h include/arch/unix/apr_private.h \
libtool $(APR_CONFIG) build/apr_rules.mk apr.pc \
@@ -99,6 +101,8 @@ install: $(TARGETS)
$(TARGET_LIB): $(OBJECTS)
$(LINK) @lib_target@ $(ALL_LIBS)
+encoding/apr_escape.lo: include/private/apr_escape_test_char.h
+
exports.c: $(HEADERS)
$(APR_MKEXPORT) $(HEADERS) > $@
@@ -125,5 +129,20 @@ check: $(TARGET_LIB)
etags:
etags `find . -name '*.[ch]'`
+make_tools_dir:
+ $(APR_MKDIR) tools
+
+OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS)
+tools/gen_test_char.lo: make_tools_dir
+tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char)
+ $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS)
+
+include/private/apr_escape_test_char.h: tools/gen_test_char@EXEEXT@
+ $(APR_MKDIR) include/private
+ tools/gen_test_char@EXEEXT@ > $@
+
+LINK_PROG = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LT_LDFLAGS) \
+ @LT_NO_INSTALL@ $(ALL_LDFLAGS) -o $@
+
# DO NOT REMOVE
docs: $(INCDIR)/*.h
diff --git a/Makefile.win b/Makefile.win
index 5f9c3133f452..a3573eae602e 100644
--- a/Makefile.win
+++ b/Makefile.win
@@ -7,7 +7,7 @@
# install - compile everything
# clean - mop up everything
#
-# You can override the build mechansim, choose only one;
+# You can override the build mechanism, choose only one;
#
# USEMAK=1 - compile from exported make files
# USEDSW=1 - compile from .dsw / .dsp VC6 projects
diff --git a/NOTICE b/NOTICE
index 6643ee6d75ea..b16965be9488 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,7 +1,7 @@
Apache Portable Runtime
-Copyright (c) 2011 The Apache Software Foundation.
+Copyright (c) 2000-2014 The Apache Software Foundation.
-This product includes software developed by
+This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Portions of this software were developed at the National Center
diff --git a/README.cmake b/README.cmake
new file mode 100644
index 000000000000..cfff8ca0d053
--- /dev/null
+++ b/README.cmake
@@ -0,0 +1,112 @@
+Experimental cmake-based build support for APR on Microsoft Windows
+
+Status
+------
+
+This build support is currently intended only for Microsoft Windows.
+Only Windows NT-based systems can be targeted. (The traditional
+Windows build support for APR can target Windows 9x as well.)
+
+This build support is experimental. Specifically,
+
+* It does not support all features of APR.
+* Some components may not be built correctly and/or in a manner
+ compatible with the previous Windows build support.
+* Build interfaces, such as the mechanisms which are used to enable
+ optional functionality or specify prerequisites, may change from
+ release to release as feedback is received from users and bugs and
+ limitations are resolved.
+
+Important: Refer to the "Known Bugs and Limitations" section for further
+ information.
+
+ It is beyond the scope of this document to document or explain
+ how to utilize the various cmake features, such as different
+ build backends or provisions for finding support libraries.
+
+ Please refer to the cmake documentation for additional information
+ that applies to building any project with cmake.
+
+Prerequisites
+-------------
+
+The following tools must be in PATH:
+
+* cmake, version 2.8 or later
+* If using a command-line compiler: compiler and linker and related tools
+ (Refer to the cmake documentation for more information.)
+
+How to build
+------------
+
+1. cd to a clean directory for building (i.e., don't build in your
+ source tree)
+
+2. Some cmake backends may want your compile tools in PATH. (Hint: "Visual
+ Studio Command Prompt")
+
+3. cmake -G "some backend, like 'NMake Makefiles'"
+ -DCMAKE_INSTALL_PREFIX=d:/path/to/aprinst
+ -DAPR-specific-flags
+ d:/path/to/aprsource
+
+ Alternately, use cmake-gui and update settings in the GUI.
+
+ APR feature flags:
+
+ APR_INSTALL_PRIVATE_H Install extra .h files which are required when
+ building httpd and Subversion but which aren't
+ intended for use by applications.
+ Default: OFF
+ APR_HAVE_IPV6 Enable IPv6 support
+ Default: ON
+ APR_BUILD_TESTAPR Build APR test suite
+ Default: OFF
+ TEST_STATIC_LIBS Build the test suite to test the APR static
+ library instead of the APR dynamic library.
+ Default: OFF
+ In order to build the test suite against both
+ static and dynamic libraries, separate builds
+ will be required, one with TEST_STATIC_LIBS
+ set to ON.
+ MIN_WINDOWS_VER Minimum Windows version supported by this build
+ (This controls the setting of _WIN32_WINNT.)
+ "Vista" or "Windows7" or a numeric value like
+ "0x0601"
+ Default: "Vista"
+ For desktop/server equivalence or other values,
+ refer to
+ http://msdn.microsoft.com/en-us/library/windows/
+ desktop/aa383745(v=vs.85).aspx
+ INSTALL_PDB Install .pdb files if generated.
+ Default: ON
+
+ CMAKE_C_FLAGS_RELEASE, _DEBUG, _RELWITHDEBINFO, _MINSIZEREL
+
+ CMAKE_BUILD_TYPE
+
+ For NMake Makefiles the choices are at least DEBUG, RELEASE,
+ RELWITHDEBINFO, and MINSIZEREL
+ Other backends make have other selections.
+
+4. build using chosen backend (e.g., "nmake install")
+
+Known Bugs and Limitations
+--------------------------
+
+* If include/apr.h or other generated files have been created in the source
+ directory by another build system, they will be used unexpectedly and
+ cause the build to fail.
+* Options should be provided for remaining features:
+ + APR_POOL_DEBUG
+* APR-CHANGES.txt, APR-LICENSE.txt, and APR-NOTICE.txt are not installed,
+ though perhaps that is a job for a higher-level script.
+
+Generally:
+
+* Many APR features have not been tested with this build.
+* Developers need to examine the existing Windows build in great detail and see
+ what is missing from the cmake-based build, whether a feature or some build
+ nuance.
+* Any feedback you can provide on your experiences with this build will be
+ helpful.
diff --git a/apr.dep b/apr.dep
index 3abf37def2a2..aa2be7432407 100644
--- a/apr.dep
+++ b/apr.dep
@@ -1,558 +1,1916 @@
-# Microsoft Developer Studio Generated Dependency File, included by apr.mak
-
-.\atomic\win32\apr_atomic.c : \
- ".\include\apr_atomic.h"\
-
-
-.\dso\win32\dso.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_dso.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\buffer.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\unix\copy.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\dir.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_atime.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\unix\fileacc.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\filedup.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_inherit.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\filepath.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\unix\filepath_util.c : \
- ".\include\apr_strings.h"\
-
-
-.\file_io\win32\filestat.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_atime.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\filesys.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\flock.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\unix\fullrw.c : \
-
-
-.\file_io\unix\mktemp.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_inherit.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\open.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_inherit.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\pipe.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\readwrite.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_atime.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\win32\seek.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\file_io\unix\tempdir.c : \
- ".\include\apr_env.h"\
- ".\include\apr_strings.h"\
-
-
-.\locks\win32\proc_mutex.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_proc_mutex.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\locks\win32\thread_cond.c : \
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\apr_thread_cond.h"\
- ".\include\arch\win32\apr_arch_thread_cond.h"\
- ".\include\arch\win32\apr_arch_thread_mutex.h"\
-
-
-.\locks\win32\thread_mutex.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_thread_mutex.h"\
-
-
-.\locks\win32\thread_rwlock.c : \
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\apr_thread_rwlock.h"\
- ".\include\arch\win32\apr_arch_thread_rwlock.h"\
-
-
-.\memory\unix\apr_pools.c : \
- ".\include\apr_atomic.h"\
- ".\include\apr_env.h"\
- ".\include\apr_hash.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
-
-
-.\misc\win32\charset.c : \
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
-
-
-.\misc\win32\env.c : \
- ".\include\apr_env.h"\
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\misc\unix\errorcodes.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
-
-
-.\misc\unix\getopt.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
-
-
-.\misc\win32\internal.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\misc\win32\misc.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
- ".\include\arch\win32\apr_dbg_win32_handles.h"\
-
-
-.\misc\unix\otherchild.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_threadproc.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\misc\win32\rand.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_portable.h"\
-
-
-.\misc\win32\start.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_signal.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_threadproc.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\misc\win32\utf8.c : \
- ".\include\apr_lib.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\misc\unix\version.c : \
- ".\include\apr_version.h"\
-
-
-.\mmap\unix\common.c : \
- ".\include\apr_mmap.h"\
-
-
-.\mmap\win32\mmap.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_mmap.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\network_io\unix\inet_ntop.c : \
- ".\include\apr_poll.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
-
-
-.\network_io\unix\inet_pton.c : \
- ".\include\apr_poll.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
-
-
-.\network_io\unix\multicast.c : \
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_support.h"\
- ".\include\arch\win32\apr_arch_inherit.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
-
-
-.\network_io\win32\sendrecv.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\network_io\unix\sockaddr.c : \
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
-
-
-.\network_io\unix\socket_util.c : \
- ".\include\apr_poll.h"\
-
-
-.\network_io\win32\sockets.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_inherit.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
-
-
-.\network_io\win32\sockopt.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
-
-
-.\passwd\apr_getpass.c : \
- ".\include\apr_lib.h"\
- ".\include\apr_strings.h"\
-
-
-.\poll\unix\poll.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\unix\apr_arch_poll_private.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\poll\unix\pollcb.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\unix\apr_arch_poll_private.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\poll\unix\pollset.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\unix\apr_arch_poll_private.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_inherit.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\poll\unix\select.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\unix\apr_arch_poll_private.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_networkio.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\random\unix\apr_random.c : \
- ".\include\apr_random.h"\
-
-
-.\random\unix\sha2.c : \
- ".\random\unix\sha2.h"\
-
-
-.\random\unix\sha2_glue.c : \
- ".\include\apr_random.h"\
- ".\random\unix\sha2.h"\
-
-
-.\shmem\win32\shm.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\strings\apr_cpystrn.c : \
- ".\include\apr_lib.h"\
- ".\include\apr_strings.h"\
-
-
-.\strings\apr_fnmatch.c : \
- ".\include\apr_fnmatch.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_strings.h"\
-
-
-.\strings\apr_snprintf.c : \
- ".\include\apr_lib.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
-
-
-.\strings\apr_strings.c : \
- ".\include\apr_lib.h"\
- ".\include\apr_strings.h"\
-
-
-.\strings\apr_strnatcmp.c : \
- ".\include\apr_lib.h"\
- ".\include\apr_strings.h"\
-
-
-.\strings\apr_strtok.c : \
- ".\include\apr_strings.h"\
-
-
-.\tables\apr_hash.c : \
- ".\include\apr_hash.h"\
-
-
-.\tables\apr_tables.c : \
- ".\include\apr_lib.h"\
- ".\include\apr_strings.h"\
-
-
-.\threadproc\win32\proc.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_threadproc.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\threadproc\win32\signals.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_signal.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_threadproc.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-.\threadproc\win32\thread.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_threadproc.h"\
-
-
-.\threadproc\win32\threadpriv.c : \
- ".\include\apr_lib.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_threadproc.h"\
-
-
-.\time\win32\time.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_portable.h"\
- ".\include\arch\win32\apr_arch_atime.h"\
-
-
-.\time\win32\timestr.c : \
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_atime.h"\
-
-
-.\user\win32\groupinfo.c : \
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
-
-
-.\user\win32\userinfo.c : \
- ".\include\apr_getopt.h"\
- ".\include\apr_lib.h"\
- ".\include\apr_poll.h"\
- ".\include\apr_portable.h"\
- ".\include\apr_strings.h"\
- ".\include\arch\win32\apr_arch_file_io.h"\
- ".\include\arch\win32\apr_arch_utf8.h"\
-
-
-!IF "$(CFG)" == "apr - Win32 Release"
-
-!ELSEIF "$(CFG)" == "apr - Win32 Debug"
-
-!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
-
-!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
-
-!ELSEIF "$(CFG)" == "apr - x64 Release"
-
-!ELSEIF "$(CFG)" == "apr - x64 Debug"
-
-!ENDIF
-
+# Microsoft Developer Studio Generated Dependency File, included by apr.mak
+
+.\atomic\win32\apr_atomic.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_atomic.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+
+
+.\dso\win32\dso.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_dso.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\encoding\apr_escape.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_escape.h"\
+ ".\include\apr_escape_test_char.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+
+
+.\file_io\win32\buffer.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\unix\copy.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\dir.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\unix\fileacc.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\filedup.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\filepath.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\unix\filepath_util.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\filestat.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\filesys.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\flock.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\unix\fullrw.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+
+
+.\file_io\unix\mktemp.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\open.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\pipe.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\readwrite.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\win32\seek.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\file_io\unix\tempdir.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_env.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\locks\win32\proc_mutex.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_proc_mutex.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\locks\win32\thread_cond.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_cond.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_thread_cond.h"\
+ ".\include\arch\win32\apr_arch_thread_mutex.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\locks\win32\thread_mutex.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_thread_mutex.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\locks\win32\thread_rwlock.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_thread_rwlock.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_thread_rwlock.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\memory\unix\apr_pools.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_atomic.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_env.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_hash.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\win32\charset.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+
+
+.\misc\win32\env.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_env.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\unix\errorcodes.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\unix\getopt.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\win32\internal.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\win32\misc.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\unix\otherchild.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\win32\rand.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\win32\start.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_signal.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\win32\utf8.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\misc\unix\version.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_version.h"\
+ ".\include\apr_want.h"\
+
+
+.\mmap\unix\common.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_mmap.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_ring.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\mmap\win32\mmap.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_mmap.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_ring.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\network_io\unix\inet_ntop.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\network_io\unix\inet_pton.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\network_io\unix\multicast.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_support.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+
+
+.\network_io\win32\sendrecv.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\network_io\unix\sockaddr.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\network_io\unix\socket_util.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+
+
+.\network_io\win32\sockets.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\network_io\win32\sockopt.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\passwd\apr_getpass.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\poll\unix\poll.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_ring.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\poll\unix\pollcb.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_ring.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\poll\unix\pollset.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_ring.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_inherit.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\poll\unix\select.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_ring.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\unix\apr_arch_poll_private.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_networkio.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\random\unix\apr_random.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_random.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+
+
+.\random\unix\sha2.c : \
+ ".\include\apr.h"\
+ ".\random\unix\sha2.h"\
+
+
+.\random\unix\sha2_glue.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_random.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\random\unix\sha2.h"\
+
+
+.\shmem\win32\shm.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\strings\apr_cpystrn.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\strings\apr_fnmatch.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_fnmatch.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+
+
+.\strings\apr_snprintf.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\strings\apr_strings.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\strings\apr_strnatcmp.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+
+
+.\strings\apr_strtok.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+
+
+.\tables\apr_hash.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_hash.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\tables\apr_skiplist.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_skiplist.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+
+
+.\tables\apr_tables.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\threadproc\win32\proc.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\threadproc\win32\signals.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_signal.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\threadproc\win32\thread.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\threadproc\win32\threadpriv.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_threadproc.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\time\win32\time.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\time\win32\timestr.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_atime.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\user\win32\groupinfo.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+.\user\win32\userinfo.c : \
+ ".\include\apr.h"\
+ ".\include\apr_allocator.h"\
+ ".\include\apr_dso.h"\
+ ".\include\apr_errno.h"\
+ ".\include\apr_file_info.h"\
+ ".\include\apr_file_io.h"\
+ ".\include\apr_general.h"\
+ ".\include\apr_getopt.h"\
+ ".\include\apr_global_mutex.h"\
+ ".\include\apr_inherit.h"\
+ ".\include\apr_lib.h"\
+ ".\include\apr_network_io.h"\
+ ".\include\apr_poll.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_portable.h"\
+ ".\include\apr_proc_mutex.h"\
+ ".\include\apr_shm.h"\
+ ".\include\apr_strings.h"\
+ ".\include\apr_tables.h"\
+ ".\include\apr_thread_mutex.h"\
+ ".\include\apr_thread_proc.h"\
+ ".\include\apr_time.h"\
+ ".\include\apr_user.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_file_io.h"\
+ ".\include\arch\win32\apr_arch_misc.h"\
+ ".\include\arch\win32\apr_arch_utf8.h"\
+ ".\include\arch\win32\apr_private.h"\
+
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+!ENDIF
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+!ENDIF
+
diff --git a/apr.dsp b/apr.dsp
index 82eda32c0098..bbba9267fcc8 100644
--- a/apr.dsp
+++ b/apr.dsp
@@ -200,6 +200,15 @@ SOURCE=.\atomic\win32\apr_atomic.c
# Begin Source File
SOURCE=.\dso\win32\dso.c
+# End Source File
+# End Group
+# Begin Group "encoding"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\encoding\apr_escape.c
+
# End Source File
# End Group
# Begin Group "file_io"
@@ -492,6 +501,10 @@ SOURCE=.\tables\apr_hash.c
# End Source File
# Begin Source File
+SOURCE=.\tables\apr_skiplist.c
+# End Source File
+# Begin Source File
+
SOURCE=.\tables\apr_tables.c
# End Source File
# End Group
@@ -694,6 +707,85 @@ SOURCE=.\include\apr_errno.h
# End Source File
# Begin Source File
+SOURCE=.\include\apr_escape.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_escape.h
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+# Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ cl.exe /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\LibR\gen_test_char /Fe.\LibR\gen_test_char.exe .\tools\gen_test_char.c
+ .\LibR\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+# Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ cl.exe /nologo /W3 /EHsc /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\LibD\gen_test_char /Fe.\LibD\gen_test_char.exe .\tools\gen_test_char.c
+ .\LibD\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+# Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ cl.exe /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\9x\LibR\gen_test_char /Fe.\9x\LibR\gen_test_char.exe .\tools\gen_test_char.c
+ .\9x\LibR\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+# Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h
+InputPath=.\include\apr_escape.h
+
+InputPath=.\include\apr_escape.h
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ cl.exe /nologo /W3 /EHsc /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\9x\LibD\gen_test_char /Fe.\9x\LibD\gen_test_char.exe .\tools\gen_test_char.c
+ .\9x\LibD\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+# Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h
+InputPath=.\include\apr_escape.h
+
+InputPath=.\include\apr_escape.h
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ cl.exe /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\x64\LibR\gen_test_char /Fe.\x64\LibR\gen_test_char.exe .\tools\gen_test_char.c
+ .\x64\LibR\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+# Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ cl.exe /nologo /W3 /EHsc /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\x64\LibD\gen_test_char /Fe.\x64\LibD\gen_test_char.exe .\tools\gen_test_char.c
+ .\x64\LibD\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
SOURCE=.\include\apr_file_info.h
# End Source File
# Begin Source File
@@ -770,6 +862,10 @@ SOURCE=.\include\apr_signal.h
# End Source File
# Begin Source File
+SOURCE=.\include\apr_skiplist.h
+# End Source File
+# Begin Source File
+
SOURCE=.\include\apr_strings.h
# End Source File
# Begin Source File
@@ -811,6 +907,69 @@ SOURCE=.\include\apr_version.h
# Begin Source File
SOURCE=.\include\apr_want.h
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+# Begin Custom Build
+InputPath=.\include\apr_want.h
+
+".\LibR\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+# Begin Custom Build
+InputPath=.\include\apr_want.h
+
+".\LibD\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+# Begin Custom Build
+InputPath=.\include\apr_want.h
+
+".\9x\LibR\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+# Begin Custom Build
+InputPath=.\include\apr_want.h
+
+".\9x\LibD\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+# Begin Custom Build
+InputPath=.\include\apr_want.h
+
+".\x64\LibR\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+# Begin Custom Build
+InputPath=.\include\apr_want.h
+
+".\x64\LibD\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ENDIF
+
# End Source File
# End Group
# End Target
diff --git a/apr.mak b/apr.mak
index 78bd56a98a22..8248fa13c6d5 100644
--- a/apr.mak
+++ b/apr.mak
@@ -1,1779 +1,1980 @@
-# Microsoft Developer Studio Generated NMAKE File, Based on apr.dsp
-!IF "$(CFG)" == ""
-CFG=apr - Win32 Release
-!MESSAGE No configuration specified. Defaulting to apr - Win32 Release.
-!ENDIF
-
-!IF "$(CFG)" != "apr - Win32 Release" && "$(CFG)" != "apr - Win32 Debug" && "$(CFG)" != "apr - Win32 Release9x" && "$(CFG)" != "apr - Win32 Debug9x" && "$(CFG)" != "apr - x64 Release" && "$(CFG)" != "apr - x64 Debug"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "apr.mak" CFG="apr - Win32 Release"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "apr - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "apr - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE "apr - Win32 Release9x" (based on "Win32 (x86) Static Library")
-!MESSAGE "apr - Win32 Debug9x" (based on "Win32 (x86) Static Library")
-!MESSAGE "apr - x64 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "apr - x64 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-!ERROR An invalid configuration is specified.
-!ENDIF
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE
-NULL=nul
-!ENDIF
-
-!IF "$(CFG)" == "apr - Win32 Release"
-
-OUTDIR=.\LibR
-INTDIR=.\LibR
-# Begin Custom Macros
-OutDir=.\LibR
-# End Custom Macros
-
-ALL : "$(OUTDIR)\apr-1.lib"
-
-
-CLEAN :
- -@erase "$(INTDIR)\apr-1.idb"
- -@erase "$(INTDIR)\apr-1.pdb"
- -@erase "$(INTDIR)\apr_atomic.obj"
- -@erase "$(INTDIR)\apr_cpystrn.obj"
- -@erase "$(INTDIR)\apr_fnmatch.obj"
- -@erase "$(INTDIR)\apr_getpass.obj"
- -@erase "$(INTDIR)\apr_hash.obj"
- -@erase "$(INTDIR)\apr_pools.obj"
- -@erase "$(INTDIR)\apr_random.obj"
- -@erase "$(INTDIR)\apr_snprintf.obj"
- -@erase "$(INTDIR)\apr_strings.obj"
- -@erase "$(INTDIR)\apr_strnatcmp.obj"
- -@erase "$(INTDIR)\apr_strtok.obj"
- -@erase "$(INTDIR)\apr_tables.obj"
- -@erase "$(INTDIR)\buffer.obj"
- -@erase "$(INTDIR)\charset.obj"
- -@erase "$(INTDIR)\common.obj"
- -@erase "$(INTDIR)\copy.obj"
- -@erase "$(INTDIR)\dir.obj"
- -@erase "$(INTDIR)\dso.obj"
- -@erase "$(INTDIR)\env.obj"
- -@erase "$(INTDIR)\errorcodes.obj"
- -@erase "$(INTDIR)\fileacc.obj"
- -@erase "$(INTDIR)\filedup.obj"
- -@erase "$(INTDIR)\filepath.obj"
- -@erase "$(INTDIR)\filepath_util.obj"
- -@erase "$(INTDIR)\filestat.obj"
- -@erase "$(INTDIR)\filesys.obj"
- -@erase "$(INTDIR)\flock.obj"
- -@erase "$(INTDIR)\fullrw.obj"
- -@erase "$(INTDIR)\getopt.obj"
- -@erase "$(INTDIR)\groupinfo.obj"
- -@erase "$(INTDIR)\inet_ntop.obj"
- -@erase "$(INTDIR)\inet_pton.obj"
- -@erase "$(INTDIR)\internal.obj"
- -@erase "$(INTDIR)\misc.obj"
- -@erase "$(INTDIR)\mktemp.obj"
- -@erase "$(INTDIR)\mmap.obj"
- -@erase "$(INTDIR)\multicast.obj"
- -@erase "$(INTDIR)\open.obj"
- -@erase "$(INTDIR)\otherchild.obj"
- -@erase "$(INTDIR)\pipe.obj"
- -@erase "$(INTDIR)\poll.obj"
- -@erase "$(INTDIR)\pollcb.obj"
- -@erase "$(INTDIR)\pollset.obj"
- -@erase "$(INTDIR)\proc.obj"
- -@erase "$(INTDIR)\proc_mutex.obj"
- -@erase "$(INTDIR)\rand.obj"
- -@erase "$(INTDIR)\readwrite.obj"
- -@erase "$(INTDIR)\seek.obj"
- -@erase "$(INTDIR)\select.obj"
- -@erase "$(INTDIR)\sendrecv.obj"
- -@erase "$(INTDIR)\sha2.obj"
- -@erase "$(INTDIR)\sha2_glue.obj"
- -@erase "$(INTDIR)\shm.obj"
- -@erase "$(INTDIR)\signals.obj"
- -@erase "$(INTDIR)\sockaddr.obj"
- -@erase "$(INTDIR)\socket_util.obj"
- -@erase "$(INTDIR)\sockets.obj"
- -@erase "$(INTDIR)\sockopt.obj"
- -@erase "$(INTDIR)\start.obj"
- -@erase "$(INTDIR)\tempdir.obj"
- -@erase "$(INTDIR)\thread.obj"
- -@erase "$(INTDIR)\thread_cond.obj"
- -@erase "$(INTDIR)\thread_mutex.obj"
- -@erase "$(INTDIR)\thread_rwlock.obj"
- -@erase "$(INTDIR)\threadpriv.obj"
- -@erase "$(INTDIR)\time.obj"
- -@erase "$(INTDIR)\timestr.obj"
- -@erase "$(INTDIR)\userinfo.obj"
- -@erase "$(INTDIR)\utf8.obj"
- -@erase "$(INTDIR)\version.obj"
- -@erase "$(OUTDIR)\apr-1.lib"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /c
-
-.c{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.c{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-RSC=rc.exe
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
-BSC32_SBRS= \
-
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
-LIB32_OBJS= \
- "$(INTDIR)\apr_atomic.obj" \
- "$(INTDIR)\dso.obj" \
- "$(INTDIR)\buffer.obj" \
- "$(INTDIR)\copy.obj" \
- "$(INTDIR)\dir.obj" \
- "$(INTDIR)\fileacc.obj" \
- "$(INTDIR)\filedup.obj" \
- "$(INTDIR)\filepath.obj" \
- "$(INTDIR)\filepath_util.obj" \
- "$(INTDIR)\filestat.obj" \
- "$(INTDIR)\filesys.obj" \
- "$(INTDIR)\flock.obj" \
- "$(INTDIR)\fullrw.obj" \
- "$(INTDIR)\mktemp.obj" \
- "$(INTDIR)\open.obj" \
- "$(INTDIR)\pipe.obj" \
- "$(INTDIR)\readwrite.obj" \
- "$(INTDIR)\seek.obj" \
- "$(INTDIR)\tempdir.obj" \
- "$(INTDIR)\proc_mutex.obj" \
- "$(INTDIR)\thread_cond.obj" \
- "$(INTDIR)\thread_mutex.obj" \
- "$(INTDIR)\thread_rwlock.obj" \
- "$(INTDIR)\apr_pools.obj" \
- "$(INTDIR)\charset.obj" \
- "$(INTDIR)\env.obj" \
- "$(INTDIR)\errorcodes.obj" \
- "$(INTDIR)\getopt.obj" \
- "$(INTDIR)\internal.obj" \
- "$(INTDIR)\misc.obj" \
- "$(INTDIR)\otherchild.obj" \
- "$(INTDIR)\rand.obj" \
- "$(INTDIR)\start.obj" \
- "$(INTDIR)\utf8.obj" \
- "$(INTDIR)\version.obj" \
- "$(INTDIR)\common.obj" \
- "$(INTDIR)\mmap.obj" \
- "$(INTDIR)\inet_ntop.obj" \
- "$(INTDIR)\inet_pton.obj" \
- "$(INTDIR)\multicast.obj" \
- "$(INTDIR)\sendrecv.obj" \
- "$(INTDIR)\sockaddr.obj" \
- "$(INTDIR)\sockets.obj" \
- "$(INTDIR)\socket_util.obj" \
- "$(INTDIR)\sockopt.obj" \
- "$(INTDIR)\apr_getpass.obj" \
- "$(INTDIR)\poll.obj" \
- "$(INTDIR)\pollcb.obj" \
- "$(INTDIR)\pollset.obj" \
- "$(INTDIR)\select.obj" \
- "$(INTDIR)\apr_random.obj" \
- "$(INTDIR)\sha2.obj" \
- "$(INTDIR)\sha2_glue.obj" \
- "$(INTDIR)\shm.obj" \
- "$(INTDIR)\apr_cpystrn.obj" \
- "$(INTDIR)\apr_fnmatch.obj" \
- "$(INTDIR)\apr_snprintf.obj" \
- "$(INTDIR)\apr_strings.obj" \
- "$(INTDIR)\apr_strnatcmp.obj" \
- "$(INTDIR)\apr_strtok.obj" \
- "$(INTDIR)\apr_hash.obj" \
- "$(INTDIR)\apr_tables.obj" \
- "$(INTDIR)\proc.obj" \
- "$(INTDIR)\signals.obj" \
- "$(INTDIR)\thread.obj" \
- "$(INTDIR)\threadpriv.obj" \
- "$(INTDIR)\time.obj" \
- "$(INTDIR)\timestr.obj" \
- "$(INTDIR)\groupinfo.obj" \
- "$(INTDIR)\userinfo.obj"
-
-"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
- $(LIB32) @<<
- $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "apr - Win32 Debug"
-
-OUTDIR=.\LibD
-INTDIR=.\LibD
-# Begin Custom Macros
-OutDir=.\LibD
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
-
-
-CLEAN :
- -@erase "$(INTDIR)\apr-1.idb"
- -@erase "$(INTDIR)\apr-1.pdb"
- -@erase "$(INTDIR)\apr_atomic.obj"
- -@erase "$(INTDIR)\apr_cpystrn.obj"
- -@erase "$(INTDIR)\apr_fnmatch.obj"
- -@erase "$(INTDIR)\apr_getpass.obj"
- -@erase "$(INTDIR)\apr_hash.obj"
- -@erase "$(INTDIR)\apr_pools.obj"
- -@erase "$(INTDIR)\apr_random.obj"
- -@erase "$(INTDIR)\apr_snprintf.obj"
- -@erase "$(INTDIR)\apr_strings.obj"
- -@erase "$(INTDIR)\apr_strnatcmp.obj"
- -@erase "$(INTDIR)\apr_strtok.obj"
- -@erase "$(INTDIR)\apr_tables.obj"
- -@erase "$(INTDIR)\buffer.obj"
- -@erase "$(INTDIR)\charset.obj"
- -@erase "$(INTDIR)\common.obj"
- -@erase "$(INTDIR)\copy.obj"
- -@erase "$(INTDIR)\dir.obj"
- -@erase "$(INTDIR)\dso.obj"
- -@erase "$(INTDIR)\env.obj"
- -@erase "$(INTDIR)\errorcodes.obj"
- -@erase "$(INTDIR)\fileacc.obj"
- -@erase "$(INTDIR)\filedup.obj"
- -@erase "$(INTDIR)\filepath.obj"
- -@erase "$(INTDIR)\filepath_util.obj"
- -@erase "$(INTDIR)\filestat.obj"
- -@erase "$(INTDIR)\filesys.obj"
- -@erase "$(INTDIR)\flock.obj"
- -@erase "$(INTDIR)\fullrw.obj"
- -@erase "$(INTDIR)\getopt.obj"
- -@erase "$(INTDIR)\groupinfo.obj"
- -@erase "$(INTDIR)\inet_ntop.obj"
- -@erase "$(INTDIR)\inet_pton.obj"
- -@erase "$(INTDIR)\internal.obj"
- -@erase "$(INTDIR)\misc.obj"
- -@erase "$(INTDIR)\mktemp.obj"
- -@erase "$(INTDIR)\mmap.obj"
- -@erase "$(INTDIR)\multicast.obj"
- -@erase "$(INTDIR)\open.obj"
- -@erase "$(INTDIR)\otherchild.obj"
- -@erase "$(INTDIR)\pipe.obj"
- -@erase "$(INTDIR)\poll.obj"
- -@erase "$(INTDIR)\pollcb.obj"
- -@erase "$(INTDIR)\pollset.obj"
- -@erase "$(INTDIR)\proc.obj"
- -@erase "$(INTDIR)\proc_mutex.obj"
- -@erase "$(INTDIR)\rand.obj"
- -@erase "$(INTDIR)\readwrite.obj"
- -@erase "$(INTDIR)\seek.obj"
- -@erase "$(INTDIR)\select.obj"
- -@erase "$(INTDIR)\sendrecv.obj"
- -@erase "$(INTDIR)\sha2.obj"
- -@erase "$(INTDIR)\sha2_glue.obj"
- -@erase "$(INTDIR)\shm.obj"
- -@erase "$(INTDIR)\signals.obj"
- -@erase "$(INTDIR)\sockaddr.obj"
- -@erase "$(INTDIR)\socket_util.obj"
- -@erase "$(INTDIR)\sockets.obj"
- -@erase "$(INTDIR)\sockopt.obj"
- -@erase "$(INTDIR)\start.obj"
- -@erase "$(INTDIR)\tempdir.obj"
- -@erase "$(INTDIR)\thread.obj"
- -@erase "$(INTDIR)\thread_cond.obj"
- -@erase "$(INTDIR)\thread_mutex.obj"
- -@erase "$(INTDIR)\thread_rwlock.obj"
- -@erase "$(INTDIR)\threadpriv.obj"
- -@erase "$(INTDIR)\time.obj"
- -@erase "$(INTDIR)\timestr.obj"
- -@erase "$(INTDIR)\userinfo.obj"
- -@erase "$(INTDIR)\utf8.obj"
- -@erase "$(INTDIR)\version.obj"
- -@erase "$(OUTDIR)\apr-1.lib"
- -@erase ".\include\apr.h"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /EHsc /c
-
-.c{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.c{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-RSC=rc.exe
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
-BSC32_SBRS= \
-
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
-LIB32_OBJS= \
- "$(INTDIR)\apr_atomic.obj" \
- "$(INTDIR)\dso.obj" \
- "$(INTDIR)\buffer.obj" \
- "$(INTDIR)\copy.obj" \
- "$(INTDIR)\dir.obj" \
- "$(INTDIR)\fileacc.obj" \
- "$(INTDIR)\filedup.obj" \
- "$(INTDIR)\filepath.obj" \
- "$(INTDIR)\filepath_util.obj" \
- "$(INTDIR)\filestat.obj" \
- "$(INTDIR)\filesys.obj" \
- "$(INTDIR)\flock.obj" \
- "$(INTDIR)\fullrw.obj" \
- "$(INTDIR)\mktemp.obj" \
- "$(INTDIR)\open.obj" \
- "$(INTDIR)\pipe.obj" \
- "$(INTDIR)\readwrite.obj" \
- "$(INTDIR)\seek.obj" \
- "$(INTDIR)\tempdir.obj" \
- "$(INTDIR)\proc_mutex.obj" \
- "$(INTDIR)\thread_cond.obj" \
- "$(INTDIR)\thread_mutex.obj" \
- "$(INTDIR)\thread_rwlock.obj" \
- "$(INTDIR)\apr_pools.obj" \
- "$(INTDIR)\charset.obj" \
- "$(INTDIR)\env.obj" \
- "$(INTDIR)\errorcodes.obj" \
- "$(INTDIR)\getopt.obj" \
- "$(INTDIR)\internal.obj" \
- "$(INTDIR)\misc.obj" \
- "$(INTDIR)\otherchild.obj" \
- "$(INTDIR)\rand.obj" \
- "$(INTDIR)\start.obj" \
- "$(INTDIR)\utf8.obj" \
- "$(INTDIR)\version.obj" \
- "$(INTDIR)\common.obj" \
- "$(INTDIR)\mmap.obj" \
- "$(INTDIR)\inet_ntop.obj" \
- "$(INTDIR)\inet_pton.obj" \
- "$(INTDIR)\multicast.obj" \
- "$(INTDIR)\sendrecv.obj" \
- "$(INTDIR)\sockaddr.obj" \
- "$(INTDIR)\sockets.obj" \
- "$(INTDIR)\socket_util.obj" \
- "$(INTDIR)\sockopt.obj" \
- "$(INTDIR)\apr_getpass.obj" \
- "$(INTDIR)\poll.obj" \
- "$(INTDIR)\pollcb.obj" \
- "$(INTDIR)\pollset.obj" \
- "$(INTDIR)\select.obj" \
- "$(INTDIR)\apr_random.obj" \
- "$(INTDIR)\sha2.obj" \
- "$(INTDIR)\sha2_glue.obj" \
- "$(INTDIR)\shm.obj" \
- "$(INTDIR)\apr_cpystrn.obj" \
- "$(INTDIR)\apr_fnmatch.obj" \
- "$(INTDIR)\apr_snprintf.obj" \
- "$(INTDIR)\apr_strings.obj" \
- "$(INTDIR)\apr_strnatcmp.obj" \
- "$(INTDIR)\apr_strtok.obj" \
- "$(INTDIR)\apr_hash.obj" \
- "$(INTDIR)\apr_tables.obj" \
- "$(INTDIR)\proc.obj" \
- "$(INTDIR)\signals.obj" \
- "$(INTDIR)\thread.obj" \
- "$(INTDIR)\threadpriv.obj" \
- "$(INTDIR)\time.obj" \
- "$(INTDIR)\timestr.obj" \
- "$(INTDIR)\groupinfo.obj" \
- "$(INTDIR)\userinfo.obj"
-
-"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
- $(LIB32) @<<
- $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
-
-OUTDIR=.\9x\LibR
-INTDIR=.\9x\LibR
-# Begin Custom Macros
-OutDir=.\9x\LibR
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
-
-
-CLEAN :
- -@erase "$(INTDIR)\apr-1.idb"
- -@erase "$(INTDIR)\apr-1.pdb"
- -@erase "$(INTDIR)\apr_atomic.obj"
- -@erase "$(INTDIR)\apr_cpystrn.obj"
- -@erase "$(INTDIR)\apr_fnmatch.obj"
- -@erase "$(INTDIR)\apr_getpass.obj"
- -@erase "$(INTDIR)\apr_hash.obj"
- -@erase "$(INTDIR)\apr_pools.obj"
- -@erase "$(INTDIR)\apr_random.obj"
- -@erase "$(INTDIR)\apr_snprintf.obj"
- -@erase "$(INTDIR)\apr_strings.obj"
- -@erase "$(INTDIR)\apr_strnatcmp.obj"
- -@erase "$(INTDIR)\apr_strtok.obj"
- -@erase "$(INTDIR)\apr_tables.obj"
- -@erase "$(INTDIR)\buffer.obj"
- -@erase "$(INTDIR)\charset.obj"
- -@erase "$(INTDIR)\common.obj"
- -@erase "$(INTDIR)\copy.obj"
- -@erase "$(INTDIR)\dir.obj"
- -@erase "$(INTDIR)\dso.obj"
- -@erase "$(INTDIR)\env.obj"
- -@erase "$(INTDIR)\errorcodes.obj"
- -@erase "$(INTDIR)\fileacc.obj"
- -@erase "$(INTDIR)\filedup.obj"
- -@erase "$(INTDIR)\filepath.obj"
- -@erase "$(INTDIR)\filepath_util.obj"
- -@erase "$(INTDIR)\filestat.obj"
- -@erase "$(INTDIR)\filesys.obj"
- -@erase "$(INTDIR)\flock.obj"
- -@erase "$(INTDIR)\fullrw.obj"
- -@erase "$(INTDIR)\getopt.obj"
- -@erase "$(INTDIR)\groupinfo.obj"
- -@erase "$(INTDIR)\inet_ntop.obj"
- -@erase "$(INTDIR)\inet_pton.obj"
- -@erase "$(INTDIR)\internal.obj"
- -@erase "$(INTDIR)\misc.obj"
- -@erase "$(INTDIR)\mktemp.obj"
- -@erase "$(INTDIR)\mmap.obj"
- -@erase "$(INTDIR)\multicast.obj"
- -@erase "$(INTDIR)\open.obj"
- -@erase "$(INTDIR)\otherchild.obj"
- -@erase "$(INTDIR)\pipe.obj"
- -@erase "$(INTDIR)\poll.obj"
- -@erase "$(INTDIR)\pollcb.obj"
- -@erase "$(INTDIR)\pollset.obj"
- -@erase "$(INTDIR)\proc.obj"
- -@erase "$(INTDIR)\proc_mutex.obj"
- -@erase "$(INTDIR)\rand.obj"
- -@erase "$(INTDIR)\readwrite.obj"
- -@erase "$(INTDIR)\seek.obj"
- -@erase "$(INTDIR)\select.obj"
- -@erase "$(INTDIR)\sendrecv.obj"
- -@erase "$(INTDIR)\sha2.obj"
- -@erase "$(INTDIR)\sha2_glue.obj"
- -@erase "$(INTDIR)\shm.obj"
- -@erase "$(INTDIR)\signals.obj"
- -@erase "$(INTDIR)\sockaddr.obj"
- -@erase "$(INTDIR)\socket_util.obj"
- -@erase "$(INTDIR)\sockets.obj"
- -@erase "$(INTDIR)\sockopt.obj"
- -@erase "$(INTDIR)\start.obj"
- -@erase "$(INTDIR)\tempdir.obj"
- -@erase "$(INTDIR)\thread.obj"
- -@erase "$(INTDIR)\thread_cond.obj"
- -@erase "$(INTDIR)\thread_mutex.obj"
- -@erase "$(INTDIR)\thread_rwlock.obj"
- -@erase "$(INTDIR)\threadpriv.obj"
- -@erase "$(INTDIR)\time.obj"
- -@erase "$(INTDIR)\timestr.obj"
- -@erase "$(INTDIR)\userinfo.obj"
- -@erase "$(INTDIR)\utf8.obj"
- -@erase "$(INTDIR)\version.obj"
- -@erase "$(OUTDIR)\apr-1.lib"
- -@erase ".\include\apr.h"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /c
-
-.c{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.c{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-RSC=rc.exe
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
-BSC32_SBRS= \
-
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
-LIB32_OBJS= \
- "$(INTDIR)\apr_atomic.obj" \
- "$(INTDIR)\dso.obj" \
- "$(INTDIR)\buffer.obj" \
- "$(INTDIR)\copy.obj" \
- "$(INTDIR)\dir.obj" \
- "$(INTDIR)\fileacc.obj" \
- "$(INTDIR)\filedup.obj" \
- "$(INTDIR)\filepath.obj" \
- "$(INTDIR)\filepath_util.obj" \
- "$(INTDIR)\filestat.obj" \
- "$(INTDIR)\filesys.obj" \
- "$(INTDIR)\flock.obj" \
- "$(INTDIR)\fullrw.obj" \
- "$(INTDIR)\mktemp.obj" \
- "$(INTDIR)\open.obj" \
- "$(INTDIR)\pipe.obj" \
- "$(INTDIR)\readwrite.obj" \
- "$(INTDIR)\seek.obj" \
- "$(INTDIR)\tempdir.obj" \
- "$(INTDIR)\proc_mutex.obj" \
- "$(INTDIR)\thread_cond.obj" \
- "$(INTDIR)\thread_mutex.obj" \
- "$(INTDIR)\thread_rwlock.obj" \
- "$(INTDIR)\apr_pools.obj" \
- "$(INTDIR)\charset.obj" \
- "$(INTDIR)\env.obj" \
- "$(INTDIR)\errorcodes.obj" \
- "$(INTDIR)\getopt.obj" \
- "$(INTDIR)\internal.obj" \
- "$(INTDIR)\misc.obj" \
- "$(INTDIR)\otherchild.obj" \
- "$(INTDIR)\rand.obj" \
- "$(INTDIR)\start.obj" \
- "$(INTDIR)\utf8.obj" \
- "$(INTDIR)\version.obj" \
- "$(INTDIR)\common.obj" \
- "$(INTDIR)\mmap.obj" \
- "$(INTDIR)\inet_ntop.obj" \
- "$(INTDIR)\inet_pton.obj" \
- "$(INTDIR)\multicast.obj" \
- "$(INTDIR)\sendrecv.obj" \
- "$(INTDIR)\sockaddr.obj" \
- "$(INTDIR)\sockets.obj" \
- "$(INTDIR)\socket_util.obj" \
- "$(INTDIR)\sockopt.obj" \
- "$(INTDIR)\apr_getpass.obj" \
- "$(INTDIR)\poll.obj" \
- "$(INTDIR)\pollcb.obj" \
- "$(INTDIR)\pollset.obj" \
- "$(INTDIR)\select.obj" \
- "$(INTDIR)\apr_random.obj" \
- "$(INTDIR)\sha2.obj" \
- "$(INTDIR)\sha2_glue.obj" \
- "$(INTDIR)\shm.obj" \
- "$(INTDIR)\apr_cpystrn.obj" \
- "$(INTDIR)\apr_fnmatch.obj" \
- "$(INTDIR)\apr_snprintf.obj" \
- "$(INTDIR)\apr_strings.obj" \
- "$(INTDIR)\apr_strnatcmp.obj" \
- "$(INTDIR)\apr_strtok.obj" \
- "$(INTDIR)\apr_hash.obj" \
- "$(INTDIR)\apr_tables.obj" \
- "$(INTDIR)\proc.obj" \
- "$(INTDIR)\signals.obj" \
- "$(INTDIR)\thread.obj" \
- "$(INTDIR)\threadpriv.obj" \
- "$(INTDIR)\time.obj" \
- "$(INTDIR)\timestr.obj" \
- "$(INTDIR)\groupinfo.obj" \
- "$(INTDIR)\userinfo.obj"
-
-"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
- $(LIB32) @<<
- $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
-
-OUTDIR=.\9x\LibD
-INTDIR=.\9x\LibD
-# Begin Custom Macros
-OutDir=.\9x\LibD
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
-
-
-CLEAN :
- -@erase "$(INTDIR)\apr-1.idb"
- -@erase "$(INTDIR)\apr-1.pdb"
- -@erase "$(INTDIR)\apr_atomic.obj"
- -@erase "$(INTDIR)\apr_cpystrn.obj"
- -@erase "$(INTDIR)\apr_fnmatch.obj"
- -@erase "$(INTDIR)\apr_getpass.obj"
- -@erase "$(INTDIR)\apr_hash.obj"
- -@erase "$(INTDIR)\apr_pools.obj"
- -@erase "$(INTDIR)\apr_random.obj"
- -@erase "$(INTDIR)\apr_snprintf.obj"
- -@erase "$(INTDIR)\apr_strings.obj"
- -@erase "$(INTDIR)\apr_strnatcmp.obj"
- -@erase "$(INTDIR)\apr_strtok.obj"
- -@erase "$(INTDIR)\apr_tables.obj"
- -@erase "$(INTDIR)\buffer.obj"
- -@erase "$(INTDIR)\charset.obj"
- -@erase "$(INTDIR)\common.obj"
- -@erase "$(INTDIR)\copy.obj"
- -@erase "$(INTDIR)\dir.obj"
- -@erase "$(INTDIR)\dso.obj"
- -@erase "$(INTDIR)\env.obj"
- -@erase "$(INTDIR)\errorcodes.obj"
- -@erase "$(INTDIR)\fileacc.obj"
- -@erase "$(INTDIR)\filedup.obj"
- -@erase "$(INTDIR)\filepath.obj"
- -@erase "$(INTDIR)\filepath_util.obj"
- -@erase "$(INTDIR)\filestat.obj"
- -@erase "$(INTDIR)\filesys.obj"
- -@erase "$(INTDIR)\flock.obj"
- -@erase "$(INTDIR)\fullrw.obj"
- -@erase "$(INTDIR)\getopt.obj"
- -@erase "$(INTDIR)\groupinfo.obj"
- -@erase "$(INTDIR)\inet_ntop.obj"
- -@erase "$(INTDIR)\inet_pton.obj"
- -@erase "$(INTDIR)\internal.obj"
- -@erase "$(INTDIR)\misc.obj"
- -@erase "$(INTDIR)\mktemp.obj"
- -@erase "$(INTDIR)\mmap.obj"
- -@erase "$(INTDIR)\multicast.obj"
- -@erase "$(INTDIR)\open.obj"
- -@erase "$(INTDIR)\otherchild.obj"
- -@erase "$(INTDIR)\pipe.obj"
- -@erase "$(INTDIR)\poll.obj"
- -@erase "$(INTDIR)\pollcb.obj"
- -@erase "$(INTDIR)\pollset.obj"
- -@erase "$(INTDIR)\proc.obj"
- -@erase "$(INTDIR)\proc_mutex.obj"
- -@erase "$(INTDIR)\rand.obj"
- -@erase "$(INTDIR)\readwrite.obj"
- -@erase "$(INTDIR)\seek.obj"
- -@erase "$(INTDIR)\select.obj"
- -@erase "$(INTDIR)\sendrecv.obj"
- -@erase "$(INTDIR)\sha2.obj"
- -@erase "$(INTDIR)\sha2_glue.obj"
- -@erase "$(INTDIR)\shm.obj"
- -@erase "$(INTDIR)\signals.obj"
- -@erase "$(INTDIR)\sockaddr.obj"
- -@erase "$(INTDIR)\socket_util.obj"
- -@erase "$(INTDIR)\sockets.obj"
- -@erase "$(INTDIR)\sockopt.obj"
- -@erase "$(INTDIR)\start.obj"
- -@erase "$(INTDIR)\tempdir.obj"
- -@erase "$(INTDIR)\thread.obj"
- -@erase "$(INTDIR)\thread_cond.obj"
- -@erase "$(INTDIR)\thread_mutex.obj"
- -@erase "$(INTDIR)\thread_rwlock.obj"
- -@erase "$(INTDIR)\threadpriv.obj"
- -@erase "$(INTDIR)\time.obj"
- -@erase "$(INTDIR)\timestr.obj"
- -@erase "$(INTDIR)\userinfo.obj"
- -@erase "$(INTDIR)\utf8.obj"
- -@erase "$(INTDIR)\version.obj"
- -@erase "$(OUTDIR)\apr-1.lib"
- -@erase ".\include\apr.h"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /EHsc /c
-
-.c{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.c{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-RSC=rc.exe
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
-BSC32_SBRS= \
-
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
-LIB32_OBJS= \
- "$(INTDIR)\apr_atomic.obj" \
- "$(INTDIR)\dso.obj" \
- "$(INTDIR)\buffer.obj" \
- "$(INTDIR)\copy.obj" \
- "$(INTDIR)\dir.obj" \
- "$(INTDIR)\fileacc.obj" \
- "$(INTDIR)\filedup.obj" \
- "$(INTDIR)\filepath.obj" \
- "$(INTDIR)\filepath_util.obj" \
- "$(INTDIR)\filestat.obj" \
- "$(INTDIR)\filesys.obj" \
- "$(INTDIR)\flock.obj" \
- "$(INTDIR)\fullrw.obj" \
- "$(INTDIR)\mktemp.obj" \
- "$(INTDIR)\open.obj" \
- "$(INTDIR)\pipe.obj" \
- "$(INTDIR)\readwrite.obj" \
- "$(INTDIR)\seek.obj" \
- "$(INTDIR)\tempdir.obj" \
- "$(INTDIR)\proc_mutex.obj" \
- "$(INTDIR)\thread_cond.obj" \
- "$(INTDIR)\thread_mutex.obj" \
- "$(INTDIR)\thread_rwlock.obj" \
- "$(INTDIR)\apr_pools.obj" \
- "$(INTDIR)\charset.obj" \
- "$(INTDIR)\env.obj" \
- "$(INTDIR)\errorcodes.obj" \
- "$(INTDIR)\getopt.obj" \
- "$(INTDIR)\internal.obj" \
- "$(INTDIR)\misc.obj" \
- "$(INTDIR)\otherchild.obj" \
- "$(INTDIR)\rand.obj" \
- "$(INTDIR)\start.obj" \
- "$(INTDIR)\utf8.obj" \
- "$(INTDIR)\version.obj" \
- "$(INTDIR)\common.obj" \
- "$(INTDIR)\mmap.obj" \
- "$(INTDIR)\inet_ntop.obj" \
- "$(INTDIR)\inet_pton.obj" \
- "$(INTDIR)\multicast.obj" \
- "$(INTDIR)\sendrecv.obj" \
- "$(INTDIR)\sockaddr.obj" \
- "$(INTDIR)\sockets.obj" \
- "$(INTDIR)\socket_util.obj" \
- "$(INTDIR)\sockopt.obj" \
- "$(INTDIR)\apr_getpass.obj" \
- "$(INTDIR)\poll.obj" \
- "$(INTDIR)\pollcb.obj" \
- "$(INTDIR)\pollset.obj" \
- "$(INTDIR)\select.obj" \
- "$(INTDIR)\apr_random.obj" \
- "$(INTDIR)\sha2.obj" \
- "$(INTDIR)\sha2_glue.obj" \
- "$(INTDIR)\shm.obj" \
- "$(INTDIR)\apr_cpystrn.obj" \
- "$(INTDIR)\apr_fnmatch.obj" \
- "$(INTDIR)\apr_snprintf.obj" \
- "$(INTDIR)\apr_strings.obj" \
- "$(INTDIR)\apr_strnatcmp.obj" \
- "$(INTDIR)\apr_strtok.obj" \
- "$(INTDIR)\apr_hash.obj" \
- "$(INTDIR)\apr_tables.obj" \
- "$(INTDIR)\proc.obj" \
- "$(INTDIR)\signals.obj" \
- "$(INTDIR)\thread.obj" \
- "$(INTDIR)\threadpriv.obj" \
- "$(INTDIR)\time.obj" \
- "$(INTDIR)\timestr.obj" \
- "$(INTDIR)\groupinfo.obj" \
- "$(INTDIR)\userinfo.obj"
-
-"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
- $(LIB32) @<<
- $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "apr - x64 Release"
-
-OUTDIR=.\x64\LibR
-INTDIR=.\x64\LibR
-# Begin Custom Macros
-OutDir=.\x64\LibR
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
-
-
-CLEAN :
- -@erase "$(INTDIR)\apr-1.idb"
- -@erase "$(INTDIR)\apr-1.pdb"
- -@erase "$(INTDIR)\apr_atomic.obj"
- -@erase "$(INTDIR)\apr_cpystrn.obj"
- -@erase "$(INTDIR)\apr_fnmatch.obj"
- -@erase "$(INTDIR)\apr_getpass.obj"
- -@erase "$(INTDIR)\apr_hash.obj"
- -@erase "$(INTDIR)\apr_pools.obj"
- -@erase "$(INTDIR)\apr_random.obj"
- -@erase "$(INTDIR)\apr_snprintf.obj"
- -@erase "$(INTDIR)\apr_strings.obj"
- -@erase "$(INTDIR)\apr_strnatcmp.obj"
- -@erase "$(INTDIR)\apr_strtok.obj"
- -@erase "$(INTDIR)\apr_tables.obj"
- -@erase "$(INTDIR)\buffer.obj"
- -@erase "$(INTDIR)\charset.obj"
- -@erase "$(INTDIR)\common.obj"
- -@erase "$(INTDIR)\copy.obj"
- -@erase "$(INTDIR)\dir.obj"
- -@erase "$(INTDIR)\dso.obj"
- -@erase "$(INTDIR)\env.obj"
- -@erase "$(INTDIR)\errorcodes.obj"
- -@erase "$(INTDIR)\fileacc.obj"
- -@erase "$(INTDIR)\filedup.obj"
- -@erase "$(INTDIR)\filepath.obj"
- -@erase "$(INTDIR)\filepath_util.obj"
- -@erase "$(INTDIR)\filestat.obj"
- -@erase "$(INTDIR)\filesys.obj"
- -@erase "$(INTDIR)\flock.obj"
- -@erase "$(INTDIR)\fullrw.obj"
- -@erase "$(INTDIR)\getopt.obj"
- -@erase "$(INTDIR)\groupinfo.obj"
- -@erase "$(INTDIR)\inet_ntop.obj"
- -@erase "$(INTDIR)\inet_pton.obj"
- -@erase "$(INTDIR)\internal.obj"
- -@erase "$(INTDIR)\misc.obj"
- -@erase "$(INTDIR)\mktemp.obj"
- -@erase "$(INTDIR)\mmap.obj"
- -@erase "$(INTDIR)\multicast.obj"
- -@erase "$(INTDIR)\open.obj"
- -@erase "$(INTDIR)\otherchild.obj"
- -@erase "$(INTDIR)\pipe.obj"
- -@erase "$(INTDIR)\poll.obj"
- -@erase "$(INTDIR)\pollcb.obj"
- -@erase "$(INTDIR)\pollset.obj"
- -@erase "$(INTDIR)\proc.obj"
- -@erase "$(INTDIR)\proc_mutex.obj"
- -@erase "$(INTDIR)\rand.obj"
- -@erase "$(INTDIR)\readwrite.obj"
- -@erase "$(INTDIR)\seek.obj"
- -@erase "$(INTDIR)\select.obj"
- -@erase "$(INTDIR)\sendrecv.obj"
- -@erase "$(INTDIR)\sha2.obj"
- -@erase "$(INTDIR)\sha2_glue.obj"
- -@erase "$(INTDIR)\shm.obj"
- -@erase "$(INTDIR)\signals.obj"
- -@erase "$(INTDIR)\sockaddr.obj"
- -@erase "$(INTDIR)\socket_util.obj"
- -@erase "$(INTDIR)\sockets.obj"
- -@erase "$(INTDIR)\sockopt.obj"
- -@erase "$(INTDIR)\start.obj"
- -@erase "$(INTDIR)\tempdir.obj"
- -@erase "$(INTDIR)\thread.obj"
- -@erase "$(INTDIR)\thread_cond.obj"
- -@erase "$(INTDIR)\thread_mutex.obj"
- -@erase "$(INTDIR)\thread_rwlock.obj"
- -@erase "$(INTDIR)\threadpriv.obj"
- -@erase "$(INTDIR)\time.obj"
- -@erase "$(INTDIR)\timestr.obj"
- -@erase "$(INTDIR)\userinfo.obj"
- -@erase "$(INTDIR)\utf8.obj"
- -@erase "$(INTDIR)\version.obj"
- -@erase "$(OUTDIR)\apr-1.lib"
- -@erase ".\include\apr.h"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /c
-
-.c{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.c{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-RSC=rc.exe
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
-BSC32_SBRS= \
-
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
-LIB32_OBJS= \
- "$(INTDIR)\apr_atomic.obj" \
- "$(INTDIR)\dso.obj" \
- "$(INTDIR)\buffer.obj" \
- "$(INTDIR)\copy.obj" \
- "$(INTDIR)\dir.obj" \
- "$(INTDIR)\fileacc.obj" \
- "$(INTDIR)\filedup.obj" \
- "$(INTDIR)\filepath.obj" \
- "$(INTDIR)\filepath_util.obj" \
- "$(INTDIR)\filestat.obj" \
- "$(INTDIR)\filesys.obj" \
- "$(INTDIR)\flock.obj" \
- "$(INTDIR)\fullrw.obj" \
- "$(INTDIR)\mktemp.obj" \
- "$(INTDIR)\open.obj" \
- "$(INTDIR)\pipe.obj" \
- "$(INTDIR)\readwrite.obj" \
- "$(INTDIR)\seek.obj" \
- "$(INTDIR)\tempdir.obj" \
- "$(INTDIR)\proc_mutex.obj" \
- "$(INTDIR)\thread_cond.obj" \
- "$(INTDIR)\thread_mutex.obj" \
- "$(INTDIR)\thread_rwlock.obj" \
- "$(INTDIR)\apr_pools.obj" \
- "$(INTDIR)\charset.obj" \
- "$(INTDIR)\env.obj" \
- "$(INTDIR)\errorcodes.obj" \
- "$(INTDIR)\getopt.obj" \
- "$(INTDIR)\internal.obj" \
- "$(INTDIR)\misc.obj" \
- "$(INTDIR)\otherchild.obj" \
- "$(INTDIR)\rand.obj" \
- "$(INTDIR)\start.obj" \
- "$(INTDIR)\utf8.obj" \
- "$(INTDIR)\version.obj" \
- "$(INTDIR)\common.obj" \
- "$(INTDIR)\mmap.obj" \
- "$(INTDIR)\inet_ntop.obj" \
- "$(INTDIR)\inet_pton.obj" \
- "$(INTDIR)\multicast.obj" \
- "$(INTDIR)\sendrecv.obj" \
- "$(INTDIR)\sockaddr.obj" \
- "$(INTDIR)\sockets.obj" \
- "$(INTDIR)\socket_util.obj" \
- "$(INTDIR)\sockopt.obj" \
- "$(INTDIR)\apr_getpass.obj" \
- "$(INTDIR)\poll.obj" \
- "$(INTDIR)\pollcb.obj" \
- "$(INTDIR)\pollset.obj" \
- "$(INTDIR)\select.obj" \
- "$(INTDIR)\apr_random.obj" \
- "$(INTDIR)\sha2.obj" \
- "$(INTDIR)\sha2_glue.obj" \
- "$(INTDIR)\shm.obj" \
- "$(INTDIR)\apr_cpystrn.obj" \
- "$(INTDIR)\apr_fnmatch.obj" \
- "$(INTDIR)\apr_snprintf.obj" \
- "$(INTDIR)\apr_strings.obj" \
- "$(INTDIR)\apr_strnatcmp.obj" \
- "$(INTDIR)\apr_strtok.obj" \
- "$(INTDIR)\apr_hash.obj" \
- "$(INTDIR)\apr_tables.obj" \
- "$(INTDIR)\proc.obj" \
- "$(INTDIR)\signals.obj" \
- "$(INTDIR)\thread.obj" \
- "$(INTDIR)\threadpriv.obj" \
- "$(INTDIR)\time.obj" \
- "$(INTDIR)\timestr.obj" \
- "$(INTDIR)\groupinfo.obj" \
- "$(INTDIR)\userinfo.obj"
-
-"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
- $(LIB32) @<<
- $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF "$(CFG)" == "apr - x64 Debug"
-
-OUTDIR=.\x64\LibD
-INTDIR=.\x64\LibD
-# Begin Custom Macros
-OutDir=.\x64\LibD
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
-
-
-CLEAN :
- -@erase "$(INTDIR)\apr-1.idb"
- -@erase "$(INTDIR)\apr-1.pdb"
- -@erase "$(INTDIR)\apr_atomic.obj"
- -@erase "$(INTDIR)\apr_cpystrn.obj"
- -@erase "$(INTDIR)\apr_fnmatch.obj"
- -@erase "$(INTDIR)\apr_getpass.obj"
- -@erase "$(INTDIR)\apr_hash.obj"
- -@erase "$(INTDIR)\apr_pools.obj"
- -@erase "$(INTDIR)\apr_random.obj"
- -@erase "$(INTDIR)\apr_snprintf.obj"
- -@erase "$(INTDIR)\apr_strings.obj"
- -@erase "$(INTDIR)\apr_strnatcmp.obj"
- -@erase "$(INTDIR)\apr_strtok.obj"
- -@erase "$(INTDIR)\apr_tables.obj"
- -@erase "$(INTDIR)\buffer.obj"
- -@erase "$(INTDIR)\charset.obj"
- -@erase "$(INTDIR)\common.obj"
- -@erase "$(INTDIR)\copy.obj"
- -@erase "$(INTDIR)\dir.obj"
- -@erase "$(INTDIR)\dso.obj"
- -@erase "$(INTDIR)\env.obj"
- -@erase "$(INTDIR)\errorcodes.obj"
- -@erase "$(INTDIR)\fileacc.obj"
- -@erase "$(INTDIR)\filedup.obj"
- -@erase "$(INTDIR)\filepath.obj"
- -@erase "$(INTDIR)\filepath_util.obj"
- -@erase "$(INTDIR)\filestat.obj"
- -@erase "$(INTDIR)\filesys.obj"
- -@erase "$(INTDIR)\flock.obj"
- -@erase "$(INTDIR)\fullrw.obj"
- -@erase "$(INTDIR)\getopt.obj"
- -@erase "$(INTDIR)\groupinfo.obj"
- -@erase "$(INTDIR)\inet_ntop.obj"
- -@erase "$(INTDIR)\inet_pton.obj"
- -@erase "$(INTDIR)\internal.obj"
- -@erase "$(INTDIR)\misc.obj"
- -@erase "$(INTDIR)\mktemp.obj"
- -@erase "$(INTDIR)\mmap.obj"
- -@erase "$(INTDIR)\multicast.obj"
- -@erase "$(INTDIR)\open.obj"
- -@erase "$(INTDIR)\otherchild.obj"
- -@erase "$(INTDIR)\pipe.obj"
- -@erase "$(INTDIR)\poll.obj"
- -@erase "$(INTDIR)\pollcb.obj"
- -@erase "$(INTDIR)\pollset.obj"
- -@erase "$(INTDIR)\proc.obj"
- -@erase "$(INTDIR)\proc_mutex.obj"
- -@erase "$(INTDIR)\rand.obj"
- -@erase "$(INTDIR)\readwrite.obj"
- -@erase "$(INTDIR)\seek.obj"
- -@erase "$(INTDIR)\select.obj"
- -@erase "$(INTDIR)\sendrecv.obj"
- -@erase "$(INTDIR)\sha2.obj"
- -@erase "$(INTDIR)\sha2_glue.obj"
- -@erase "$(INTDIR)\shm.obj"
- -@erase "$(INTDIR)\signals.obj"
- -@erase "$(INTDIR)\sockaddr.obj"
- -@erase "$(INTDIR)\socket_util.obj"
- -@erase "$(INTDIR)\sockets.obj"
- -@erase "$(INTDIR)\sockopt.obj"
- -@erase "$(INTDIR)\start.obj"
- -@erase "$(INTDIR)\tempdir.obj"
- -@erase "$(INTDIR)\thread.obj"
- -@erase "$(INTDIR)\thread_cond.obj"
- -@erase "$(INTDIR)\thread_mutex.obj"
- -@erase "$(INTDIR)\thread_rwlock.obj"
- -@erase "$(INTDIR)\threadpriv.obj"
- -@erase "$(INTDIR)\time.obj"
- -@erase "$(INTDIR)\timestr.obj"
- -@erase "$(INTDIR)\userinfo.obj"
- -@erase "$(INTDIR)\utf8.obj"
- -@erase "$(INTDIR)\version.obj"
- -@erase "$(OUTDIR)\apr-1.lib"
- -@erase ".\include\apr.h"
-
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-CPP=cl.exe
-CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /EHsc /c
-
-.c{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.obj::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.c{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cpp{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-.cxx{$(INTDIR)}.sbr::
- $(CPP) @<<
- $(CPP_PROJ) $<
-<<
-
-RSC=rc.exe
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
-BSC32_SBRS= \
-
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
-LIB32_OBJS= \
- "$(INTDIR)\apr_atomic.obj" \
- "$(INTDIR)\dso.obj" \
- "$(INTDIR)\buffer.obj" \
- "$(INTDIR)\copy.obj" \
- "$(INTDIR)\dir.obj" \
- "$(INTDIR)\fileacc.obj" \
- "$(INTDIR)\filedup.obj" \
- "$(INTDIR)\filepath.obj" \
- "$(INTDIR)\filepath_util.obj" \
- "$(INTDIR)\filestat.obj" \
- "$(INTDIR)\filesys.obj" \
- "$(INTDIR)\flock.obj" \
- "$(INTDIR)\fullrw.obj" \
- "$(INTDIR)\mktemp.obj" \
- "$(INTDIR)\open.obj" \
- "$(INTDIR)\pipe.obj" \
- "$(INTDIR)\readwrite.obj" \
- "$(INTDIR)\seek.obj" \
- "$(INTDIR)\tempdir.obj" \
- "$(INTDIR)\proc_mutex.obj" \
- "$(INTDIR)\thread_cond.obj" \
- "$(INTDIR)\thread_mutex.obj" \
- "$(INTDIR)\thread_rwlock.obj" \
- "$(INTDIR)\apr_pools.obj" \
- "$(INTDIR)\charset.obj" \
- "$(INTDIR)\env.obj" \
- "$(INTDIR)\errorcodes.obj" \
- "$(INTDIR)\getopt.obj" \
- "$(INTDIR)\internal.obj" \
- "$(INTDIR)\misc.obj" \
- "$(INTDIR)\otherchild.obj" \
- "$(INTDIR)\rand.obj" \
- "$(INTDIR)\start.obj" \
- "$(INTDIR)\utf8.obj" \
- "$(INTDIR)\version.obj" \
- "$(INTDIR)\common.obj" \
- "$(INTDIR)\mmap.obj" \
- "$(INTDIR)\inet_ntop.obj" \
- "$(INTDIR)\inet_pton.obj" \
- "$(INTDIR)\multicast.obj" \
- "$(INTDIR)\sendrecv.obj" \
- "$(INTDIR)\sockaddr.obj" \
- "$(INTDIR)\sockets.obj" \
- "$(INTDIR)\socket_util.obj" \
- "$(INTDIR)\sockopt.obj" \
- "$(INTDIR)\apr_getpass.obj" \
- "$(INTDIR)\poll.obj" \
- "$(INTDIR)\pollcb.obj" \
- "$(INTDIR)\pollset.obj" \
- "$(INTDIR)\select.obj" \
- "$(INTDIR)\apr_random.obj" \
- "$(INTDIR)\sha2.obj" \
- "$(INTDIR)\sha2_glue.obj" \
- "$(INTDIR)\shm.obj" \
- "$(INTDIR)\apr_cpystrn.obj" \
- "$(INTDIR)\apr_fnmatch.obj" \
- "$(INTDIR)\apr_snprintf.obj" \
- "$(INTDIR)\apr_strings.obj" \
- "$(INTDIR)\apr_strnatcmp.obj" \
- "$(INTDIR)\apr_strtok.obj" \
- "$(INTDIR)\apr_hash.obj" \
- "$(INTDIR)\apr_tables.obj" \
- "$(INTDIR)\proc.obj" \
- "$(INTDIR)\signals.obj" \
- "$(INTDIR)\thread.obj" \
- "$(INTDIR)\threadpriv.obj" \
- "$(INTDIR)\time.obj" \
- "$(INTDIR)\timestr.obj" \
- "$(INTDIR)\groupinfo.obj" \
- "$(INTDIR)\userinfo.obj"
-
-"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
- $(LIB32) @<<
- $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ENDIF
-
-
-!IF "$(NO_EXTERNAL_DEPS)" != "1"
-!IF EXISTS("apr.dep")
-!INCLUDE "apr.dep"
-!ELSE
-!MESSAGE Warning: cannot find "apr.dep"
-!ENDIF
-!ENDIF
-
-
-!IF "$(CFG)" == "apr - Win32 Release" || "$(CFG)" == "apr - Win32 Debug" || "$(CFG)" == "apr - Win32 Release9x" || "$(CFG)" == "apr - Win32 Debug9x" || "$(CFG)" == "apr - x64 Release" || "$(CFG)" == "apr - x64 Debug"
-SOURCE=.\atomic\win32\apr_atomic.c
-
-"$(INTDIR)\apr_atomic.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\dso\win32\dso.c
-
-"$(INTDIR)\dso.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\buffer.c
-
-"$(INTDIR)\buffer.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\unix\copy.c
-
-"$(INTDIR)\copy.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\dir.c
-
-"$(INTDIR)\dir.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\unix\fileacc.c
-
-"$(INTDIR)\fileacc.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\filedup.c
-
-"$(INTDIR)\filedup.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\filepath.c
-
-"$(INTDIR)\filepath.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\unix\filepath_util.c
-
-"$(INTDIR)\filepath_util.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\filestat.c
-
-"$(INTDIR)\filestat.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\filesys.c
-
-"$(INTDIR)\filesys.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\flock.c
-
-"$(INTDIR)\flock.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\unix\fullrw.c
-
-"$(INTDIR)\fullrw.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\unix\mktemp.c
-
-"$(INTDIR)\mktemp.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\open.c
-
-"$(INTDIR)\open.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\pipe.c
-
-"$(INTDIR)\pipe.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\readwrite.c
-
-"$(INTDIR)\readwrite.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\win32\seek.c
-
-"$(INTDIR)\seek.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\file_io\unix\tempdir.c
-
-"$(INTDIR)\tempdir.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\locks\win32\proc_mutex.c
-
-"$(INTDIR)\proc_mutex.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\locks\win32\thread_cond.c
-
-"$(INTDIR)\thread_cond.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\locks\win32\thread_mutex.c
-
-"$(INTDIR)\thread_mutex.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\locks\win32\thread_rwlock.c
-
-"$(INTDIR)\thread_rwlock.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\memory\unix\apr_pools.c
-
-"$(INTDIR)\apr_pools.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\win32\apr_app.c
-SOURCE=.\misc\win32\charset.c
-
-"$(INTDIR)\charset.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\win32\env.c
-
-"$(INTDIR)\env.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\unix\errorcodes.c
-
-"$(INTDIR)\errorcodes.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\unix\getopt.c
-
-"$(INTDIR)\getopt.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\win32\internal.c
-
-"$(INTDIR)\internal.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\win32\misc.c
-
-"$(INTDIR)\misc.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\unix\otherchild.c
-
-"$(INTDIR)\otherchild.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\win32\rand.c
-
-"$(INTDIR)\rand.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\win32\start.c
-
-"$(INTDIR)\start.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\win32\utf8.c
-
-"$(INTDIR)\utf8.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\misc\unix\version.c
-
-"$(INTDIR)\version.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\mmap\unix\common.c
-
-"$(INTDIR)\common.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\mmap\win32\mmap.c
-
-"$(INTDIR)\mmap.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\network_io\unix\inet_ntop.c
-
-"$(INTDIR)\inet_ntop.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\network_io\unix\inet_pton.c
-
-"$(INTDIR)\inet_pton.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\network_io\unix\multicast.c
-
-"$(INTDIR)\multicast.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\network_io\win32\sendrecv.c
-
-"$(INTDIR)\sendrecv.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\network_io\unix\sockaddr.c
-
-"$(INTDIR)\sockaddr.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\network_io\unix\socket_util.c
-
-"$(INTDIR)\socket_util.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\network_io\win32\sockets.c
-
-"$(INTDIR)\sockets.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\network_io\win32\sockopt.c
-
-"$(INTDIR)\sockopt.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\passwd\apr_getpass.c
-
-"$(INTDIR)\apr_getpass.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\poll\unix\poll.c
-
-"$(INTDIR)\poll.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\poll\unix\pollcb.c
-
-"$(INTDIR)\pollcb.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\poll\unix\pollset.c
-
-"$(INTDIR)\pollset.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\poll\unix\select.c
-
-"$(INTDIR)\select.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\random\unix\apr_random.c
-
-"$(INTDIR)\apr_random.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\random\unix\sha2.c
-
-"$(INTDIR)\sha2.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\random\unix\sha2_glue.c
-
-"$(INTDIR)\sha2_glue.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\shmem\win32\shm.c
-
-"$(INTDIR)\shm.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\strings\apr_cpystrn.c
-
-"$(INTDIR)\apr_cpystrn.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\strings\apr_fnmatch.c
-
-"$(INTDIR)\apr_fnmatch.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\strings\apr_snprintf.c
-
-"$(INTDIR)\apr_snprintf.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\strings\apr_strings.c
-
-"$(INTDIR)\apr_strings.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\strings\apr_strnatcmp.c
-
-"$(INTDIR)\apr_strnatcmp.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\strings\apr_strtok.c
-
-"$(INTDIR)\apr_strtok.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\tables\apr_hash.c
-
-"$(INTDIR)\apr_hash.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\tables\apr_tables.c
-
-"$(INTDIR)\apr_tables.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\threadproc\win32\proc.c
-
-"$(INTDIR)\proc.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\threadproc\win32\signals.c
-
-"$(INTDIR)\signals.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\threadproc\win32\thread.c
-
-"$(INTDIR)\thread.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\threadproc\win32\threadpriv.c
-
-"$(INTDIR)\threadpriv.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\time\win32\time.c
-
-"$(INTDIR)\time.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\time\win32\timestr.c
-
-"$(INTDIR)\timestr.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\user\win32\groupinfo.c
-
-"$(INTDIR)\groupinfo.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\user\win32\userinfo.c
-
-"$(INTDIR)\userinfo.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
- $(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=.\include\apr.hw
-
-!IF "$(CFG)" == "apr - Win32 Release"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- < .\include\apr.h
-<<
-
-
-!ELSEIF "$(CFG)" == "apr - Win32 Debug"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- < .\include\apr.h
-<<
-
-
-!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- < .\include\apr.h
-<<
-
-
-!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- < .\include\apr.h
-<<
-
-
-!ELSEIF "$(CFG)" == "apr - x64 Release"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- < .\include\apr.h
-<<
-
-
-!ELSEIF "$(CFG)" == "apr - x64 Debug"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
- < .\include\apr.h
-<<
-
-
-!ENDIF
-
-
-!ENDIF
-
+<<
+
+
+!ENDIF
+
+SOURCE=.\include\apr_escape.h
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr_escape_test_char.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr_escape_test_char.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr_escape_test_char.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr_escape_test_char.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr_escape_test_char.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr_escape_test_char.h
+<<
+
+
+!ENDIF
+
+SOURCE=.\include\apr_want.h
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 Release9x"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug9x"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ < .\include\apr.h
+<<
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/apr.spec b/apr.spec
index 40204ffa049a..b3db1675d561 100644
--- a/apr.spec
+++ b/apr.spec
@@ -3,7 +3,7 @@
Summary: Apache Portable Runtime library
Name: apr
-Version: 1.4.8
+Version: 1.5.1
Release: 1
License: Apache Software License
Group: System Environment/Libraries
diff --git a/build-outputs.mk b/build-outputs.mk
index 9f4876e3eec6..526f179a4762 100644
--- a/build-outputs.mk
+++ b/build-outputs.mk
@@ -1,5 +1,6 @@
# DO NOT EDIT. AUTOMATICALLY GENERATED.
+encoding/apr_escape.lo: encoding/apr_escape.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_escape.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
passwd/apr_getpass.lo: passwd/apr_getpass.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
strings/apr_cpystrn.lo: strings/apr_cpystrn.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
strings/apr_fnmatch.lo: strings/apr_fnmatch.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_fnmatch.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
@@ -8,9 +9,10 @@ strings/apr_strings.lo: strings/apr_strings.c .make.dirs include/apr_allocator.h
strings/apr_strnatcmp.lo: strings/apr_strnatcmp.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
strings/apr_strtok.lo: strings/apr_strtok.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h
tables/apr_hash.lo: tables/apr_hash.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_hash.h include/apr_pools.h include/apr_thread_mutex.h include/apr_time.h include/apr_want.h
+tables/apr_skiplist.lo: tables/apr_skiplist.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_skiplist.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
tables/apr_tables.lo: tables/apr_tables.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_want.h
-OBJECTS_all = passwd/apr_getpass.lo strings/apr_cpystrn.lo strings/apr_fnmatch.lo strings/apr_snprintf.lo strings/apr_strings.lo strings/apr_strnatcmp.lo strings/apr_strtok.lo tables/apr_hash.lo tables/apr_tables.lo
+OBJECTS_all = encoding/apr_escape.lo passwd/apr_getpass.lo strings/apr_cpystrn.lo strings/apr_fnmatch.lo strings/apr_snprintf.lo strings/apr_strings.lo strings/apr_strnatcmp.lo strings/apr_strtok.lo tables/apr_hash.lo tables/apr_skiplist.lo tables/apr_tables.lo
dso/unix/dso.lo: dso/unix/dso.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
@@ -81,8 +83,9 @@ poll/unix/pollcb.lo: poll/unix/pollcb.c .make.dirs include/apr_allocator.h inclu
poll/unix/pollset.lo: poll/unix/pollset.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
poll/unix/port.lo: poll/unix/port.c .make.dirs include/apr_allocator.h include/apr_atomic.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
poll/unix/select.lo: poll/unix/select.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
+poll/unix/z_asio.lo: poll/unix/z_asio.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_hash.h include/apr_inherit.h include/apr_network_io.h include/apr_poll.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
-OBJECTS_poll_unix = poll/unix/epoll.lo poll/unix/kqueue.lo poll/unix/poll.lo poll/unix/pollcb.lo poll/unix/pollset.lo poll/unix/port.lo poll/unix/select.lo
+OBJECTS_poll_unix = poll/unix/epoll.lo poll/unix/kqueue.lo poll/unix/poll.lo poll/unix/pollcb.lo poll/unix/pollset.lo poll/unix/port.lo poll/unix/select.lo poll/unix/z_asio.lo
random/unix/apr_random.lo: random/unix/apr_random.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_random.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h
random/unix/sha2.lo: random/unix/sha2.c .make.dirs
@@ -90,7 +93,7 @@ random/unix/sha2_glue.lo: random/unix/sha2_glue.c .make.dirs include/apr_allocat
OBJECTS_random_unix = random/unix/apr_random.lo random/unix/sha2.lo random/unix/sha2_glue.lo
-shmem/unix/shm.lo: shmem/unix/shm.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_user.h include/apr_want.h
+shmem/unix/shm.lo: shmem/unix/shm.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_hash.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_user.h include/apr_want.h
OBJECTS_shmem_unix = shmem/unix/shm.lo
@@ -308,11 +311,11 @@ OBJECTS_atomic_win32 = atomic/win32/apr_atomic.lo
OBJECTS_win32 = $(OBJECTS_all) $(OBJECTS_atomic_win32) $(OBJECTS_dso_win32) $(OBJECTS_file_io_win32) $(OBJECTS_locks_win32) $(OBJECTS_memory_unix) $(OBJECTS_misc_win32) $(OBJECTS_mmap_win32) $(OBJECTS_network_io_win32) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_win32) $(OBJECTS_support_unix) $(OBJECTS_threadproc_win32) $(OBJECTS_time_win32) $(OBJECTS_user_win32)
-HEADERS = $(top_srcdir)/include/apr_allocator.h $(top_srcdir)/include/apr_atomic.h $(top_srcdir)/include/apr_dso.h $(top_srcdir)/include/apr_env.h $(top_srcdir)/include/apr_errno.h $(top_srcdir)/include/apr_file_info.h $(top_srcdir)/include/apr_file_io.h $(top_srcdir)/include/apr_fnmatch.h $(top_srcdir)/include/apr_general.h $(top_srcdir)/include/apr_getopt.h $(top_srcdir)/include/apr_global_mutex.h $(top_srcdir)/include/apr_hash.h $(top_srcdir)/include/apr_inherit.h $(top_srcdir)/include/apr_lib.h $(top_srcdir)/include/apr_mmap.h $(top_srcdir)/include/apr_network_io.h $(top_srcdir)/include/apr_poll.h $(top_srcdir)/include/apr_pools.h $(top_srcdir)/include/apr_portable.h $(top_srcdir)/include/apr_proc_mutex.h $(top_srcdir)/include/apr_random.h $(top_srcdir)/include/apr_ring.h $(top_srcdir)/include/apr_shm.h $(top_srcdir)/include/apr_signal.h $(top_srcdir)/include/apr_strings.h $(top_srcdir)/include/apr_support.h $(top_srcdir)/include/apr_tables.h $(top_srcdir)/include/apr_thread_cond.h $(top_srcdir)/include/apr_thread_mutex.h $(top_srcdir)/include/apr_thread_proc.h $(top_srcdir)/include/apr_thread_rwlock.h $(top_srcdir)/include/apr_time.h $(top_srcdir)/include/apr_user.h $(top_srcdir)/include/apr_version.h $(top_srcdir)/include/apr_want.h
+HEADERS = $(top_srcdir)/include/apr_allocator.h $(top_srcdir)/include/apr_atomic.h $(top_srcdir)/include/apr_dso.h $(top_srcdir)/include/apr_env.h $(top_srcdir)/include/apr_errno.h $(top_srcdir)/include/apr_escape.h $(top_srcdir)/include/apr_file_info.h $(top_srcdir)/include/apr_file_io.h $(top_srcdir)/include/apr_fnmatch.h $(top_srcdir)/include/apr_general.h $(top_srcdir)/include/apr_getopt.h $(top_srcdir)/include/apr_global_mutex.h $(top_srcdir)/include/apr_hash.h $(top_srcdir)/include/apr_inherit.h $(top_srcdir)/include/apr_lib.h $(top_srcdir)/include/apr_mmap.h $(top_srcdir)/include/apr_network_io.h $(top_srcdir)/include/apr_poll.h $(top_srcdir)/include/apr_pools.h $(top_srcdir)/include/apr_portable.h $(top_srcdir)/include/apr_proc_mutex.h $(top_srcdir)/include/apr_random.h $(top_srcdir)/include/apr_ring.h $(top_srcdir)/include/apr_shm.h $(top_srcdir)/include/apr_signal.h $(top_srcdir)/include/apr_skiplist.h $(top_srcdir)/include/apr_strings.h $(top_srcdir)/include/apr_support.h $(top_srcdir)/include/apr_tables.h $(top_srcdir)/include/apr_thread_cond.h $(top_srcdir)/include/apr_thread_mutex.h $(top_srcdir)/include/apr_thread_proc.h $(top_srcdir)/include/apr_thread_rwlock.h $(top_srcdir)/include/apr_time.h $(top_srcdir)/include/apr_user.h $(top_srcdir)/include/apr_version.h $(top_srcdir)/include/apr_want.h
-SOURCE_DIRS = random/unix misc/win32 mmap/win32 dso/os2 time/unix network_io/win32 dso/win32 locks/unix user/unix time/win32 locks/beos tables support/unix file_io/unix mmap/unix atomic/unix threadproc/win32 poll/os2 atomic/win32 dso/os390 atomic/os390 dso/beos poll/unix passwd network_io/beos threadproc/os2 network_io/os2 shmem/win32 threadproc/beos shmem/unix network_io/unix file_io/os2 dso/aix file_io/win32 threadproc/unix misc/unix locks/win32 shmem/beos dso/unix locks/os2 user/win32 shmem/os2 memory/unix strings $(EXTRA_SOURCE_DIRS)
+SOURCE_DIRS = random/unix misc/win32 encoding dso/os2 time/unix network_io/win32 dso/win32 locks/unix user/unix time/win32 locks/beos tables support/unix file_io/unix mmap/unix atomic/unix threadproc/win32 poll/os2 atomic/win32 dso/os390 atomic/os390 dso/beos poll/unix passwd network_io/beos threadproc/os2 network_io/os2 shmem/win32 threadproc/beos shmem/unix network_io/unix file_io/os2 mmap/win32 dso/aix file_io/win32 threadproc/unix misc/unix locks/win32 shmem/beos dso/unix locks/os2 user/win32 shmem/os2 memory/unix strings $(EXTRA_SOURCE_DIRS)
-BUILD_DIRS = atomic atomic/os390 atomic/unix atomic/win32 dso dso/aix dso/beos dso/os2 dso/os390 dso/unix dso/win32 file_io file_io/os2 file_io/unix file_io/win32 locks locks/beos locks/os2 locks/unix locks/win32 memory memory/unix misc misc/unix misc/win32 mmap mmap/unix mmap/win32 network_io network_io/beos network_io/os2 network_io/unix network_io/win32 passwd poll poll/os2 poll/unix random random/unix shmem shmem/beos shmem/os2 shmem/unix shmem/win32 strings support support/unix tables threadproc threadproc/beos threadproc/os2 threadproc/unix threadproc/win32 time time/unix time/win32 user user/unix user/win32
+BUILD_DIRS = atomic atomic/os390 atomic/unix atomic/win32 dso dso/aix dso/beos dso/os2 dso/os390 dso/unix dso/win32 encoding file_io file_io/os2 file_io/unix file_io/win32 locks locks/beos locks/os2 locks/unix locks/win32 memory memory/unix misc misc/unix misc/win32 mmap mmap/unix mmap/win32 network_io network_io/beos network_io/os2 network_io/unix network_io/win32 passwd poll poll/os2 poll/unix random random/unix shmem shmem/beos shmem/os2 shmem/unix shmem/win32 strings support support/unix tables threadproc threadproc/beos threadproc/os2 threadproc/unix threadproc/win32 time time/unix time/win32 user user/unix user/win32
.make.dirs: $(srcdir)/build-outputs.mk
@for d in $(BUILD_DIRS); do test -d $$d || mkdir $$d; done
diff --git a/build.conf b/build.conf
index c302b98be036..eecadbae8f7b 100644
--- a/build.conf
+++ b/build.conf
@@ -6,6 +6,7 @@
# paths to platform-independent .c files to build
paths =
+ encoding/*.c
passwd/*.c
strings/*.c
tables/*.c
diff --git a/configure b/configure
index 00122df8871f..860c65b8f560 100755
--- a/configure
+++ b/configure
@@ -639,6 +639,7 @@ DEFAULT_OSDIR
OSDIR
INCLUDES
LDLIBS
+INTERNAL_CPPFLAGS
NOTEST_INCLUDES
NOTEST_LIBS
NOTEST_LDFLAGS
@@ -919,6 +920,7 @@ enable_lfs
enable_nonportable_atomics
enable_threads
with_efence
+enable_posix_shm
with_sendfile
enable_allocator_uses_mmap
enable_dso
@@ -1563,7 +1565,8 @@ Optional Features:
--disable-lfs Disable large file support on 32-bit platforms
--enable-nonportable-atomics Use optimized atomic code which may produce nonportable binaries
--enable-threads Enable threading support in APR.
- --enable-allocator-uses-mmap Use mmap in apr_allocator instead of malloc (experimental)
+ --enable-posix-shm Use POSIX shared memory (shm_open) if available
+ --enable-allocator-uses-mmap Use mmap in apr_allocator instead of malloc
--disable-dso Disable DSO support
--enable-other-child Enable reliable child processes
--disable-ipv6 Disable IPv6 support in APR.
@@ -5933,10 +5936,10 @@ if test "x$apr_preload_done" != "xyes" ; then
*mint)
if test "x$CPPFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DMINT\""
- CPPFLAGS="-DMINT"
+ test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DMINT -D_GNU_SOURCE\""
+ CPPFLAGS="-DMINT -D_GNU_SOURCE"
else
- apr_addto_bugger="-DMINT"
+ apr_addto_bugger="-DMINT -D_GNU_SOURCE"
for i in $apr_addto_bugger; do
apr_addto_duplicate="0"
for j in $CPPFLAGS; do
@@ -5952,27 +5955,6 @@ if test "x$apr_preload_done" != "xyes" ; then
done
fi
-
- if test "x$LIBS" = "x"; then
- test "x$silent" != "xyes" && echo " setting LIBS to \"-lportlib\""
- LIBS="-lportlib"
- else
- apr_addto_bugger="-lportlib"
- for i in $apr_addto_bugger; do
- apr_addto_duplicate="0"
- for j in $LIBS; do
- if test "x$i" = "x$j"; then
- apr_addto_duplicate="1"
- break
- fi
- done
- if test $apr_addto_duplicate = "0"; then
- test "x$silent" != "xyes" && echo " adding \"$i\" to LIBS"
- LIBS="$LIBS $i"
- fi
- done
- fi
-
;;
*MPE/iX*)
@@ -9059,30 +9041,28 @@ $as_echo "#define HAVE_ZOS_PTHREADS 1" >>confdefs.h
fi
;;
- *cygwin*)
+ *mingw*)
- if test "x$CPPFLAGS" = "x"; then
- test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DCYGWIN\""
- CPPFLAGS="-DCYGWIN"
+ if test "x$INTERNAL_CPPFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting INTERNAL_CPPFLAGS to \"-DBINPATH=$apr_builddir/test/.libs\""
+ INTERNAL_CPPFLAGS="-DBINPATH=$apr_builddir/test/.libs"
else
- apr_addto_bugger="-DCYGWIN"
+ apr_addto_bugger="-DBINPATH=$apr_builddir/test/.libs"
for i in $apr_addto_bugger; do
apr_addto_duplicate="0"
- for j in $CPPFLAGS; do
+ for j in $INTERNAL_CPPFLAGS; do
if test "x$i" = "x$j"; then
apr_addto_duplicate="1"
break
fi
done
if test $apr_addto_duplicate = "0"; then
- test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $i"
+ test "x$silent" != "xyes" && echo " adding \"$i\" to INTERNAL_CPPFLAGS"
+ INTERNAL_CPPFLAGS="$INTERNAL_CPPFLAGS $i"
fi
done
fi
- ;;
- *mingw*)
if test "x$CPPFLAGS" = "x"; then
test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DWIN32 -D__MSVCRT__\""
@@ -17794,7 +17774,7 @@ fi
if test "x$use_libtool" = "xyes"; then
lt_compile='$(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) -o $@ -c $< && touch $@'
LT_VERSION="-version-info `$get_version libtool $version_hdr APR`"
- link="\$(LIBTOOL) \$(LTFLAGS) --mode=link \$(LT_LDFLAGS) \$(COMPILE) \$(LT_VERSION) \$(ALL_LDFLAGS) -o \$@"
+ link="\$(LIBTOOL) \$(LTFLAGS) --mode=link \$(COMPILE) \$(LT_LDFLAGS) \$(LT_VERSION) \$(ALL_LDFLAGS) -o \$@"
so_ext='lo'
lib_target='-rpath $(libdir) $(OBJECTS)'
export_lib_target='-rpath \$(libdir) \$(OBJECTS)'
@@ -17810,6 +17790,9 @@ case $host in
*-solaris2*)
apr_platform_runtime_link_flag="-R"
;;
+ *-mingw* | *-cygwin*)
+ LT_LDFLAGS="$LT_LDFLAGS -no-undefined"
+ ;;
*)
;;
esac
@@ -18314,6 +18297,53 @@ case "$host:$CC" in
AR="ar"
;;
+ *-mingw* | *-cygwin*)
+ if test "$enable_shared" = "yes"; then
+
+ if test "x$INTERNAL_CPPFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting INTERNAL_CPPFLAGS to \"-DAPR_DECLARE_EXPORT\""
+ INTERNAL_CPPFLAGS="-DAPR_DECLARE_EXPORT"
+ else
+ apr_addto_bugger="-DAPR_DECLARE_EXPORT"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $INTERNAL_CPPFLAGS; do
+ if test "x$i" = "x$j"; then
+ apr_addto_duplicate="1"
+ break
+ fi
+ done
+ if test $apr_addto_duplicate = "0"; then
+ test "x$silent" != "xyes" && echo " adding \"$i\" to INTERNAL_CPPFLAGS"
+ INTERNAL_CPPFLAGS="$INTERNAL_CPPFLAGS $i"
+ fi
+ done
+ fi
+
+ else
+
+ if test "x$CPPFLAGS" = "x"; then
+ test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DAPR_DECLARE_STATIC\""
+ CPPFLAGS="-DAPR_DECLARE_STATIC"
+ else
+ apr_addto_bugger="-DAPR_DECLARE_STATIC"
+ for i in $apr_addto_bugger; do
+ apr_addto_duplicate="0"
+ for j in $CPPFLAGS; do
+ if test "x$i" = "x$j"; then
+ apr_addto_duplicate="1"
+ break
+ fi
+ done
+ if test $apr_addto_duplicate = "0"; then
+ test "x$silent" != "xyes" && echo " adding \"$i\" to CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $i"
+ fi
+ done
+ fi
+
+ fi
+ ;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler provides atomic builtins" >&5
@@ -18791,7 +18821,17 @@ case $host in
fi
;;
*linux*)
- os_version=`uname -r | sed -e 's/\(.\)\.\(.\)\.\(.\).*/\1\2\3/'`
+ os_major=`uname -r | sed -e 's/\([1-9][0-9]*\)\..*/\1/'`
+ os_minor=`uname -r | sed -e 's/[1-9][0-9]*\.\([0-9]\+\)\..*/\1/'`
+ if test $os_major -lt 2 -o \( $os_major -eq 2 -a $os_minor -lt 4 \); then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Configured for pre-2.4 Linux $os_major.$os_minor" >&5
+$as_echo "$as_me: WARNING: Configured for pre-2.4 Linux $os_major.$os_minor" >&2;}
+ os_pre24linux=1
+ else
+ os_pre24linux=0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Configured for Linux $os_major.$os_minor" >&5
+$as_echo "$as_me: Configured for Linux $os_major.$os_minor" >&6;}
+ fi
;;
*os390)
os_version=`uname -r | sed -e 's/\.//g'`
@@ -20391,7 +20431,10 @@ $as_echo "#define HAVE_DUP3 1" >>confdefs.h
fi
-# test for accept4
+# Test for accept4(). Create a non-blocking socket, bind it to
+# an unspecified port & address (kernel picks), and attempt to
+# call accept4() on it. If the syscall is wired up (i.e. the
+# kernel is new enough), it should return EAGAIN.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for accept4 support" >&5
$as_echo_n "checking for accept4 support... " >&6; }
if ${apr_cv_accept4+:} false; then :
@@ -20403,75 +20446,41 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-#include
#include
#include
-#include
#include
-#include
+#include
+#include
#include
+#include
+#include
+#include
-#define A4_SOCK "./apr_accept4_test_socket"
-
-int main()
+int main(int argc, char **argv)
{
- pid_t pid;
- int fd;
- struct sockaddr_un loc, rem;
- socklen_t rem_sz;
+ int fd, flags;
+ struct sockaddr_in sin;
- if ((pid = fork())) {
- int status;
-
- unlink(A4_SOCK);
-
- if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
- goto cleanup_failure2;
-
- loc.sun_family = AF_UNIX;
- strncpy(loc.sun_path, A4_SOCK, sizeof(loc.sun_path) - 1);
-
- if (bind(fd, (struct sockaddr *) &loc,
- sizeof(struct sockaddr_un)) == -1)
- goto cleanup_failure;
-
- if (listen(fd, 5) == -1)
- goto cleanup_failure;
-
- rem_sz = sizeof(struct sockaddr_un);
- if (accept4(fd, (struct sockaddr *) &rem, &rem_sz, 0) == -1) {
- goto cleanup_failure;
- }
- else {
- close(fd);
- waitpid(pid, &status, 0);
- unlink(A4_SOCK);
- return 0;
- }
-
-cleanup_failure:
- close(fd);
-cleanup_failure2:
- kill(pid, SIGKILL);
- waitpid(pid, &status, 0);
- unlink(A4_SOCK);
+ if ((fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
return 1;
- }
- else {
- if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
- return 1; /* this will be bad: we'll hang */
+ flags = fcntl(fd, F_GETFL);
+ if (flags == -1 || fcntl(fd, F_SETFL, flags|O_NONBLOCK) == -1)
+ return 5;
- loc.sun_family = AF_UNIX;
- strncpy(loc.sun_path, A4_SOCK, sizeof(loc.sun_path) - 1);
+ memset(&sin, 0, sizeof sin);
+ sin.sin_family = AF_INET;
- while(connect(fd, (struct sockaddr *) &loc,
- sizeof(struct sockaddr_un)) == -1 &&
- (errno==ENOENT || errno==ECONNREFUSED))
- ;
+ if (bind(fd, (struct sockaddr *) &sin, sizeof sin) == -1)
+ return 2;
- close(fd);
+ if (listen(fd, 5) == -1)
+ return 3;
+
+ if (accept4(fd, NULL, 0, SOCK_NONBLOCK) == 0
+ || errno == EAGAIN || errno == EWOULDBLOCK)
return 0;
- }
+
+ return 4;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
@@ -20582,6 +20591,49 @@ $as_echo "#define HAVE_EPOLL_CREATE1 1" >>confdefs.h
fi
+# Check for z/OS async i/o support.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for asio -> message queue support" >&5
+$as_echo_n "checking for asio -> message queue support... " >&6; }
+if ${apr_cv_aio_msgq+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "$cross_compiling" = yes; then :
+ apr_cv_aio_msgq=no
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#define _AIO_OS390
+#include
+
+int main()
+{
+ struct aiocb a;
+
+ a.aio_notifytype = AIO_MSGQ; /* use IPC message queue for notification */
+
+ return aio_cancel(2, NULL) == -1;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ apr_cv_aio_msgq=yes
+else
+ apr_cv_aio_msgq=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $apr_cv_aio_msgq" >&5
+$as_echo "$apr_cv_aio_msgq" >&6; }
+
+if test "$apr_cv_aio_msgq" = "yes"; then
+
+$as_echo "#define HAVE_AIO_MSGQ 1" >>confdefs.h
+
+fi
+
# test for dup3
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dup3 support" >&5
$as_echo_n "checking for dup3 support... " >&6; }
@@ -21214,7 +21266,9 @@ case $host in
# that it has it.
# FIXME - find exact 2.3 version that MMANON was fixed in. It is
# confirmed fixed in 2.4 series.
- if test $os_version -le "240"; then
+ if test $os_pre24linux -eq 1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling anon mmap() support for Linux pre-2.4" >&5
+$as_echo "$as_me: WARNING: Disabling anon mmap() support for Linux pre-2.4" >&2;}
ac_decision=''
for ac_item in USE_SHMEM_MMAP_ZERO USE_SHMEM_SHMGET_ANON; do
eval "ac_decision_this=\$ac_decision_${ac_item}"
@@ -21520,13 +21574,28 @@ else
fi
+# Check whether --enable-posix-shm was given.
+if test "${enable_posix_shm+set}" = set; then :
+ enableval=$enable_posix_shm;
+if test "$havemmapshm" = "1"; then
+ ac_decision=''
+ for ac_item in USE_SHMEM_MMAP_SHM; do
+ eval "ac_decision_this=\$ac_decision_${ac_item}"
+ if test ".$ac_decision_this" = .yes; then
+ ac_decision=$ac_item
+ eval "ac_decision_msg=\$ac_decision_${ac_item}_msg"
+ fi
+ done
+
+fi
+
+fi
+
case $host in
*linux* )
- # Linux has problems with MM_SHMT_MMANON even though it reports
- # that it has it.
- # FIXME - find exact 2.3 version that MMANON was fixed in. It is
- # confirmed fixed in 2.4 series.
- if test $os_version -le "240"; then
+ # Linux pre-2.4 had problems with MM_SHMT_MMANON even though
+ # it reports that it has it.
+ if test $os_pre24linux -eq 1; then
ac_decision=''
for ac_item in USE_SHMEM_MMAP_TMP USE_SHMEM_MMAP_SHM USE_SHMEM_SHMGET; do
eval "ac_decision_this=\$ac_decision_${ac_item}"
@@ -21932,7 +22001,9 @@ else
;;
s390-*-linux-gnu)
# disable sendfile support for 2.2 on S/390
- if test $os_version -lt 240; then
+ if test $os_pre24linux -eq 1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabled sendfile support for Linux 2.2 on S/390" >&5
+$as_echo "$as_me: WARNING: Disabled sendfile support for Linux 2.2 on S/390" >&2;}
sendfile="0"
fi
;;
@@ -23435,9 +23506,14 @@ else
/* end confdefs.h. */
#include
#include
+#ifdef WIN32
+#define binmode "b"
+#else
+#define binmode
+#endif
main()
{
- FILE *f=fopen("conftestval", "w");
+ FILE *f=fopen("conftestval", "w" binmode);
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(pid_t));
exit(0);
@@ -23665,9 +23741,14 @@ else
/* end confdefs.h. */
#include
#include
+#ifdef WIN32
+#define binmode "b"
+#else
+#define binmode
+#endif
main()
{
- FILE *f=fopen("conftestval", "w");
+ FILE *f=fopen("conftestval", "w" binmode);
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(ssize_t));
exit(0);
@@ -23723,9 +23804,14 @@ else
/* end confdefs.h. */
#include
#include
+#ifdef WIN32
+#define binmode "b"
+#else
+#define binmode
+#endif
main()
{
- FILE *f=fopen("conftestval", "w");
+ FILE *f=fopen("conftestval", "w" binmode);
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(size_t));
exit(0);
@@ -23781,9 +23867,14 @@ else
/* end confdefs.h. */
#include
#include
+#ifdef WIN32
+#define binmode "b"
+#else
+#define binmode
+#endif
main()
{
- FILE *f=fopen("conftestval", "w");
+ FILE *f=fopen("conftestval", "w" binmode);
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(off_t));
exit(0);
@@ -23910,9 +24001,14 @@ else
/* end confdefs.h. */
#include
$ac_includes_default
+#ifdef WIN32
+#define binmode "b"
+#else
+#define binmode
+#endif
main()
{
- FILE *f=fopen("conftestval", "w");
+ FILE *f=fopen("conftestval", "w" binmode);
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(ino_t));
exit(0);
@@ -24192,9 +24288,14 @@ else
#include
#include
#include
+#ifdef WIN32
+#define binmode "b"
+#else
+#define binmode
+#endif
main()
{
- FILE *f=fopen("conftestval", "w");
+ FILE *f=fopen("conftestval", "w" binmode);
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(struct iovec));
exit(0);
@@ -27128,6 +27229,9 @@ else
#ifdef HAVE_SYS_SOCKET_H
#include
#endif
+#ifdef HAVE_SYS_TIME_H
+#include
+#endif
#ifdef HAVE_SYS_SELECT_H
#include
#endif
@@ -27148,6 +27252,8 @@ int main(void) {
int listen_port, rc;
struct sockaddr_in sa;
socklen_t sa_len;
+ fd_set fds;
+ struct timeval tv;
listen_s = socket(AF_INET, SOCK_STREAM, 0);
if (listen_s < 0) {
@@ -27826,7 +27932,7 @@ else
#include
#endif
-void main(void) {
+int main(void) {
struct addrinfo hints, *ai;
int error;
@@ -27889,7 +27995,7 @@ else
#include
#endif
-void main(void) {
+int main(void) {
if (EAI_ADDRFAMILY < 0) {
exit(0);
}
@@ -27950,7 +28056,7 @@ else
#include
#endif
-void main(void) {
+int main(void) {
struct sockaddr_in sa;
char hbuf[256];
int error;
@@ -28415,13 +28521,21 @@ fi
-# Use -no-install to link the test programs on all platforms
-# but Darwin, where it would cause the programs to be linked
-# against installed versions of libapr instead of those just
-# built.
+
+# Use -no-install or -no-fast-install to link the test
+# programs on all platforms but Darwin, where it would cause
+# the programs to be linked against installed versions of
+# libapr instead of those just built.
case $host in
-*-apple-darwin*) LT_NO_INSTALL="" ;;
-*) LT_NO_INSTALL="-no-install" ;;
+ *-apple-darwin*)
+ LT_NO_INSTALL=""
+ ;;
+ *-mingw*)
+ LT_NO_INSTALL="-no-fast-install"
+ ;;
+ *)
+ LT_NO_INSTALL="-no-install"
+ ;;
esac
diff --git a/configure.in b/configure.in
index 655de8dfe861..2a37a30bd5f2 100644
--- a/configure.in
+++ b/configure.in
@@ -35,7 +35,7 @@ AH_TOP([
dnl Hard-coded inclusion at the tail end of apr_private.h:
AH_BOTTOM([
/* switch this on if we have a BeOS version below BONE */
-#if BEOS && !HAVE_BONE_VERSION
+#if defined(BEOS) && !defined(HAVE_BONE_VERSION)
#define BEOS_R5 1
#else
#define BEOS_BONE 1
@@ -282,7 +282,7 @@ AC_ARG_WITH(libtool, [ --without-libtool avoid using libtool to link the
if test "x$use_libtool" = "xyes"; then
lt_compile='$(LIBTOOL) $(LTFLAGS) --mode=compile $(COMPILE) -o $@ -c $< && touch $@'
LT_VERSION="-version-info `$get_version libtool $version_hdr APR`"
- link="\$(LIBTOOL) \$(LTFLAGS) --mode=link \$(LT_LDFLAGS) \$(COMPILE) \$(LT_VERSION) \$(ALL_LDFLAGS) -o \$@"
+ link="\$(LIBTOOL) \$(LTFLAGS) --mode=link \$(COMPILE) \$(LT_LDFLAGS) \$(LT_VERSION) \$(ALL_LDFLAGS) -o \$@"
so_ext='lo'
lib_target='-rpath $(libdir) $(OBJECTS)'
export_lib_target='-rpath \$(libdir) \$(OBJECTS)'
@@ -298,6 +298,9 @@ case $host in
*-solaris2*)
apr_platform_runtime_link_flag="-R"
;;
+ *-mingw* | *-cygwin*)
+ LT_LDFLAGS="$LT_LDFLAGS -no-undefined"
+ ;;
*)
;;
esac
@@ -432,6 +435,18 @@ case "$host:$CC" in
APR_SETVAR(CC,mwcc)
APR_SETVAR(AR,ar)
;;
+ dnl If building static APR, both the APR build and the app build
+ dnl need -DAPR_DECLARE_STATIC to generate the right linkage from
+ dnl APR_DECLARE et al.
+ dnl If building dynamic APR, the APR build needs APR_DECLARE_EXPORT
+ dnl and the app build should have neither define.
+ *-mingw* | *-cygwin*)
+ if test "$enable_shared" = "yes"; then
+ APR_ADDTO(INTERNAL_CPPFLAGS, -DAPR_DECLARE_EXPORT)
+ else
+ APR_ADDTO(CPPFLAGS, -DAPR_DECLARE_STATIC)
+ fi
+ ;;
esac
AC_CACHE_CHECK([whether the compiler provides atomic builtins], [ap_cv_atomic_builtins],
@@ -649,7 +664,15 @@ case $host in
fi
;;
*linux*)
- os_version=`uname -r | sed -e 's/\(.\)\.\(.\)\.\(.\).*/\1\2\3/'`
+ os_major=[`uname -r | sed -e 's/\([1-9][0-9]*\)\..*/\1/'`]
+ os_minor=[`uname -r | sed -e 's/[1-9][0-9]*\.\([0-9]\+\)\..*/\1/'`]
+ if test $os_major -lt 2 -o \( $os_major -eq 2 -a $os_minor -lt 4 \); then
+ AC_MSG_WARN([Configured for pre-2.4 Linux $os_major.$os_minor])
+ os_pre24linux=1
+ else
+ os_pre24linux=0
+ AC_MSG_NOTICE([Configured for Linux $os_major.$os_minor])
+ fi
;;
*os390)
os_version=`uname -r | sed -e 's/\.//g'`
@@ -872,78 +895,47 @@ if test "$apr_cv_dup3" = "yes"; then
AC_DEFINE([HAVE_DUP3], 1, [Define if dup3 function is supported])
fi
-# test for accept4
+# Test for accept4(). Create a non-blocking socket, bind it to
+# an unspecified port & address (kernel picks), and attempt to
+# call accept4() on it. If the syscall is wired up (i.e. the
+# kernel is new enough), it should return EAGAIN.
AC_CACHE_CHECK([for accept4 support], [apr_cv_accept4],
[AC_TRY_RUN([
-#include
#include
#include
-#include
#include
-#include
+#include
+#include
#include
+#include
+#include
+#include
-#define A4_SOCK "./apr_accept4_test_socket"
-
-int main()
+int main(int argc, char **argv)
{
- pid_t pid;
- int fd;
- struct sockaddr_un loc, rem;
- socklen_t rem_sz;
+ int fd, flags;
+ struct sockaddr_in sin;
- if ((pid = fork())) {
- int status;
-
- unlink(A4_SOCK);
-
- if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
- goto cleanup_failure2;
-
- loc.sun_family = AF_UNIX;
- strncpy(loc.sun_path, A4_SOCK, sizeof(loc.sun_path) - 1);
-
- if (bind(fd, (struct sockaddr *) &loc,
- sizeof(struct sockaddr_un)) == -1)
- goto cleanup_failure;
-
- if (listen(fd, 5) == -1)
- goto cleanup_failure;
-
- rem_sz = sizeof(struct sockaddr_un);
- if (accept4(fd, (struct sockaddr *) &rem, &rem_sz, 0) == -1) {
- goto cleanup_failure;
- }
- else {
- close(fd);
- waitpid(pid, &status, 0);
- unlink(A4_SOCK);
- return 0;
- }
-
-cleanup_failure:
- close(fd);
-cleanup_failure2:
- kill(pid, SIGKILL);
- waitpid(pid, &status, 0);
- unlink(A4_SOCK);
+ if ((fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
return 1;
- }
- else {
- if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
- return 1; /* this will be bad: we'll hang */
+ flags = fcntl(fd, F_GETFL);
+ if (flags == -1 || fcntl(fd, F_SETFL, flags|O_NONBLOCK) == -1)
+ return 5;
- loc.sun_family = AF_UNIX;
- strncpy(loc.sun_path, A4_SOCK, sizeof(loc.sun_path) - 1);
+ memset(&sin, 0, sizeof sin);
+ sin.sin_family = AF_INET;
+
+ if (bind(fd, (struct sockaddr *) &sin, sizeof sin) == -1)
+ return 2;
+
+ if (listen(fd, 5) == -1)
+ return 3;
- while(connect(fd, (struct sockaddr *) &loc,
- sizeof(struct sockaddr_un)) == -1 &&
- (errno==ENOENT || errno==ECONNREFUSED))
- ;
-
- close(fd);
+ if (accept4(fd, NULL, 0, SOCK_NONBLOCK) == 0
+ || errno == EAGAIN || errno == EWOULDBLOCK)
return 0;
- }
+
+ return 4;
}], [apr_cv_accept4=yes], [apr_cv_accept4=no], [apr_cv_accept4=no])])
if test "$apr_cv_accept4" = "yes"; then
@@ -983,6 +975,25 @@ if test "$apr_cv_epoll_create1" = "yes"; then
AC_DEFINE([HAVE_EPOLL_CREATE1], 1, [Define if epoll_create1 function is supported])
fi
+# Check for z/OS async i/o support.
+AC_CACHE_CHECK([for asio -> message queue support], [apr_cv_aio_msgq],
+[AC_TRY_RUN([
+#define _AIO_OS390
+#include
+
+int main()
+{
+ struct aiocb a;
+
+ a.aio_notifytype = AIO_MSGQ; /* use IPC message queue for notification */
+
+ return aio_cancel(2, NULL) == -1;
+}], [apr_cv_aio_msgq=yes], [apr_cv_aio_msgq=no], [apr_cv_aio_msgq=no])])
+
+if test "$apr_cv_aio_msgq" = "yes"; then
+ AC_DEFINE([HAVE_AIO_MSGQ], 1, [Define if async i/o supports message q's])
+fi
+
# test for dup3
AC_CACHE_CHECK([for dup3 support], [apr_cv_dup3],
[AC_TRY_RUN([
@@ -1180,7 +1191,8 @@ case $host in
# that it has it.
# FIXME - find exact 2.3 version that MMANON was fixed in. It is
# confirmed fixed in 2.4 series.
- if test $os_version -le "240"; then
+ if test $os_pre24linux -eq 1; then
+ AC_MSG_WARN([Disabling anon mmap() support for Linux pre-2.4])
APR_DECISION_OVERRIDE(USE_SHMEM_MMAP_ZERO USE_SHMEM_SHMGET_ANON)
fi
;;
@@ -1244,13 +1256,18 @@ APR_IFALLYES(header:os2.h,
APR_IFALLYES(header:windows.h,
[havewin32shm="1"
APR_DECIDE(USE_SHMEM_WIN32, [Windows shared memory])])
+AC_ARG_ENABLE(posix-shm,
+[ --enable-posix-shm Use POSIX shared memory (shm_open) if available],
+[
+if test "$havemmapshm" = "1"; then
+ APR_DECISION_OVERRIDE(USE_SHMEM_MMAP_SHM)
+fi
+])
case $host in
*linux* )
- # Linux has problems with MM_SHMT_MMANON even though it reports
- # that it has it.
- # FIXME - find exact 2.3 version that MMANON was fixed in. It is
- # confirmed fixed in 2.4 series.
- if test $os_version -le "240"; then
+ # Linux pre-2.4 had problems with MM_SHMT_MMANON even though
+ # it reports that it has it.
+ if test $os_pre24linux -eq 1; then
APR_DECISION_OVERRIDE(USE_SHMEM_MMAP_TMP USE_SHMEM_MMAP_SHM dnl
USE_SHMEM_SHMGET)
fi
@@ -1347,7 +1364,8 @@ AC_ARG_WITH(sendfile, [ --with-sendfile Override decision to use sendfi
;;
s390-*-linux-gnu)
# disable sendfile support for 2.2 on S/390
- if test $os_version -lt 240; then
+ if test $os_pre24linux -eq 1; then
+ AC_MSG_WARN([Disabled sendfile support for Linux 2.2 on S/390])
sendfile="0"
fi
;;
@@ -1532,7 +1550,7 @@ if test "$netdbh" = "1"; then
fi
AC_ARG_ENABLE(allocator-uses-mmap,
- [ --enable-allocator-uses-mmap Use mmap in apr_allocator instead of malloc (experimental)],
+ [ --enable-allocator-uses-mmap Use mmap in apr_allocator instead of malloc ],
[ if test "$enableval" = "yes"; then
APR_IFALLYES(header:sys/mman.h func:mmap func:munmap define:MAP_ANON,
[AC_DEFINE(APR_ALLOCATOR_USES_MMAP, 1,
@@ -2726,6 +2744,7 @@ AC_SUBST(NOTEST_INCLUDES)
dnl ----------------------------- Construct the files
+AC_SUBST(INTERNAL_CPPFLAGS)
AC_SUBST(LDLIBS)
AC_SUBST(INCLUDES)
AC_SUBST(AR)
@@ -2735,13 +2754,20 @@ AC_SUBST(DEFAULT_OSDIR)
AC_SUBST(EXEEXT)
AC_SUBST(LIBTOOL_LIBS)
-# Use -no-install to link the test programs on all platforms
-# but Darwin, where it would cause the programs to be linked
-# against installed versions of libapr instead of those just
-# built.
+# Use -no-install or -no-fast-install to link the test
+# programs on all platforms but Darwin, where it would cause
+# the programs to be linked against installed versions of
+# libapr instead of those just built.
case $host in
-*-apple-darwin*) LT_NO_INSTALL="" ;;
-*) LT_NO_INSTALL="-no-install" ;;
+ *-apple-darwin*)
+ LT_NO_INSTALL=""
+ ;;
+ *-mingw*)
+ LT_NO_INSTALL="-no-fast-install"
+ ;;
+ *)
+ LT_NO_INSTALL="-no-install"
+ ;;
esac
AC_SUBST(LT_NO_INSTALL)
diff --git a/docs/canonical_filenames.html b/docs/canonical_filenames.html
index 10867d3796e1..2bd9bdba822b 100644
--- a/docs/canonical_filenames.html
+++ b/docs/canonical_filenames.html
@@ -104,9 +104,9 @@ used as the parent to create child entries to reduce the number of expensive
stat and case canonicalization calls to the OS.
The comparison operation provides that the APR can postpone correction
-of case by simply relying upon the device and inode for equivilance. The
+of case by simply relying upon the device and inode for equivalence. The
stat implementation provides that two files are the same, while their
-strings are not equivilant, and eliminates the need for the operating
+strings are not equivalent, and eliminates the need for the operating
system to return the proper form of the name.
In any case, returning the char* path, with a flag to request the proper
@@ -153,4 +153,4 @@ For each of this path Segments
-