[Midnightbsd-cvs] src [9278] trunk/contrib/apr: upgrade to apr 1.5.2

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Feb 19 22:16:08 EST 2017


Revision: 9278
          http://svnweb.midnightbsd.org/src/?rev=9278
Author:   laffer1
Date:     2017-02-19 22:16:08 -0500 (Sun, 19 Feb 2017)
Log Message:
-----------
upgrade to apr 1.5.2

Modified Paths:
--------------
    trunk/contrib/apr/CHANGES
    trunk/contrib/apr/LICENSE
    trunk/contrib/apr/Makefile.in
    trunk/contrib/apr/Makefile.win
    trunk/contrib/apr/NOTICE
    trunk/contrib/apr/NWGNUmakefile
    trunk/contrib/apr/apr.dep
    trunk/contrib/apr/apr.dsp
    trunk/contrib/apr/apr.mak
    trunk/contrib/apr/apr.spec
    trunk/contrib/apr/atomic/win32/apr_atomic.c
    trunk/contrib/apr/build/NWGNUenvironment.inc
    trunk/contrib/apr/build/NWGNUmakefile
    trunk/contrib/apr/build/NWGNUtail.inc
    trunk/contrib/apr/build/apr_common.m4
    trunk/contrib/apr/build/apr_hints.m4
    trunk/contrib/apr/build/apr_network.m4
    trunk/contrib/apr/build/apr_rules.mk.in
    trunk/contrib/apr/build/aprapp.dep
    trunk/contrib/apr/build/aprapp.mak
    trunk/contrib/apr/build/config.guess
    trunk/contrib/apr/build/config.sub
    trunk/contrib/apr/build/jlibtool.c
    trunk/contrib/apr/build/libaprapp.dep
    trunk/contrib/apr/build/libaprapp.mak
    trunk/contrib/apr/build/lineends.pl
    trunk/contrib/apr/build/nw_export.inc
    trunk/contrib/apr/build/rpm/apr.spec.in
    trunk/contrib/apr/build-outputs.mk
    trunk/contrib/apr/build.conf
    trunk/contrib/apr/configure
    trunk/contrib/apr/configure.in
    trunk/contrib/apr/docs/canonical_filenames.html
    trunk/contrib/apr/docs/pool-design.html
    trunk/contrib/apr/file_io/os2/filedup.c
    trunk/contrib/apr/file_io/os2/open.c
    trunk/contrib/apr/file_io/unix/filedup.c
    trunk/contrib/apr/file_io/unix/filestat.c
    trunk/contrib/apr/file_io/unix/mktemp.c
    trunk/contrib/apr/file_io/unix/open.c
    trunk/contrib/apr/file_io/unix/pipe.c
    trunk/contrib/apr/file_io/unix/readwrite.c
    trunk/contrib/apr/file_io/win32/dir.c
    trunk/contrib/apr/file_io/win32/filedup.c
    trunk/contrib/apr/file_io/win32/open.c
    trunk/contrib/apr/file_io/win32/pipe.c
    trunk/contrib/apr/file_io/win32/readwrite.c
    trunk/contrib/apr/include/apr.h.in
    trunk/contrib/apr/include/apr_allocator.h
    trunk/contrib/apr/include/apr_errno.h
    trunk/contrib/apr/include/apr_file_info.h
    trunk/contrib/apr/include/apr_file_io.h
    trunk/contrib/apr/include/apr_fnmatch.h
    trunk/contrib/apr/include/apr_hash.h
    trunk/contrib/apr/include/apr_inherit.h
    trunk/contrib/apr/include/apr_lib.h
    trunk/contrib/apr/include/apr_mmap.h
    trunk/contrib/apr/include/apr_network_io.h
    trunk/contrib/apr/include/apr_poll.h
    trunk/contrib/apr/include/apr_pools.h
    trunk/contrib/apr/include/apr_shm.h
    trunk/contrib/apr/include/apr_strings.h
    trunk/contrib/apr/include/apr_tables.h
    trunk/contrib/apr/include/apr_thread_mutex.h
    trunk/contrib/apr/include/apr_thread_proc.h
    trunk/contrib/apr/include/apr_time.h
    trunk/contrib/apr/include/apr_user.h
    trunk/contrib/apr/include/apr_version.h
    trunk/contrib/apr/include/arch/netware/apr_private.h
    trunk/contrib/apr/include/arch/unix/apr_arch_poll_private.h
    trunk/contrib/apr/include/arch/unix/apr_arch_threadproc.h
    trunk/contrib/apr/include/arch/unix/apr_private.h.in
    trunk/contrib/apr/include/arch/win32/apr_arch_file_io.h
    trunk/contrib/apr/include/arch/win32/apr_arch_misc.h
    trunk/contrib/apr/libapr.dep
    trunk/contrib/apr/libapr.dsp
    trunk/contrib/apr/libapr.mak
    trunk/contrib/apr/locks/beos/thread_cond.c
    trunk/contrib/apr/locks/unix/proc_mutex.c
    trunk/contrib/apr/memory/unix/apr_pools.c
    trunk/contrib/apr/misc/unix/errorcodes.c
    trunk/contrib/apr/misc/win32/misc.c
    trunk/contrib/apr/network_io/os2/sockopt.c
    trunk/contrib/apr/network_io/unix/sendrecv.c
    trunk/contrib/apr/network_io/unix/sockaddr.c
    trunk/contrib/apr/network_io/unix/socket_util.c
    trunk/contrib/apr/network_io/unix/sockets.c
    trunk/contrib/apr/network_io/unix/sockopt.c
    trunk/contrib/apr/network_io/win32/sockets.c
    trunk/contrib/apr/network_io/win32/sockopt.c
    trunk/contrib/apr/passwd/apr_getpass.c
    trunk/contrib/apr/poll/unix/epoll.c
    trunk/contrib/apr/poll/unix/kqueue.c
    trunk/contrib/apr/poll/unix/poll.c
    trunk/contrib/apr/poll/unix/pollcb.c
    trunk/contrib/apr/poll/unix/pollset.c
    trunk/contrib/apr/poll/unix/port.c
    trunk/contrib/apr/shmem/beos/shm.c
    trunk/contrib/apr/shmem/os2/shm.c
    trunk/contrib/apr/shmem/unix/shm.c
    trunk/contrib/apr/shmem/win32/shm.c
    trunk/contrib/apr/strings/apr_cpystrn.c
    trunk/contrib/apr/strings/apr_strings.c
    trunk/contrib/apr/support/unix/waitio.c
    trunk/contrib/apr/tables/apr_hash.c
    trunk/contrib/apr/tables/apr_tables.c
    trunk/contrib/apr/test/Makefile.in
    trunk/contrib/apr/test/Makefile.win
    trunk/contrib/apr/test/NWGNUaprtest
    trunk/contrib/apr/test/abts.c
    trunk/contrib/apr/test/abts_tests.h
    trunk/contrib/apr/test/echod.c
    trunk/contrib/apr/test/internal/testucs.c
    trunk/contrib/apr/test/sendfile.c
    trunk/contrib/apr/test/sockchild.c
    trunk/contrib/apr/test/testatomic.c
    trunk/contrib/apr/test/testdir.c
    trunk/contrib/apr/test/testdll.dsp
    trunk/contrib/apr/test/testfmt.c
    trunk/contrib/apr/test/testhash.c
    trunk/contrib/apr/test/testlib.dsp
    trunk/contrib/apr/test/testlockperf.c
    trunk/contrib/apr/test/testmmap.c
    trunk/contrib/apr/test/testmutexscope.c
    trunk/contrib/apr/test/testpoll.c
    trunk/contrib/apr/test/testproc.c
    trunk/contrib/apr/test/testsock.c
    trunk/contrib/apr/test/teststr.c
    trunk/contrib/apr/test/testtable.c
    trunk/contrib/apr/test/testutil.h
    trunk/contrib/apr/threadproc/netware/thread.c
    trunk/contrib/apr/threadproc/win32/proc.c
    trunk/contrib/apr/threadproc/win32/signals.c

Added Paths:
-----------
    trunk/contrib/apr/build/nw_make_header.awk
    trunk/contrib/apr/encoding/
    trunk/contrib/apr/include/apr.hwc
    trunk/contrib/apr/include/apr_escape.h
    trunk/contrib/apr/include/apr_skiplist.h
    trunk/contrib/apr/include/private/
    trunk/contrib/apr/poll/unix/z_asio.c
    trunk/contrib/apr/tables/apr_skiplist.c
    trunk/contrib/apr/test/testescape.c
    trunk/contrib/apr/test/testskiplist.c

Property Changed:
----------------
    trunk/contrib/apr/
    trunk/contrib/apr/build/MakeEtags
    trunk/contrib/apr/build/PrintPath
    trunk/contrib/apr/build/buildcheck.sh
    trunk/contrib/apr/build/config.guess
    trunk/contrib/apr/build/config.sub
    trunk/contrib/apr/build/gen-build.py
    trunk/contrib/apr/build/get-version.sh
    trunk/contrib/apr/build/install.sh
    trunk/contrib/apr/build/mkdir.sh
    trunk/contrib/apr/build/run-gcov.sh
    trunk/contrib/apr/configure

Index: trunk/contrib/apr
===================================================================
--- trunk/contrib/apr	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr	2017-02-20 03:16:08 UTC (rev 9278)

Property changes on: trunk/contrib/apr
___________________________________________________________________
Added: svn:mergeinfo
## -0,0 +1 ##
+/vendor/apache/apr/dist:9272-9277
\ No newline at end of property
Modified: trunk/contrib/apr/CHANGES
===================================================================
--- trunk/contrib/apr/CHANGES	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/CHANGES	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,236 +1,184 @@
                                                      -*- coding: utf-8 -*-
-Changes for APR 1.4.8
+Changes for APR 1.5.2
 
-  *) Fix compiltation with FreeBSD on ARM.  [Olli Hauer <ohauer gmx.de>]
+  *) SECURITY: CVE-2015-1829 (cve.mitre.org)
+     APR applications using APR named pipe support on Windows can be 
+     vulnerable to a pipe squatting attack from a local process; the extent
+     of the vulnerability, when present, depends on the application.
+     Initial analysis and report was provided by John Hernandez of Casaba 
+     Security via HP SSRT Security Alert.  [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]
+  *) apr_atomic: Fix errors when building on Visual Studio 2013 while
+     maintaining the ability to build on Visual Studio 6 with Windows
+     Server 2003 R2 SDK. PR 57191. [Gregg Smith]
 
-  *) Fix the return value of apr_threadattr_detach_get() on some
-     platforms like OS X and Solaris. [Rainer Jung, <dusanv gmail com>]
+  *) Switch to generic atomics for early/unpatched Solaris 10 not exporting
+     some atomic functions.  PR 55418.  [Yann Ylavic]
 
-Changes for APR 1.4.7
+  *) apr_file_mktemp() on HP-UX: Remove limitation of 26 temporary files
+     per process.  PR 57677.  [Jeff Trawick]
 
-  *) Fix apr_sockaddr_info_get() not returning an error in some cases.
-     PR 54779. [Jan Kaluža <jkaluza redhat com>]
+  *) apr_escape: Correctly calculate the size of the returned string in
+     apr_escape_path and set the correct return value in case we actually
+     escape the string. [<aduryagin gmail.com>] PR 57230.
 
-  *) Fix amd64 assembler version of apr_atomic_xchgptr(). PR 51851. [Mattias
-     Engdegård <mattiase acm org>]
+  *) pollcb on Windows: Handle calls with no file/socket descriptors.
+     Follow up to PR 49882. [Jeff Trawick, Yann Ylavic]
 
-  *) Fix PPC atomics to work with gcc 4.0. PR 54840. [Mattias Engdegård
-     <mattiase acm org>]
+  *) apr_poll(cb): fix error paths returned values and leaks.  [Yann Ylavic]
 
-  *) configure: Fix detection of O_NONBLOCK inheritance on busy
-     systems.  [Rainer Jung]
+  *) apr_thread_cond_*wait() on BeOS: Fix broken logic.  PR 45800.
+     [Jochen Voss (no e-mail)]
 
-  *) Remove unused code, fix strict C compliance bug in SHA-256
-     implementation.  [Jan Kaluza <jkaluza redhat.com>]
+  *) apr_skiplist: Optimize the number of allocations by reusing pooled or
+     malloc()ed nodes for the lifetime of the skiplist.  [Yann Ylavic]
 
-  *) Fix apr_ipsubnet_test() false positives when comparing IPv4
-     subnet representation against an IPv6 address.  PR 54047.  [Joe Orton]
+  *) apr_skiplist: Fix possible multiple-free() on the same value in
+     apr_skiplist_remove_all().  [Yann Ylavic]
 
-  *) 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]
+  *) apr_pollset: On z/OS, threadsafe apr_pollset_poll() may return
+     "EDC8102I Operation would block" under load.
+     [Pat Odonnell <patod us.ibm.com>]
 
-  *) configure: Fix Linux 3.x detection. PR 54001. [Gilles Espinasse
-     <g esp free fr>]
+  *) On z/OS, apr_sockaddr_info_get() with family == APR_UNSPEC was not 
+     returning IPv4 addresses if any IPv6 addresses were returned. 
+     [Eric Covener]
 
-  *) apr_time_exp_*() on Windows: Fix error in the tm_yday field of
-     apr_time_exp_t for times within leap years.  PR 53175.
+  *) Windows cmake build: Fix an incompatibility with cmake 2.8.12 and
+     later.  [Jeff Trawick]
+
+  *) apr_global_mutex/apr_proc_mutex: Resolve failures with the 
+     POSIX sem implementation in environments which receive signals.
      [Jeff Trawick]
 
+  *) apr_skiplist: Fix potential corruption of skiplists leading to 
+     results or crashes. [Takashi Sato <takashi tks st>, Eric Covener]
+     PR 56654.
+
   *) Improve platform detection by updating config.guess and config.sub.
      [Rainer Jung]
 
-  *) Add support for OSX Mountain Lion (10.8) [Jim Jagielski]
+Changes for APR 1.5.1
 
-  *) Add various gcc function attributes. [Stefan Fritsch]
+  *) apr_os_proc_mutex_get() on Unix:  Avoid segfault for cross-
+     process pthread mutexes.  [Yann Ylavic <ylavic.dev gmail.com>]
 
-  *) 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
-     <jmv_deb nirgal com>, Stefan Fritsch]
+  *) 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 file not being unlocked if truncate call on a file fails.
-     [Mladen Turk]
+  *) apr_socket_atreadeof(): Fix breakage on OS X. [Jim Jagielski]
 
-  *) apr_mcast_hops: Fix EINVAL for IPv6 sockets caused by using byte
-     instead integer for setsockopt. [Mladen Turk]
+  *) 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 <jh-asf skrt org>, Jim Jagielski]
 
-  *) Windows: Fix compile-time checks for 64-bit builds, resolving a
-     crash in httpd's mod_rewrite.  PR 49155.  [<anindyabaruah gmail.com>]
+  *) Fix race condition when calling apr_dir_make_recursive from
+     multiple threads on Windows.
+     [Bert Huijben]
 
-Changes for APR 1.4.6
+  *) Fix apr_escape.c compilation errors on EBCDIC platforms.
+     [Eric Covener]
 
-  *) Flush write buffer before truncate call on a file.
-     [Mladen Turk]
+  *) FreeBSD 10: Correct a regression in 1.5.0 which affected non-
+     blocking sockets in some applications, including httpd.  [Jeff
+     Trawick]
 
-  *) 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.]
+  *) 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]
 
-  *) apr_random: Prevent segfault if pool used to initialize apr_random is
-     destroyed before forking. [Stefan Fritsch]
+  *) apr_skiplist: Add compatibility with C++ applications.
+     [Jeff Trawick]
 
-  *) testrand: Improve child randomness test case. [Rainer Jung]
+  *) Correct a regression in 1.5.0 which affected out-of-tree
+     builds on Unix.  [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 <vapier gentoo org>]
-
-  *) apr_dir_make_recursive: Fix race condition that could lead to EEXIST
-     being returned. PR 51254. [William Lee <william lee rainstor com>,
-     Wim Lewis <wiml omnigroup com>]
-
-  *) configure: Fix APR_RESTORE_THE_ENVIRONMENT if the original variable was
-     a single space. PR 50334. [Nathan Phillip Brink <binki gentoo org>]
-
-  *) 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 <drkp csail mit edu>]
-
-  *) 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]
+Changes for APR 1.5.0
 
-  *) Don't overwrite our config.guess and config.sub
-     when running buildconf.  [Rainer Jung]
+  *) Fix Linux kernel version check to recognize more versions,
+     including versions 3.10 and later.  PR 55690.  [Joe Orton,
+     Arfrever Frehtes Taifersar Arahesis <arfrever.fta gmail.com>]
 
-  *) Silence autoconf 2.68 warnings.  [Rainer Jung]
+  *) 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]
 
-Changes for APR 1.4.5
+  *) apr_file_dup2() on Windows: Fix debug RTL assertion when 
+     attempting to _commit(stdout) or _commit(stderr).  [Mike Rumph
+     <mike.rumph oracle.com>]
 
-  *) Security: CVE-2011-1928
-     apr_fnmatch(): Fix high CPU loop.  [William Rowe]
+  *) apr_socket_connect() on Windows: Handle WSAEISCONN.  PR 48736.
+     [<inoue ariel-networks.com>, Jeff Trawick]
 
-  *) Fix top_builddir in installed apr_rules.mk.  [Bojan Smojver]
+  *) z/OS: threadsafe apr_pollset_poll support for sockets [Greg Ames]
 
-Changes for APR 1.4.4
+  *) Windows:  Don't obtain a mutex for buffered file I/O unless the
+     file was opened with the APR_FOPEN_XTHREAD flag.  [Ivan Zhakov
+     <ivan visualsvn.com>]
 
-  *) Windows: Fix command-line builds.  [William Rowe]
+  *) 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]
 
-Changes for APR 1.4.3
+  *) Update compile settings for MINT OS.  PR 47181. [Alan Hourihane
+     <alanh fairlite.co.uk>]
 
-  *) Security: CVE-2011-0419
-     Reimplement apr_fnmatch() from scratch using a non-recursive
-     algorithm; now has improved compliance with the fnmatch() spec.
-     [William Rowe]
+  *) Files and pipes on Windows:  Don't create an unused pollset when
+     files and pipes are opened.  [Mladen Turk]
 
-  *) Fix environment-related crash using some non-standard builds on
-     Windows 7/Server 2008.  [Steve Hay <SteveHay planit.com>]
+  *) 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]
 
-  *) poll, pollset, pollcb on Windows: Handle calls with no file/socket
-     descriptors.  PR 49882.  [Stefan Ruppert <sr myarm.com>, Jeff Trawick]
+  *) File info APIs: Fix calculation of atime and mtime on AIX. PR 51146.
+     [Ruediger Pluem]
 
-  *) 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 <sob hisoftware.cz>]
+  *) Add the apr_escape interface. [Graham Leggett]
 
-  *) Fix address handling when accepting an AF_INET socket from a socket
-     bound as AF_INET6.   PR 49678.  [Joe Orton]
+  *) Cygwin build fixes.  PRs 51016 and 55586.  [Carlo Bramini
+     <carlo.bramix libero.it>] 
 
-  *) Fix error return values from apr_sockaddr_info_get() on Windows for
-     IPv6 builds.  [Ivan Zhakov <ivan visualsvn.com>]
+  *) Add apr_skiplist family. [Jim Jagielski]
 
-  *) 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]
+  *) Add experimental cmake-based build system for Windows.  Refer to 
+     README.cmake for more information.  [Jeff Trawick, Tom Donovan]
 
-  *) configure: Support 64 and 32 bit universal builds for Darwin/
-     OS X 10.6+. [Jim Jagielski]
+  *) Add the apr_table_getm() call, which transparently handles the
+     merging of keys with multiple values. [Graham Leggett]
 
-  *) 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]
+  *) 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 <hyrum_wright mail.utexas.edu>]
 
-  *) configure: Make definition of apr_ino_t independent of
-     _FILE_OFFSET_BITS even on platforms where ino_t is 'unsigned int'.
-     [Stefan Fritsch]
+  *) MinGW/MSYS:  Support shared builds of APR, other general improvements
+     to support of this toolchain.  PR 46175.  [Carlo Bramini 
+     <carlo.bramix libero.it>]  
 
-  *) 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 <sami.tolvanen mywot.com>]
-
-  *) apr_pollset_create*(): Fix memory lifetime problem with the wakeup
-     pipe when the pollset was created with APR_POLLSET_NOCOPY.
-     [Neil Conway <nrc cs.berkeley.edu>]
-
-  *) 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
+  *) apr_socket_opt_set: Add support for APR_SO_BROADCAST. PR 46389.
+     [Armin Müller <mueller itestra com>]
 
-  *) 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 <bert qqmail.nl>.  [Graham Leggett]
+  *) 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.1
+Changes for APR 1.4.x and later:
 
-  *) Win32: Properly handle the ERROR_DIRECTORY system error code.
-     [Brane Čibej]
+  *) http://svn.apache.org/viewvc/apr/apr/branches/1.4.x/CHANGES?view=markup
 
-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.
-     [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]
-
-  *) 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]
-
-  *) Win32: Use WSAPoll as default pollset method if supported and found
-     inside winsock dll.  [Mladen Turk]
-
-  *) apr_temp_dir_get() now checks the TMPDIR environment variable first,
-     instead of third.  [Jim Jagielski]
-
-  *) Add apr_file_sync() and apr_file_datasync() calls.  [Bojan Smojver]
-
-  *) apr_pollset_wakeup() on Windows: Fix core caused by closing the
-     file_socket_pipe with standard file_close. 
-     [Arsen Chaloyan, Mladen Turk]
-
-  *) Introduce apr_hash_do() for iterating over a hash table.  [Mladen Turk]
-
-  *) Make sure WIN32 behaves the same as posix for file-backed shared memory 
-     by removing the file on cleanup/remove.  [Mladen Turk]
-
-  *) Introduce apr_pollset_wakeup() for interrupting the blocking
-     apr_pollset_poll() call.  [Mladen Turk]
-
-  *) Add apr_file_link() function.  PR 44841.  [Mark Heily <mark heily.com>]
-
 Changes for APR 1.3.x and later:
 
   *) http://svn.apache.org/viewvc/apr/apr/branches/1.3.x/CHANGES?view=markup

Modified: trunk/contrib/apr/LICENSE
===================================================================
--- trunk/contrib/apr/LICENSE	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/LICENSE	2017-02-20 03:16:08 UTC (rev 9278)
@@ -206,8 +206,8 @@
 
 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:

Modified: trunk/contrib/apr/Makefile.in
===================================================================
--- trunk/contrib/apr/Makefile.in	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/Makefile.in	2017-02-20 03:16:08 UTC (rev 9278)
@@ -18,7 +18,7 @@
 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 @@
 # 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 @@
 @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 at 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 @@
 $(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 @@
 etags:
 	etags `find . -name '*.[ch]'`
 
+OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS)
+tools/gen_test_char.lo: tools/gen_test_char.c
+	$(APR_MKDIR) tools
+	$(LT_COMPILE)
+
+tools/gen_test_char at EXEEXT@: $(OBJECTS_gen_test_char)
+	$(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS)
+
+include/private/apr_escape_test_char.h: tools/gen_test_char at EXEEXT@
+	$(APR_MKDIR) include/private
+	tools/gen_test_char at EXEEXT@ > $@
+
+LINK_PROG = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LT_LDFLAGS) \
+	    @LT_NO_INSTALL@ $(ALL_LDFLAGS) -o $@
+
 # DO NOT REMOVE
 docs: $(INCDIR)/*.h

Modified: trunk/contrib/apr/Makefile.win
===================================================================
--- trunk/contrib/apr/Makefile.win	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/Makefile.win	2017-02-20 03:16:08 UTC (rev 9278)
@@ -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

Modified: trunk/contrib/apr/NOTICE
===================================================================
--- trunk/contrib/apr/NOTICE	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/NOTICE	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,7 +1,7 @@
 Apache Portable Runtime
-Copyright (c) 2011 The Apache Software Foundation.
+Copyright (c) 2000-2015 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

Modified: trunk/contrib/apr/NWGNUmakefile
===================================================================
--- trunk/contrib/apr/NWGNUmakefile	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/NWGNUmakefile	2017-02-20 03:16:08 UTC (rev 9278)
@@ -50,6 +50,7 @@
 #
 XINCDIRS	+= \
 			$(APR)/include \
+			$(APR)/include/private \
 			$(APR)/include/arch/NetWare \
 			$(APR)/include/arch/unix \
 			$(APR)/memory/unix \
@@ -293,11 +294,13 @@
 FILES_lib_objs = \
 	$(OBJDIR)/apr_atomic.o \
 	$(OBJDIR)/apr_cpystrn.o \
+	$(OBJDIR)/apr_escape.o \
 	$(OBJDIR)/apr_fnmatch.o \
 	$(OBJDIR)/apr_getpass.o \
 	$(OBJDIR)/apr_hash.o \
 	$(OBJDIR)/apr_pools.o \
 	$(OBJDIR)/apr_random.o \
+	$(OBJDIR)/apr_skiplist.o \
 	$(OBJDIR)/apr_snprintf.o \
 	$(OBJDIR)/apr_strings.o \
 	$(OBJDIR)/apr_strnatcmp.o \
@@ -407,7 +410,7 @@
 vpath %.c atomic/netware:strings:tables:passwd:lib:time/unix
 vpath %.c file_io/unix:locks/netware:misc/netware:misc/unix:threadproc/netware
 vpath %.c poll/unix:shmem/unix:support/unix:random/unix
-vpath %.c dso/netware:memory/unix:mmap/unix:user/netware
+vpath %.c dso/netware:memory/unix:mmap/unix:user/netware:encoding
 
 # Use the win32 network_io if Winsock is being used
 ifndef USE_STDSOCKETS

Modified: trunk/contrib/apr/apr.dep
===================================================================
--- trunk/contrib/apr/apr.dep	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/apr.dep	2017-02-20 03:16:08 UTC (rev 9278)
@@ -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 
+

Modified: trunk/contrib/apr/apr.dsp
===================================================================
--- trunk/contrib/apr/apr.dsp	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/apr.dsp	2017-02-20 03:16:08 UTC (rev 9278)
@@ -202,6 +202,15 @@
 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"
 
 # PROP Default_Filter ""
@@ -492,6 +501,10 @@
 # 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 @@
 # 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 @@
 # 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

Modified: trunk/contrib/apr/apr.mak
===================================================================
--- trunk/contrib/apr/apr.mak	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/apr.mak	2017-02-20 03:16:08 UTC (rev 9278)
@@ -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 :
-	- at erase "$(INTDIR)\apr-1.idb"
-	- at erase "$(INTDIR)\apr-1.pdb"
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at 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 :
-	- at erase "$(INTDIR)\apr-1.idb"
-	- at erase "$(INTDIR)\apr-1.pdb"
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\apr-1.lib"
-	- at 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 :
-	- at erase "$(INTDIR)\apr-1.idb"
-	- at erase "$(INTDIR)\apr-1.pdb"
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\apr-1.lib"
-	- at 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 :
-	- at erase "$(INTDIR)\apr-1.idb"
-	- at erase "$(INTDIR)\apr-1.pdb"
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\apr-1.lib"
-	- at 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 :
-	- at erase "$(INTDIR)\apr-1.idb"
-	- at erase "$(INTDIR)\apr-1.pdb"
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\apr-1.lib"
-	- at 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 :
-	- at erase "$(INTDIR)\apr-1.idb"
-	- at erase "$(INTDIR)\apr-1.pdb"
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\apr-1.lib"
-	- at 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)"
-	<<tempfile.bat 
-	@echo off 
+# 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 : ".\LibR\gen_test_char.exe" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr-1.idb"
+	- at erase "$(INTDIR)\apr-1.pdb"
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\apr-1.lib"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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)\apr_escape.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_skiplist.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 : ".\LibD\gen_test_char.exe" ".\include\apr_escape_test_char.h" ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr-1.idb"
+	- at erase "$(INTDIR)\apr-1.pdb"
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\apr-1.lib"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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)\apr_escape.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_skiplist.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_escape_test_char.h" ".\include\apr.h" ".\9x\LibR\gen_test_char.exe" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr-1.idb"
+	- at erase "$(INTDIR)\apr-1.pdb"
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\apr-1.lib"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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)\apr_escape.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_skiplist.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_escape_test_char.h" ".\include\apr.h" ".\9x\LibD\gen_test_char.exe" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr-1.idb"
+	- at erase "$(INTDIR)\apr-1.pdb"
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\apr-1.lib"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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)\apr_escape.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_skiplist.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 : ".\x64\LibR\gen_test_char.exe" ".\include\apr_escape_test_char.h" ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr-1.idb"
+	- at erase "$(INTDIR)\apr-1.pdb"
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\apr-1.lib"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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)\apr_escape.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_skiplist.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 : ".\x64\LibD\gen_test_char.exe" ".\include\apr_escape_test_char.h" ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr-1.idb"
+	- at erase "$(INTDIR)\apr-1.pdb"
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\apr-1.lib"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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)\apr_escape.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_skiplist.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=.\encoding\apr_escape.c
+
+"$(INTDIR)\apr_escape.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr_escape.h" ".\include\apr_escape_test_char.h" ".\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_skiplist.c
+
+"$(INTDIR)\apr_skiplist.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)"
+	<<tempfile.bat 
+	@echo off 
 	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "apr - Win32 Debug"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - Win32 Debug"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
 	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "apr - Win32 Release9x"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - Win32 Release9x"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
 	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "apr - Win32 Debug9x"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - Win32 Debug9x"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
 	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "apr - x64 Release"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - x64 Release"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
 	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "apr - x64 Debug"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - x64 Debug"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
 	type .\include\apr.hw > .\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)"
+	<<tempfile.bat 
+	@echo off 
+	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
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - Win32 Debug"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	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
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - Win32 Release9x"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	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
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - Win32 Debug9x"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	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
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - x64 Release"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	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
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - x64 Debug"
+
+InputPath=.\include\apr_escape.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	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
+<< 
+	
+
+!ENDIF 
+
+SOURCE=.\include\apr_want.h
+
+!IF  "$(CFG)" == "apr - Win32 Release"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - Win32 Debug"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - Win32 Release9x"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - Win32 Debug9x"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - x64 Release"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "apr - x64 Debug"
+
+InputPath=.\include\apr_want.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ENDIF 
+
+
+!ENDIF 
+

Modified: trunk/contrib/apr/apr.spec
===================================================================
--- trunk/contrib/apr/apr.spec	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/apr.spec	2017-02-20 03:16:08 UTC (rev 9278)
@@ -3,7 +3,7 @@
 
 Summary: Apache Portable Runtime library
 Name: apr
-Version: 1.4.8
+Version: 1.5.2
 Release: 1
 License: Apache Software License
 Group: System Environment/Libraries
@@ -76,7 +76,7 @@
 %defattr(-,root,root,-)
 %doc docs/APRDesign.html docs/canonical_filenames.html
 %doc docs/incomplete_types docs/non_apr_programs
-%doc --parents html
+%doc html
 %{_bindir}/apr*config
 %{_libdir}/libapr-%{aprver}.*a
 %{_libdir}/libapr-%{aprver}.so

Modified: trunk/contrib/apr/atomic/win32/apr_atomic.c
===================================================================
--- trunk/contrib/apr/atomic/win32/apr_atomic.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/atomic/win32/apr_atomic.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -23,33 +23,12 @@
     return APR_SUCCESS;
 }
 
-/* 
- * Remapping function pointer type to accept apr_uint32_t's type-safely
- * as the arguments for as our apr_atomic_foo32 Functions
- */
-typedef WINBASEAPI apr_uint32_t (WINAPI * apr_atomic_win32_ptr_fn)
-    (apr_uint32_t volatile *);
-typedef WINBASEAPI apr_uint32_t (WINAPI * apr_atomic_win32_ptr_val_fn)
-    (apr_uint32_t volatile *, 
-     apr_uint32_t);
-typedef WINBASEAPI apr_uint32_t (WINAPI * apr_atomic_win32_ptr_val_val_fn)
-    (apr_uint32_t volatile *, 
-     apr_uint32_t, apr_uint32_t);
-typedef WINBASEAPI void * (WINAPI * apr_atomic_win32_ptr_ptr_ptr_fn)
-    (volatile void **, 
-     void *, const void *);
-typedef WINBASEAPI void * (WINAPI * apr_atomic_win32_ptr_ptr_fn)
-    (volatile void **,
-     void *);
-
 APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val)
 {
 #if (defined(_M_IA64) || defined(_M_AMD64))
     return InterlockedExchangeAdd(mem, val);
-#elif defined(__MINGW32__)
+#else
     return InterlockedExchangeAdd((long *)mem, val);
-#else
-    return ((apr_atomic_win32_ptr_val_fn)InterlockedExchangeAdd)(mem, val);
 #endif
 }
 
@@ -62,10 +41,8 @@
 {
 #if (defined(_M_IA64) || defined(_M_AMD64))
     InterlockedExchangeAdd(mem, -val);
-#elif defined(__MINGW32__)
+#else
     InterlockedExchangeAdd((long *)mem, -val);
-#else
-    ((apr_atomic_win32_ptr_val_fn)InterlockedExchangeAdd)(mem, -val);
 #endif
 }
 
@@ -74,10 +51,8 @@
     /* we return old value, win32 returns new value :( */
 #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
     return InterlockedIncrement(mem) - 1;
-#elif defined(__MINGW32__)
+#else
     return InterlockedIncrement((long *)mem) - 1;
-#else
-    return ((apr_atomic_win32_ptr_fn)InterlockedIncrement)(mem) - 1;
 #endif
 }
 
@@ -85,10 +60,8 @@
 {
 #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
     return InterlockedDecrement(mem);
-#elif defined(__MINGW32__)
+#else
     return InterlockedDecrement((long *)mem);
-#else
-    return ((apr_atomic_win32_ptr_fn)InterlockedDecrement)(mem);
 #endif
 }
 
@@ -96,10 +69,8 @@
 {
 #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
     InterlockedExchange(mem, val);
-#elif defined(__MINGW32__)
+#else
     InterlockedExchange((long*)mem, val);
-#else
-    ((apr_atomic_win32_ptr_val_fn)InterlockedExchange)(mem, val);
 #endif
 }
 
@@ -113,10 +84,8 @@
 {
 #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
     return InterlockedCompareExchange(mem, with, cmp);
-#elif defined(__MINGW32__)
+#else
     return InterlockedCompareExchange((long*)mem, with, cmp);
-#else
-    return ((apr_atomic_win32_ptr_val_val_fn)InterlockedCompareExchange)(mem, with, cmp);
 #endif
 }
 
@@ -124,11 +93,8 @@
 {
 #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
     return InterlockedCompareExchangePointer((void* volatile*)mem, with, (void*)cmp);
-#elif defined(__MINGW32__)
+#else
     return InterlockedCompareExchangePointer((void**)mem, with, (void*)cmp);
-#else
-    /* Too many VC6 users have stale win32 API files, stub this */
-    return ((apr_atomic_win32_ptr_ptr_ptr_fn)InterlockedCompareExchange)(mem, with, cmp);
 #endif
 }
 
@@ -136,19 +102,12 @@
 {
 #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
     return InterlockedExchange(mem, val);
-#elif defined(__MINGW32__)
+#else
     return InterlockedExchange((long *)mem, val);
-#else
-    return ((apr_atomic_win32_ptr_val_fn)InterlockedExchange)(mem, val);
 #endif
 }
 
 APR_DECLARE(void*) apr_atomic_xchgptr(volatile void **mem, void *with)
 {
-#if (defined(_M_IA64) || defined(_M_AMD64) || defined(__MINGW32__)) && !defined(RC_INVOKED)
     return InterlockedExchangePointer((void**)mem, with);
-#else
-    /* Too many VC6 users have stale win32 API files, stub this */
-    return ((apr_atomic_win32_ptr_ptr_fn)InterlockedExchange)(mem, with);
-#endif
 }

Index: trunk/contrib/apr/build/MakeEtags
===================================================================
--- trunk/contrib/apr/build/MakeEtags	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/MakeEtags	2017-02-20 03:16:08 UTC (rev 9278)

Property changes on: trunk/contrib/apr/build/MakeEtags
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Modified: trunk/contrib/apr/build/NWGNUenvironment.inc
===================================================================
--- trunk/contrib/apr/build/NWGNUenvironment.inc	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/NWGNUenvironment.inc	2017-02-20 03:16:08 UTC (rev 9278)
@@ -141,6 +141,7 @@
 CPP	= mwccnlm
 LINK	= mwldnlm
 LIB	= mwldnlm -type library -w nocmdline
+WIN_CC	= mwcc
 
 # Setup build tools
 AWK	= awk
@@ -206,6 +207,20 @@
 MATH3S	=
 PLIB3S	= $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++/MWCPP.lib
 
+ifeq "$(OS)" "Windows_NT"
+# MetroWerks Win32 build flags to create build tools
+MWCW_MSL         = "$(METROWERKS)/MSL"
+MWCW_W32         = "$(METROWERKS)/Win32-x86 Support"
+CC_FOR_BUILD     = $(WIN_CC)
+CFLAGS_FOR_BUILD =  -O2 -gccinc -nodefaults -proc 586 -w off
+CFLAGS_FOR_BUILD += -ir $(MWCW_MSL) -ir $(MWCW_W32) -lr $(MWCW_MSL) -lr $(MWCW_W32)
+CFLAGS_FOR_BUILD += -lMSL_All_x86.lib -lkernel32.lib -luser32.lib
+else
+# GNUC build flags to create build tools
+CC_FOR_BUILD     = gcc
+CFLAGS_FOR_BUILD = -Wall -O2
+endif
+
 # Base compile flags
 # and prefix or precompiled header added here.
 
@@ -222,6 +237,12 @@
 
 CFLAGS = -c -w nocmdline -gccinc -Cpp_exceptions off -RTTI off -align 4 -proc PII
 
+ifdef CC_MAX_ERRORS
+CFLAGS += -maxerrors $(CC_MAX_ERRORS)
+else
+CFLAGS += -maxerrors 1
+endif
+
 ifeq "$(REQUIRE_PROTOTYPES)" "1"
 CFLAGS += -r
 endif
@@ -237,7 +258,7 @@
 CFLAGS += -O4,p
 endif
 
-# -prefix apr_arch_pre_nw.h      #include pre_nw.h for all files
+# -prefix apr_arch_pre_nw.h      #include apr_arch_pre_nw.h for all files
 CFLAGS += -prefix apr_arch_pre_nw.h
 
 

Modified: trunk/contrib/apr/build/NWGNUmakefile
===================================================================
--- trunk/contrib/apr/build/NWGNUmakefile	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/NWGNUmakefile	2017-02-20 03:16:08 UTC (rev 9278)
@@ -23,6 +23,7 @@
 	$(APU)/include/private/apu_config.h \
 	$(APU)/include/private/apu_select_dbm.h \
 	$(APUXML)/expat/lib/expat_config.h \
+	$(APR)/include/private/apr_escape_test_char.h \
 	$(EOLIST) 
     
 nlms :: $(APR)/aprlib.imp
@@ -53,6 +54,14 @@
 endif
 
 
+ifndef WITH_LDAP
+WITH_LDAP = $(shell $(AWK) '/^\#define APR_HAS_LDAP /{print $$3}' $(APU)/include/apr_ldap.hnw)
+endif
+
+$(APU)/include/apr_ldap.h: $(APR)/build/nw_make_header.awk $(APU)/include/apr_ldap.hnw
+	@echo $(DL)Creating $@$(DL)
+	$(AWK) -v WITH_LDAP=$(WITH_LDAP) -f $^ >$@
+
 %.h: %.hnw
 	@echo $(DL)Creating $@$(DL)
 	$(call COPY,$<,$@)
@@ -61,6 +70,14 @@
 	@echo $(DL)Creating $@$(DL)
 	$(call COPY,$<,$@)
 
+$(APR)/include/private/apr_escape_test_char.h: gen_test_char.exe $(APR)/tools/gen_test_char.c
+	@echo $(DL)GEN  $@$(DL)
+	$< > $@
+
+%.exe: $(APR)/tools/%.c
+	@echo $(DL)Creating Build Helper $@$(DL)
+	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE $< -o $@
+
 #
 # You can use this target if all that is needed is to copy files to the
 # installation area
@@ -73,6 +90,7 @@
 	$(call DEL,NWGNUversion.inc)
 	$(call DEL,$(APR)/aprlib.imp)
 	$(foreach file,$(FILES_prebuild_headers),$(call DEL,$(file)))
+	$(call DEL,gen_test_char.exe)
 
 #
 # Include the 'tail' makefile that has targets that depend on variables defined

Modified: trunk/contrib/apr/build/NWGNUtail.inc
===================================================================
--- trunk/contrib/apr/build/NWGNUtail.inc	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/NWGNUtail.inc	2017-02-20 03:16:08 UTC (rev 9278)
@@ -114,9 +114,9 @@
 ifneq "$(strip $(VERSION_STR))" ""
 VERSION_INC = $(APRBUILD)/NWGNUversion.inc
 else
-VERSION		= 1,4,0
-VERSION_STR	= 1.4.0
-VERSION_MAJMIN	= 14
+VERSION		= 1,5,0
+VERSION_STR	= 1.5.0
+VERSION_MAJMIN	= 15
 endif
 endif
 endif

Index: trunk/contrib/apr/build/PrintPath
===================================================================
--- trunk/contrib/apr/build/PrintPath	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/PrintPath	2017-02-20 03:16:08 UTC (rev 9278)

Property changes on: trunk/contrib/apr/build/PrintPath
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Modified: trunk/contrib/apr/build/apr_common.m4
===================================================================
--- trunk/contrib/apr/build/apr_common.m4	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/apr_common.m4	2017-02-20 03:16:08 UTC (rev 9278)
@@ -468,9 +468,14 @@
 AC_CACHE_VAL(AC_CV_NAME,
 [AC_TRY_RUN([#include <stdio.h>
 $1
+#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($2));
   exit(0);

Modified: trunk/contrib/apr/build/apr_hints.m4
===================================================================
--- trunk/contrib/apr/build/apr_hints.m4	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/apr_hints.m4	2017-02-20 03:16:08 UTC (rev 9278)
@@ -44,8 +44,7 @@
 
   case "$host" in
     *mint)
-	APR_ADDTO(CPPFLAGS, [-DMINT])
-	APR_ADDTO(LIBS, [-lportlib])
+	APR_ADDTO(CPPFLAGS, [-DMINT -D_GNU_SOURCE])
 	;;
     *MPE/iX*)
 	APR_ADDTO(CPPFLAGS, [-DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE])
@@ -184,7 +183,7 @@
 	APR_ADDTO(CPPFLAGS, [-DRHAPSODY])
 	;;
     *-apple-darwin*)
-        APR_ADDTO(CPPFLAGS, [-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp])
+        APR_ADDTO(CPPFLAGS, [-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK])
         APR_SETIFNULL(apr_posixsem_is_global, [yes])
         case $host in
             *-apple-darwin[[1-9]].*)
@@ -430,10 +429,8 @@
         APR_SETIFNULL(apr_gethostbyaddr_is_thread_safe, [yes])
         APR_SETIFNULL(apr_getservbyname_is_thread_safe, [yes])
         ;;
-    *cygwin*)
-	APR_ADDTO(CPPFLAGS, [-DCYGWIN])
-	;;
     *mingw*)
+        APR_ADDTO(INTERNAL_CPPFLAGS, -DBINPATH=$apr_builddir/test/.libs)
         APR_ADDTO(CPPFLAGS, [-DWIN32 -D__MSVCRT__])
         APR_ADDTO(LDFLAGS, [-Wl,--enable-auto-import,--subsystem,console])
         APR_SETIFNULL(have_unicode_fs, [1])

Modified: trunk/contrib/apr/build/apr_network.m4
===================================================================
--- trunk/contrib/apr/build/apr_network.m4	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/apr_network.m4	2017-02-20 03:16:08 UTC (rev 9278)
@@ -64,7 +64,7 @@
 #include <sys/socket.h>
 #endif
 
-void main(void) {
+int main(void) {
     struct addrinfo hints, *ai;
     int error;
 
@@ -152,7 +152,7 @@
 #include <netinet/in.h>
 #endif
 
-void main(void) {
+int main(void) {
     struct sockaddr_in sa;
     char hbuf[256];
     int error;
@@ -195,7 +195,7 @@
 #include <netdb.h>
 #endif
 
-void main(void) {
+int main(void) {
     if (EAI_ADDRFAMILY < 0) {
         exit(0);
     }
@@ -570,6 +570,9 @@
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
 #ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
 #endif
@@ -590,6 +593,8 @@
     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) {

Modified: trunk/contrib/apr/build/apr_rules.mk.in
===================================================================
--- trunk/contrib/apr/build/apr_rules.mk.in	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/apr_rules.mk.in	2017-02-20 03:16:08 UTC (rev 9278)
@@ -56,6 +56,10 @@
 EXTRA_LIBS=@EXTRA_LIBS@
 EXTRA_INCLUDES=@EXTRA_INCLUDES@
 
+# CPPFLAGS which are used only while building APR itself
+#
+INTERNAL_CPPFLAGS=@INTERNAL_CPPFLAGS@
+
 # NOTEST_* are flags and libraries that can be added by the user without
 # causing them to be used in configure tests (necessary for things like
 # -Werror and other strict warnings that maintainers like to use).
@@ -71,7 +75,7 @@
 # left-to-right precedence and CPPFLAGS may include user-defined overrides.
 #
 ALL_CFLAGS   = $(EXTRA_CFLAGS) $(NOTEST_CFLAGS) $(CFLAGS)
-ALL_CPPFLAGS = $(DEFS) $(EXTRA_CPPFLAGS) $(NOTEST_CPPFLAGS) $(CPPFLAGS)
+ALL_CPPFLAGS = $(DEFS) $(INTERNAL_CPPFLAGS) $(EXTRA_CPPFLAGS) $(NOTEST_CPPFLAGS) $(CPPFLAGS)
 ALL_LDFLAGS  = $(EXTRA_LDFLAGS) $(NOTEST_LDFLAGS) $(LDFLAGS)
 ALL_LIBS     = $(LIBS) $(NOTEST_LIBS) $(EXTRA_LIBS)
 ALL_INCLUDES = $(INCLUDES) $(EXTRA_INCLUDES)

Modified: trunk/contrib/apr/build/aprapp.dep
===================================================================
--- trunk/contrib/apr/build/aprapp.dep	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/aprapp.dep	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,10 +1,32 @@
-# Microsoft Developer Studio Generated Dependency File, included by aprapp.mak
-
-..\misc\win32\apr_app.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"\
-	
+# Microsoft Developer Studio Generated Dependency File, included by aprapp.mak
+
+..\misc\win32\apr_app.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"\
+	

Modified: trunk/contrib/apr/build/aprapp.mak
===================================================================
--- trunk/contrib/apr/build/aprapp.mak	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/aprapp.mak	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,614 +1,614 @@
-# Microsoft Developer Studio Generated NMAKE File, Based on aprapp.dsp
-!IF "$(CFG)" == ""
-CFG=aprapp - Win32 Release
-!MESSAGE No configuration specified. Defaulting to aprapp - Win32 Release.
-!ENDIF 
-
-!IF "$(CFG)" != "aprapp - Win32 Release" && "$(CFG)" != "aprapp - Win32 Debug" && "$(CFG)" != "aprapp - Win32 Release9x" && "$(CFG)" != "aprapp - Win32 Debug9x" && "$(CFG)" != "aprapp - x64 Release" && "$(CFG)" != "aprapp - 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 "aprapp.mak" CFG="aprapp - Win32 Release"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "aprapp - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "aprapp - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE "aprapp - Win32 Release9x" (based on "Win32 (x86) Static Library")
-!MESSAGE "aprapp - Win32 Debug9x" (based on "Win32 (x86) Static Library")
-!MESSAGE "aprapp - x64 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "aprapp - 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)" == "aprapp - Win32 Release"
-
-OUTDIR=.\..\LibR
-INTDIR=.\LibR
-# Begin Custom Macros
-OutDir=.\..\LibR
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\aprapp-1.lib"
-
-!ELSE 
-
-ALL : "preaprapp - Win32 Release" "$(OUTDIR)\aprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"preaprapp - Win32 ReleaseCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(OUTDIR)\aprapp-1.lib"
-	- at erase "..\LibR\aprapp-1.idb"
-	- at erase "..\LibR\aprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj"
-
-"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "aprapp - Win32 Debug"
-
-OUTDIR=.\..\LibD
-INTDIR=.\LibD
-# Begin Custom Macros
-OutDir=.\..\LibD
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\aprapp-1.lib"
-
-!ELSE 
-
-ALL : "preaprapp - Win32 Debug" "$(OUTDIR)\aprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"preaprapp - Win32 DebugCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(OUTDIR)\aprapp-1.lib"
-	- at erase "..\LibD\aprapp-1.idb"
-	- at erase "..\LibD\aprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj"
-
-"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "aprapp - Win32 Release9x"
-
-OUTDIR=.\..\9x\LibR
-INTDIR=.\9x\LibR
-# Begin Custom Macros
-OutDir=.\..\9x\LibR
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\aprapp-1.lib"
-
-!ELSE 
-
-ALL : "preaprapp - Win32 Release9x" "$(OUTDIR)\aprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"preaprapp - Win32 Release9xCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(OUTDIR)\aprapp-1.lib"
-	- at erase "..\9x\LibR\aprapp-1.idb"
-	- at erase "..\9x\LibR\aprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj"
-
-"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "aprapp - Win32 Debug9x"
-
-OUTDIR=.\..\9x\LibD
-INTDIR=.\9x\LibD
-# Begin Custom Macros
-OutDir=.\..\9x\LibD
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\aprapp-1.lib"
-
-!ELSE 
-
-ALL : "preaprapp - Win32 Debug9x" "$(OUTDIR)\aprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"preaprapp - Win32 Debug9xCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(OUTDIR)\aprapp-1.lib"
-	- at erase "..\9x\LibD\aprapp-1.idb"
-	- at erase "..\9x\LibD\aprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj"
-
-"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "aprapp - x64 Release"
-
-OUTDIR=.\..\x64\LibR
-INTDIR=.\x64\LibR
-# Begin Custom Macros
-OutDir=.\..\x64\LibR
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\aprapp-1.lib"
-
-!ELSE 
-
-ALL : "preaprapp - x64 Release" "$(OUTDIR)\aprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"preaprapp - x64 ReleaseCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(OUTDIR)\aprapp-1.lib"
-	- at erase "..\x64\LibR\aprapp-1.idb"
-	- at erase "..\x64\LibR\aprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj"
-
-"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "aprapp - x64 Debug"
-
-OUTDIR=.\..\x64\LibD
-INTDIR=.\x64\LibD
-# Begin Custom Macros
-OutDir=.\..\x64\LibD
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\aprapp-1.lib"
-
-!ELSE 
-
-ALL : "preaprapp - x64 Debug" "$(OUTDIR)\aprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"preaprapp - x64 DebugCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(OUTDIR)\aprapp-1.lib"
-	- at erase "..\x64\LibD\aprapp-1.idb"
-	- at erase "..\x64\LibD\aprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj"
-
-"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ENDIF 
-
-
-!IF "$(NO_EXTERNAL_DEPS)" != "1"
-!IF EXISTS("aprapp.dep")
-!INCLUDE "aprapp.dep"
-!ELSE 
-!MESSAGE Warning: cannot find "aprapp.dep"
-!ENDIF 
-!ENDIF 
-
-
-!IF "$(CFG)" == "aprapp - Win32 Release" || "$(CFG)" == "aprapp - Win32 Debug" || "$(CFG)" == "aprapp - Win32 Release9x" || "$(CFG)" == "aprapp - Win32 Debug9x" || "$(CFG)" == "aprapp - x64 Release" || "$(CFG)" == "aprapp - x64 Debug"
-
-!IF  "$(CFG)" == "aprapp - Win32 Release"
-
-"preaprapp - Win32 Release" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"preaprapp - Win32 ReleaseCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "aprapp - Win32 Debug"
-
-"preaprapp - Win32 Debug" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"preaprapp - Win32 DebugCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "aprapp - Win32 Release9x"
-
-"preaprapp - Win32 Release9x" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"preaprapp - Win32 Release9xCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "aprapp - Win32 Debug9x"
-
-"preaprapp - Win32 Debug9x" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"preaprapp - Win32 Debug9xCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "aprapp - x64 Release"
-
-"preaprapp - x64 Release" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"preaprapp - x64 ReleaseCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "aprapp - x64 Debug"
-
-"preaprapp - x64 Debug" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"preaprapp - x64 DebugCLEAN" : 
-   cd "."
-   cd "."
-
-!ENDIF 
-
-SOURCE=..\misc\win32\apr_app.c
-
-"$(INTDIR)\apr_app.obj" : $(SOURCE) "$(INTDIR)"
-	$(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-
-!ENDIF 
-
+# Microsoft Developer Studio Generated NMAKE File, Based on aprapp.dsp
+!IF "$(CFG)" == ""
+CFG=aprapp - Win32 Release
+!MESSAGE No configuration specified. Defaulting to aprapp - Win32 Release.
+!ENDIF 
+
+!IF "$(CFG)" != "aprapp - Win32 Release" && "$(CFG)" != "aprapp - Win32 Debug" && "$(CFG)" != "aprapp - Win32 Release9x" && "$(CFG)" != "aprapp - Win32 Debug9x" && "$(CFG)" != "aprapp - x64 Release" && "$(CFG)" != "aprapp - 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 "aprapp.mak" CFG="aprapp - Win32 Release"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "aprapp - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - Win32 Release9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - Win32 Debug9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - x64 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "aprapp - 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)" == "aprapp - Win32 Release"
+
+OUTDIR=.\..\LibR
+INTDIR=.\LibR
+# Begin Custom Macros
+OutDir=.\..\LibR
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE 
+
+ALL : "preaprapp - Win32 Release" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"preaprapp - Win32 ReleaseCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(OUTDIR)\aprapp-1.lib"
+	- at erase "..\LibR\aprapp-1.idb"
+	- at erase "..\LibR\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "aprapp - Win32 Debug"
+
+OUTDIR=.\..\LibD
+INTDIR=.\LibD
+# Begin Custom Macros
+OutDir=.\..\LibD
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE 
+
+ALL : "preaprapp - Win32 Debug" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"preaprapp - Win32 DebugCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(OUTDIR)\aprapp-1.lib"
+	- at erase "..\LibD\aprapp-1.idb"
+	- at erase "..\LibD\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "aprapp - Win32 Release9x"
+
+OUTDIR=.\..\9x\LibR
+INTDIR=.\9x\LibR
+# Begin Custom Macros
+OutDir=.\..\9x\LibR
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE 
+
+ALL : "preaprapp - Win32 Release9x" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"preaprapp - Win32 Release9xCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(OUTDIR)\aprapp-1.lib"
+	- at erase "..\9x\LibR\aprapp-1.idb"
+	- at erase "..\9x\LibR\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "aprapp - Win32 Debug9x"
+
+OUTDIR=.\..\9x\LibD
+INTDIR=.\9x\LibD
+# Begin Custom Macros
+OutDir=.\..\9x\LibD
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE 
+
+ALL : "preaprapp - Win32 Debug9x" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"preaprapp - Win32 Debug9xCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(OUTDIR)\aprapp-1.lib"
+	- at erase "..\9x\LibD\aprapp-1.idb"
+	- at erase "..\9x\LibD\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "aprapp - x64 Release"
+
+OUTDIR=.\..\x64\LibR
+INTDIR=.\x64\LibR
+# Begin Custom Macros
+OutDir=.\..\x64\LibR
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE 
+
+ALL : "preaprapp - x64 Release" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"preaprapp - x64 ReleaseCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(OUTDIR)\aprapp-1.lib"
+	- at erase "..\x64\LibR\aprapp-1.idb"
+	- at erase "..\x64\LibR\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "aprapp - x64 Debug"
+
+OUTDIR=.\..\x64\LibD
+INTDIR=.\x64\LibD
+# Begin Custom Macros
+OutDir=.\..\x64\LibD
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\aprapp-1.lib"
+
+!ELSE 
+
+ALL : "preaprapp - x64 Debug" "$(OUTDIR)\aprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"preaprapp - x64 DebugCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(OUTDIR)\aprapp-1.lib"
+	- at erase "..\x64\LibD\aprapp-1.idb"
+	- at erase "..\x64\LibD\aprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /D "APR_DECLARE_STATIC" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\aprapp-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)\aprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\aprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj"
+
+"$(OUTDIR)\aprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ENDIF 
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("aprapp.dep")
+!INCLUDE "aprapp.dep"
+!ELSE 
+!MESSAGE Warning: cannot find "aprapp.dep"
+!ENDIF 
+!ENDIF 
+
+
+!IF "$(CFG)" == "aprapp - Win32 Release" || "$(CFG)" == "aprapp - Win32 Debug" || "$(CFG)" == "aprapp - Win32 Release9x" || "$(CFG)" == "aprapp - Win32 Debug9x" || "$(CFG)" == "aprapp - x64 Release" || "$(CFG)" == "aprapp - x64 Debug"
+
+!IF  "$(CFG)" == "aprapp - Win32 Release"
+
+"preaprapp - Win32 Release" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"preaprapp - Win32 ReleaseCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "aprapp - Win32 Debug"
+
+"preaprapp - Win32 Debug" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"preaprapp - Win32 DebugCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "aprapp - Win32 Release9x"
+
+"preaprapp - Win32 Release9x" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"preaprapp - Win32 Release9xCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "aprapp - Win32 Debug9x"
+
+"preaprapp - Win32 Debug9x" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"preaprapp - Win32 Debug9xCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "aprapp - x64 Release"
+
+"preaprapp - x64 Release" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"preaprapp - x64 ReleaseCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "aprapp - x64 Debug"
+
+"preaprapp - x64 Debug" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"preaprapp - x64 DebugCLEAN" : 
+   cd "."
+   cd "."
+
+!ENDIF 
+
+SOURCE=..\misc\win32\apr_app.c
+
+"$(INTDIR)\apr_app.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+
+!ENDIF 
+

Index: trunk/contrib/apr/build/buildcheck.sh
===================================================================
--- trunk/contrib/apr/build/buildcheck.sh	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/buildcheck.sh	2017-02-20 03:16:08 UTC (rev 9278)

Property changes on: trunk/contrib/apr/build/buildcheck.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Modified: trunk/contrib/apr/build/config.guess
===================================================================
--- trunk/contrib/apr/build/config.guess	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/config.guess	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2013-04-24'
+timestamp='2014-03-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -132,6 +132,27 @@
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	LIBC=gnu
+
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#else
+	LIBC=gnu
+	#endif
+	EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+	;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -805,7 +826,7 @@
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
-    i*:MSYS*:*)
+    *:MSYS*:*)
 	echo ${UNAME_MACHINE}-pc-msys
 	exit ;;
     i*:windows32*:*)
@@ -853,21 +874,21 @@
 	exit ;;
     *:GNU:*:*)
 	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -880,11 +901,11 @@
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arm*:Linux:*:*)
 	eval $set_cc_for_build
@@ -891,56 +912,43 @@
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_EABI__
 	then
-	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
 	    else
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
 	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:Linux:*:*)
-	LIBC=gnu
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-	#else
-	#include <features.h>
-	#ifdef __UCLIBC__
-	LIBC=uclibc
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
 	eval $set_cc_for_build
@@ -959,59 +967,63 @@
 	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
-    or1k:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-${LIBC}
 	exit ;;
-    or32:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+    or32:Linux:*:* | or1k*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-gnu
+	echo sparc-unknown-linux-${LIBC}
 	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
+	echo hppa64-unknown-linux-${LIBC}
 	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
 	esac
 	exit ;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
+	echo powerpc64-unknown-linux-${LIBC}
 	exit ;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
+	echo powerpc-unknown-linux-${LIBC}
 	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-${LIBC}
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-${LIBC}
+	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
+	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
     sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	LIBC=gnu
-	test -r /lib/libc.so && od -An -S13 /lib/libc.so | grep -q __uClibc_main && LIBC=uclibc
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1244,19 +1256,31 @@
 	exit ;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    i386)
-		eval $set_cc_for_build
-		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		      grep IS_64BIT_ARCH >/dev/null
-		  then
-		      UNAME_PROCESSOR="x86_64"
-		  fi
-		fi ;;
-	    unknown) UNAME_PROCESSOR=powerpc ;;
-	esac
+	eval $set_cc_for_build
+	if test "$UNAME_PROCESSOR" = unknown ; then
+	    UNAME_PROCESSOR=powerpc
+	fi
+	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
+	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    grep IS_64BIT_ARCH >/dev/null
+		then
+		    case $UNAME_PROCESSOR in
+			i386) UNAME_PROCESSOR=x86_64 ;;
+			powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		    esac
+		fi
+	    fi
+	elif test "$UNAME_PROCESSOR" = i386 ; then
+	    # Avoid executing cc on OS X 10.9, as it ships with a stub
+	    # that puts up a graphical alert prompting to install
+	    # developer tools.  Any system running Mac OS X 10.7 or
+	    # later (Darwin 11 and later) is required to have a 64-bit
+	    # processor. This is not true of the ARM version of Darwin
+	    # that Apple uses in portable devices.
+	    UNAME_PROCESSOR=x86_64
+	fi
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1347,154 +1371,6 @@
 	exit ;;
 esac
 
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-	"4"
-#else
-	""
-#endif
-	); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-	{ echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    c34*)
-	echo c34-convex-bsd
-	exit ;;
-    c38*)
-	echo c38-convex-bsd
-	exit ;;
-    c4*)
-	echo c4-convex-bsd
-	exit ;;
-    esac
-fi
-
 cat >&2 <<EOF
 $0: unable to guess system type
 


Property changes on: trunk/contrib/apr/build/config.guess
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Modified: trunk/contrib/apr/build/config.sub
===================================================================
--- trunk/contrib/apr/build/config.sub	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/config.sub	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2013 Free Software Foundation, Inc.
+#   Copyright 1992-2014 Free Software Foundation, Inc.
 
-timestamp='2013-04-24'
+timestamp='2014-09-11'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2013 Free Software Foundation, Inc.
+Copyright 1992-2014 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -257,7 +257,7 @@
 	| avr | avr32 \
 	| be32 | be64 \
 	| bfin \
-	| c4x | clipper \
+	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| epiphany \
 	| fido | fr30 | frv \
@@ -265,6 +265,7 @@
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
+	| k1om \
 	| le32 | le64 \
 	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -282,8 +283,10 @@
 	| mips64vr5900 | mips64vr5900el \
 	| mipsisa32 | mipsisa32el \
 	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa32r6 | mipsisa32r6el \
 	| mipsisa64 | mipsisa64el \
 	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64r6 | mipsisa64r6el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
 	| mipsr5900 | mipsr5900el \
@@ -295,11 +298,11 @@
 	| nds32 | nds32le | nds32be \
 	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
-	| open8 \
-	| or1k | or32 \
+	| open8 | or1k | or1knd | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
+	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
@@ -324,7 +327,7 @@
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
 		;;
@@ -372,7 +375,7 @@
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| clipper-* | craynv-* | cydra-* \
+	| c8051-* | clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -381,6 +384,7 @@
 	| hexagon-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
+	| k1om-* \
 	| le32-* | le64-* \
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
@@ -400,8 +404,10 @@
 	| mips64vr5900-* | mips64vr5900el-* \
 	| mipsisa32-* | mipsisa32el-* \
 	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa32r6-* | mipsisa32r6el-* \
 	| mipsisa64-* | mipsisa64el-* \
 	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64r6-* | mipsisa64r6el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
 	| mipsr5900-* | mipsr5900el-* \
@@ -413,6 +419,7 @@
 	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
+	| or1k*-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -794,7 +801,7 @@
 		os=-mingw64
 		;;
 	mingw32)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-mingw32
 		;;
 	mingw32ce)
@@ -822,6 +829,10 @@
 		basic_machine=powerpc-unknown
 		os=-morphos
 		;;
+	moxiebox)
+		basic_machine=moxie-unknown
+		os=-moxiebox
+		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -830,7 +841,7 @@
 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
 		;;
 	msys)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-msys
 		;;
 	mvs)
@@ -1367,7 +1378,7 @@
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
 	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
@@ -1374,7 +1385,7 @@
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1546,6 +1557,9 @@
 	c4x-* | tic4x-*)
 		os=-coff
 		;;
+	c8051-*)
+		os=-elf
+		;;
 	hexagon-*)
 		os=-elf
 		;;
@@ -1589,9 +1603,6 @@
 	mips*-*)
 		os=-elf
 		;;
-	or1k-*)
-		os=-elf
-		;;
 	or32-*)
 		os=-coff
 		;;


Property changes on: trunk/contrib/apr/build/config.sub
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: trunk/contrib/apr/build/gen-build.py
===================================================================
--- trunk/contrib/apr/build/gen-build.py	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/gen-build.py	2017-02-20 03:16:08 UTC (rev 9278)

Property changes on: trunk/contrib/apr/build/gen-build.py
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: trunk/contrib/apr/build/get-version.sh
===================================================================
--- trunk/contrib/apr/build/get-version.sh	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/get-version.sh	2017-02-20 03:16:08 UTC (rev 9278)

Property changes on: trunk/contrib/apr/build/get-version.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: trunk/contrib/apr/build/install.sh
===================================================================
--- trunk/contrib/apr/build/install.sh	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/install.sh	2017-02-20 03:16:08 UTC (rev 9278)

Property changes on: trunk/contrib/apr/build/install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Modified: trunk/contrib/apr/build/jlibtool.c
===================================================================
--- trunk/contrib/apr/build/jlibtool.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/jlibtool.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1448,9 +1448,9 @@
         newarg = (char *)malloc(strlen(arg) + 5);
         strcpy(newarg, arg);
 #ifdef EXE_EXT
-	if (!ext) {
-        strcat(newarg, EXE_EXT);
-	}
+        if (!ext) {
+            strcat(newarg, EXE_EXT);
+        }
 #endif
         cmd_data->output_name = newarg;
         return 1;

Modified: trunk/contrib/apr/build/libaprapp.dep
===================================================================
--- trunk/contrib/apr/build/libaprapp.dep	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/libaprapp.dep	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,19 +1,63 @@
-# Microsoft Developer Studio Generated Dependency File, included by libaprapp.mak
-
-..\misc\win32\apr_app.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\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"\
-	
+# Microsoft Developer Studio Generated Dependency File, included by libaprapp.mak
+
+..\misc\win32\apr_app.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\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"\
+	

Modified: trunk/contrib/apr/build/libaprapp.mak
===================================================================
--- trunk/contrib/apr/build/libaprapp.mak	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/libaprapp.mak	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,632 +1,632 @@
-# Microsoft Developer Studio Generated NMAKE File, Based on libaprapp.dsp
-!IF "$(CFG)" == ""
-CFG=libaprapp - Win32 Release
-!MESSAGE No configuration specified. Defaulting to libaprapp - Win32 Release.
-!ENDIF 
-
-!IF "$(CFG)" != "libaprapp - Win32 Release" && "$(CFG)" != "libaprapp - Win32 Debug" && "$(CFG)" != "libaprapp - Win32 Release9x" && "$(CFG)" != "libaprapp - Win32 Debug9x" && "$(CFG)" != "libaprapp - x64 Release" && "$(CFG)" != "libaprapp - 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 "libaprapp.mak" CFG="libaprapp - Win32 Release"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "libaprapp - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "libaprapp - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE "libaprapp - Win32 Release9x" (based on "Win32 (x86) Static Library")
-!MESSAGE "libaprapp - Win32 Debug9x" (based on "Win32 (x86) Static Library")
-!MESSAGE "libaprapp - x64 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "libaprapp - 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)" == "libaprapp - Win32 Release"
-
-OUTDIR=.\..\Release
-INTDIR=.\Release
-# Begin Custom Macros
-OutDir=.\..\Release
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\libaprapp-1.lib"
-
-!ELSE 
-
-ALL : "prelibaprapp - Win32 Release" "$(OUTDIR)\libaprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"prelibaprapp - Win32 ReleaseCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(OUTDIR)\libaprapp-1.lib"
-	- at erase "..\Release\libaprapp-1.idb"
-	- at erase "..\Release\libaprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj" \
-	"$(INTDIR)\internal.obj"
-
-"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "libaprapp - Win32 Debug"
-
-OUTDIR=.\..\Debug
-INTDIR=.\Debug
-# Begin Custom Macros
-OutDir=.\..\Debug
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\libaprapp-1.lib"
-
-!ELSE 
-
-ALL : "prelibaprapp - Win32 Debug" "$(OUTDIR)\libaprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"prelibaprapp - Win32 DebugCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(OUTDIR)\libaprapp-1.lib"
-	- at erase "..\Debug\libaprapp-1.idb"
-	- at erase "..\Debug\libaprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj" \
-	"$(INTDIR)\internal.obj"
-
-"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "libaprapp - Win32 Release9x"
-
-OUTDIR=.\..\9x\Release
-INTDIR=.\9x\Release
-# Begin Custom Macros
-OutDir=.\..\9x\Release
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\libaprapp-1.lib"
-
-!ELSE 
-
-ALL : "prelibaprapp - Win32 Release9x" "$(OUTDIR)\libaprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"prelibaprapp - Win32 Release9xCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(OUTDIR)\libaprapp-1.lib"
-	- at erase "..\9x\Release\libaprapp-1.idb"
-	- at erase "..\9x\Release\libaprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj" \
-	"$(INTDIR)\internal.obj"
-
-"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "libaprapp - Win32 Debug9x"
-
-OUTDIR=.\..\9x\Debug
-INTDIR=.\9x\Debug
-# Begin Custom Macros
-OutDir=.\..\9x\Debug
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\libaprapp-1.lib"
-
-!ELSE 
-
-ALL : "prelibaprapp - Win32 Debug9x" "$(OUTDIR)\libaprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"prelibaprapp - Win32 Debug9xCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(OUTDIR)\libaprapp-1.lib"
-	- at erase "..\9x\Debug\libaprapp-1.idb"
-	- at erase "..\9x\Debug\libaprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj" \
-	"$(INTDIR)\internal.obj"
-
-"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "libaprapp - x64 Release"
-
-OUTDIR=.\..\x64\Release
-INTDIR=.\x64\Release
-# Begin Custom Macros
-OutDir=.\..\x64\Release
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\libaprapp-1.lib"
-
-!ELSE 
-
-ALL : "prelibaprapp - x64 Release" "$(OUTDIR)\libaprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"prelibaprapp - x64 ReleaseCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(OUTDIR)\libaprapp-1.lib"
-	- at erase "..\x64\Release\libaprapp-1.idb"
-	- at erase "..\x64\Release\libaprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj" \
-	"$(INTDIR)\internal.obj"
-
-"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ELSEIF  "$(CFG)" == "libaprapp - x64 Debug"
-
-OUTDIR=.\..\x64\Debug
-INTDIR=.\x64\Debug
-# Begin Custom Macros
-OutDir=.\..\x64\Debug
-# End Custom Macros
-
-!IF "$(RECURSE)" == "0" 
-
-ALL : "$(OUTDIR)\libaprapp-1.lib"
-
-!ELSE 
-
-ALL : "prelibaprapp - x64 Debug" "$(OUTDIR)\libaprapp-1.lib"
-
-!ENDIF 
-
-!IF "$(RECURSE)" == "1" 
-CLEAN :"prelibaprapp - x64 DebugCLEAN" 
-!ELSE 
-CLEAN :
-!ENDIF 
-	- at erase "$(INTDIR)\apr_app.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(OUTDIR)\libaprapp-1.lib"
-	- at erase "..\x64\Debug\libaprapp-1.idb"
-	- at erase "..\x64\Debug\libaprapp-1.pdb"
-
-"$(OUTDIR)" :
-    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
-"$(INTDIR)" :
-    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
-
-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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
-BSC32_SBRS= \
-	
-LIB32=link.exe -lib
-LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
-LIB32_OBJS= \
-	"$(INTDIR)\apr_app.obj" \
-	"$(INTDIR)\internal.obj"
-
-"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
-    $(LIB32) @<<
-  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
-<<
-
-!ENDIF 
-
-
-!IF "$(NO_EXTERNAL_DEPS)" != "1"
-!IF EXISTS("libaprapp.dep")
-!INCLUDE "libaprapp.dep"
-!ELSE 
-!MESSAGE Warning: cannot find "libaprapp.dep"
-!ENDIF 
-!ENDIF 
-
-
-!IF "$(CFG)" == "libaprapp - Win32 Release" || "$(CFG)" == "libaprapp - Win32 Debug" || "$(CFG)" == "libaprapp - Win32 Release9x" || "$(CFG)" == "libaprapp - Win32 Debug9x" || "$(CFG)" == "libaprapp - x64 Release" || "$(CFG)" == "libaprapp - x64 Debug"
-
-!IF  "$(CFG)" == "libaprapp - Win32 Release"
-
-"prelibaprapp - Win32 Release" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"prelibaprapp - Win32 ReleaseCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "libaprapp - Win32 Debug"
-
-"prelibaprapp - Win32 Debug" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"prelibaprapp - Win32 DebugCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "libaprapp - Win32 Release9x"
-
-"prelibaprapp - Win32 Release9x" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"prelibaprapp - Win32 Release9xCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "libaprapp - Win32 Debug9x"
-
-"prelibaprapp - Win32 Debug9x" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"prelibaprapp - Win32 Debug9xCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "libaprapp - x64 Release"
-
-"prelibaprapp - x64 Release" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"prelibaprapp - x64 ReleaseCLEAN" : 
-   cd "."
-   cd "."
-
-!ELSEIF  "$(CFG)" == "libaprapp - x64 Debug"
-
-"prelibaprapp - x64 Debug" : 
-   cd "."
-   NMAKE /nologo /f NUL
-   cd "."
-
-"prelibaprapp - x64 DebugCLEAN" : 
-   cd "."
-   cd "."
-
-!ENDIF 
-
-SOURCE=..\misc\win32\apr_app.c
-
-"$(INTDIR)\apr_app.obj" : $(SOURCE) "$(INTDIR)"
-	$(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-SOURCE=..\misc\win32\internal.c
-
-"$(INTDIR)\internal.obj" : $(SOURCE) "$(INTDIR)"
-	$(CPP) $(CPP_PROJ) $(SOURCE)
-
-
-
-!ENDIF 
-
+# Microsoft Developer Studio Generated NMAKE File, Based on libaprapp.dsp
+!IF "$(CFG)" == ""
+CFG=libaprapp - Win32 Release
+!MESSAGE No configuration specified. Defaulting to libaprapp - Win32 Release.
+!ENDIF 
+
+!IF "$(CFG)" != "libaprapp - Win32 Release" && "$(CFG)" != "libaprapp - Win32 Debug" && "$(CFG)" != "libaprapp - Win32 Release9x" && "$(CFG)" != "libaprapp - Win32 Debug9x" && "$(CFG)" != "libaprapp - x64 Release" && "$(CFG)" != "libaprapp - 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 "libaprapp.mak" CFG="libaprapp - Win32 Release"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "libaprapp - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - Win32 Release9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - Win32 Debug9x" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - x64 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "libaprapp - 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)" == "libaprapp - Win32 Release"
+
+OUTDIR=.\..\Release
+INTDIR=.\Release
+# Begin Custom Macros
+OutDir=.\..\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE 
+
+ALL : "prelibaprapp - Win32 Release" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"prelibaprapp - Win32 ReleaseCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(OUTDIR)\libaprapp-1.lib"
+	- at erase "..\Release\libaprapp-1.idb"
+	- at erase "..\Release\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj" \
+	"$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "libaprapp - Win32 Debug"
+
+OUTDIR=.\..\Debug
+INTDIR=.\Debug
+# Begin Custom Macros
+OutDir=.\..\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE 
+
+ALL : "prelibaprapp - Win32 Debug" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"prelibaprapp - Win32 DebugCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(OUTDIR)\libaprapp-1.lib"
+	- at erase "..\Debug\libaprapp-1.idb"
+	- at erase "..\Debug\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj" \
+	"$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "libaprapp - Win32 Release9x"
+
+OUTDIR=.\..\9x\Release
+INTDIR=.\9x\Release
+# Begin Custom Macros
+OutDir=.\..\9x\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE 
+
+ALL : "prelibaprapp - Win32 Release9x" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"prelibaprapp - Win32 Release9xCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(OUTDIR)\libaprapp-1.lib"
+	- at erase "..\9x\Release\libaprapp-1.idb"
+	- at erase "..\9x\Release\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj" \
+	"$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "libaprapp - Win32 Debug9x"
+
+OUTDIR=.\..\9x\Debug
+INTDIR=.\9x\Debug
+# Begin Custom Macros
+OutDir=.\..\9x\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE 
+
+ALL : "prelibaprapp - Win32 Debug9x" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"prelibaprapp - Win32 Debug9xCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(OUTDIR)\libaprapp-1.lib"
+	- at erase "..\9x\Debug\libaprapp-1.idb"
+	- at erase "..\9x\Debug\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj" \
+	"$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "libaprapp - x64 Release"
+
+OUTDIR=.\..\x64\Release
+INTDIR=.\x64\Release
+# Begin Custom Macros
+OutDir=.\..\x64\Release
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE 
+
+ALL : "prelibaprapp - x64 Release" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"prelibaprapp - x64 ReleaseCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(OUTDIR)\libaprapp-1.lib"
+	- at erase "..\x64\Release\libaprapp-1.idb"
+	- at erase "..\x64\Release\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj" \
+	"$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF  "$(CFG)" == "libaprapp - x64 Debug"
+
+OUTDIR=.\..\x64\Debug
+INTDIR=.\x64\Debug
+# Begin Custom Macros
+OutDir=.\..\x64\Debug
+# End Custom Macros
+
+!IF "$(RECURSE)" == "0" 
+
+ALL : "$(OUTDIR)\libaprapp-1.lib"
+
+!ELSE 
+
+ALL : "prelibaprapp - x64 Debug" "$(OUTDIR)\libaprapp-1.lib"
+
+!ENDIF 
+
+!IF "$(RECURSE)" == "1" 
+CLEAN :"prelibaprapp - x64 DebugCLEAN" 
+!ELSE 
+CLEAN :
+!ENDIF 
+	- at erase "$(INTDIR)\apr_app.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(OUTDIR)\libaprapp-1.lib"
+	- at erase "..\x64\Debug\libaprapp-1.idb"
+	- at erase "..\x64\Debug\libaprapp-1.pdb"
+
+"$(OUTDIR)" :
+    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+"$(INTDIR)" :
+    if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+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 "WINNT" /D "WIN32" /D "_WINDOWS" /D "APR_APP" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\libaprapp-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)\libaprapp.bsc" 
+BSC32_SBRS= \
+	
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libaprapp-1.lib" 
+LIB32_OBJS= \
+	"$(INTDIR)\apr_app.obj" \
+	"$(INTDIR)\internal.obj"
+
+"$(OUTDIR)\libaprapp-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+    $(LIB32) @<<
+  $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ENDIF 
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("libaprapp.dep")
+!INCLUDE "libaprapp.dep"
+!ELSE 
+!MESSAGE Warning: cannot find "libaprapp.dep"
+!ENDIF 
+!ENDIF 
+
+
+!IF "$(CFG)" == "libaprapp - Win32 Release" || "$(CFG)" == "libaprapp - Win32 Debug" || "$(CFG)" == "libaprapp - Win32 Release9x" || "$(CFG)" == "libaprapp - Win32 Debug9x" || "$(CFG)" == "libaprapp - x64 Release" || "$(CFG)" == "libaprapp - x64 Debug"
+
+!IF  "$(CFG)" == "libaprapp - Win32 Release"
+
+"prelibaprapp - Win32 Release" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"prelibaprapp - Win32 ReleaseCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "libaprapp - Win32 Debug"
+
+"prelibaprapp - Win32 Debug" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"prelibaprapp - Win32 DebugCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "libaprapp - Win32 Release9x"
+
+"prelibaprapp - Win32 Release9x" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"prelibaprapp - Win32 Release9xCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "libaprapp - Win32 Debug9x"
+
+"prelibaprapp - Win32 Debug9x" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"prelibaprapp - Win32 Debug9xCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "libaprapp - x64 Release"
+
+"prelibaprapp - x64 Release" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"prelibaprapp - x64 ReleaseCLEAN" : 
+   cd "."
+   cd "."
+
+!ELSEIF  "$(CFG)" == "libaprapp - x64 Debug"
+
+"prelibaprapp - x64 Debug" : 
+   cd "."
+   NMAKE /nologo /f NUL
+   cd "."
+
+"prelibaprapp - x64 DebugCLEAN" : 
+   cd "."
+   cd "."
+
+!ENDIF 
+
+SOURCE=..\misc\win32\apr_app.c
+
+"$(INTDIR)\apr_app.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+SOURCE=..\misc\win32\internal.c
+
+"$(INTDIR)\internal.obj" : $(SOURCE) "$(INTDIR)"
+	$(CPP) $(CPP_PROJ) $(SOURCE)
+
+
+
+!ENDIF 
+

Modified: trunk/contrib/apr/build/lineends.pl
===================================================================
--- trunk/contrib/apr/build/lineends.pl	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/lineends.pl	2017-02-20 03:16:08 UTC (rev 9278)
@@ -3,7 +3,7 @@
 #  Heuristically converts line endings to the current OS's preferred format
 #  
 #  All existing line endings must be identical (e.g. lf's only, or even
-#  the accedental cr.cr.lf sequence.)  If some lines end lf, and others as
+#  the accidental cr.cr.lf sequence.)  If some lines end lf, and others as
 #  cr.lf, the file is presumed binary.  If the cr character appears anywhere
 #  except prefixed to an lf, the file is presumed binary.  If there is no 
 #  change in the resulting file size, or the file is binary, the conversion 

Index: trunk/contrib/apr/build/mkdir.sh
===================================================================
--- trunk/contrib/apr/build/mkdir.sh	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/mkdir.sh	2017-02-20 03:16:08 UTC (rev 9278)

Property changes on: trunk/contrib/apr/build/mkdir.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Modified: trunk/contrib/apr/build/nw_export.inc
===================================================================
--- trunk/contrib/apr/build/nw_export.inc	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/nw_export.inc	2017-02-20 03:16:08 UTC (rev 9278)
@@ -15,6 +15,7 @@
 #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"
@@ -34,6 +35,7 @@
 #include "apr_random.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"

Copied: trunk/contrib/apr/build/nw_make_header.awk (from rev 9277, vendor/apache/apr/dist/build/nw_make_header.awk)
===================================================================
--- trunk/contrib/apr/build/nw_make_header.awk	                        (rev 0)
+++ trunk/contrib/apr/build/nw_make_header.awk	2017-02-20 03:16:08 UTC (rev 9278)
@@ -0,0 +1,27 @@
+# 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.
+#
+# Based on apr's make_export.awk, which is
+# based on Ryan Bloom's make_export.pl
+#
+
+/^\#define APR_HAS_LDAP / {
+    sub($3, WITH_LDAP ,$0)
+}
+
+{
+    print
+}
+

Modified: trunk/contrib/apr/build/rpm/apr.spec.in
===================================================================
--- trunk/contrib/apr/build/rpm/apr.spec.in	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/rpm/apr.spec.in	2017-02-20 03:16:08 UTC (rev 9278)
@@ -76,7 +76,7 @@
 %defattr(-,root,root,-)
 %doc docs/APRDesign.html docs/canonical_filenames.html
 %doc docs/incomplete_types docs/non_apr_programs
-%doc --parents html
+%doc html
 %{_bindir}/apr*config
 %{_libdir}/libapr-%{aprver}.*a
 %{_libdir}/libapr-%{aprver}.so

Index: trunk/contrib/apr/build/run-gcov.sh
===================================================================
--- trunk/contrib/apr/build/run-gcov.sh	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build/run-gcov.sh	2017-02-20 03:16:08 UTC (rev 9278)

Property changes on: trunk/contrib/apr/build/run-gcov.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Modified: trunk/contrib/apr/build-outputs.mk
===================================================================
--- trunk/contrib/apr/build-outputs.mk	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build-outputs.mk	2017-02-20 03:16:08 UTC (rev 9278)
@@ -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_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/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 @@
 
 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
 
@@ -248,7 +251,7 @@
 file_io/win32/filesys.lo: file_io/win32/filesys.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
 file_io/win32/flock.lo: file_io/win32/flock.c .make.dirs 
 file_io/win32/open.lo: file_io/win32/open.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
-file_io/win32/pipe.lo: file_io/win32/pipe.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_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
+file_io/win32/pipe.lo: file_io/win32/pipe.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_escape.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
 file_io/win32/readwrite.lo: file_io/win32/readwrite.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_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
 file_io/win32/seek.lo: file_io/win32/seek.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_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
 
@@ -308,11 +311,11 @@
 
 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

Modified: trunk/contrib/apr/build.conf
===================================================================
--- trunk/contrib/apr/build.conf	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/build.conf	2017-02-20 03:16:08 UTC (rev 9278)
@@ -6,6 +6,7 @@
 
 # paths to platform-independent .c files to build
 paths =
+  encoding/*.c
   passwd/*.c
   strings/*.c
   tables/*.c

Modified: trunk/contrib/apr/configure
===================================================================
--- trunk/contrib/apr/configure	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/configure	2017-02-20 03:16:08 UTC (rev 9278)
@@ -639,6 +639,7 @@
 OSDIR
 INCLUDES
 LDLIBS
+INTERNAL_CPPFLAGS
 NOTEST_INCLUDES
 NOTEST_LIBS
 NOTEST_LDFLAGS
@@ -919,6 +920,7 @@
 enable_nonportable_atomics
 enable_threads
 with_efence
+enable_posix_shm
 with_sendfile
 enable_allocator_uses_mmap
 enable_dso
@@ -1563,7 +1565,8 @@
   --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 @@
     *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 @@
     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*)
 
@@ -6820,10 +6802,10 @@
     *-apple-darwin*)
 
   if test "x$CPPFLAGS" = "x"; then
-    test "x$silent" != "xyes" && echo "  setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp\""
-    CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
+    test "x$silent" != "xyes" && echo "  setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK\""
+    CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
   else
-    apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
+    apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
     for i in $apr_addto_bugger; do
       apr_addto_duplicate="0"
       for j in $CPPFLAGS; do
@@ -9059,16 +9041,16 @@
   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
@@ -9075,14 +9057,12 @@
         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 @@
 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 @@
     *-solaris2*)
         apr_platform_runtime_link_flag="-R"
         ;;
+    *-mingw* | *-cygwin*)
+        LT_LDFLAGS="$LT_LDFLAGS -no-undefined"
+        ;;
     *)
         ;;
 esac
@@ -18314,6 +18297,53 @@
   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
@@ -18764,7 +18794,34 @@
 else
   case $host_cpu in
    i[456]86) force_generic_atomics=yes ;;
-   *) force_generic_atomics=no ;;
+   *) force_generic_atomics=no
+      case $host in
+         *solaris2.10*)
+            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <atomic.h>
+int
+main ()
+{
+void *ptr = NULL; atomic_cas_ptr(&ptr, NULL, NULL);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  force_generic_atomics=yes
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+            if test $force_generic_atomics = yes; then
+                { $as_echo "$as_me:${as_lineno-$LINENO}: nonportable atomic support disabled, system needs Patch-ID 118884 or 118885" >&5
+$as_echo "$as_me: nonportable atomic support disabled, system needs Patch-ID 118884 or 118885" >&6;}
+            fi
+            ;;
+      esac
+      ;;
 esac
 
 fi
@@ -18791,7 +18848,17 @@
         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 +20458,10 @@
 
 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 +20473,41 @@
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <unistd.h>
 #include <sys/types.h>
 #include <sys/socket.h>
-#include <sys/un.h>
 #include <sys/wait.h>
-#include <signal.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
 #include <errno.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
 
-#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;
+    if ((fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
+        return 1;
+    flags = fcntl(fd, F_GETFL);
+    if (flags == -1 || fcntl(fd, F_SETFL, flags|O_NONBLOCK) == -1)
+        return 5;
 
-        unlink(A4_SOCK);
+    memset(&sin, 0, sizeof sin);
+    sin.sin_family = AF_INET;
 
-        if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
-            goto cleanup_failure2;
+    if (bind(fd, (struct sockaddr *) &sin, sizeof sin) == -1)
+        return 2;
 
-        loc.sun_family = AF_UNIX;
-        strncpy(loc.sun_path, A4_SOCK, sizeof(loc.sun_path) - 1);
+    if (listen(fd, 5) == -1)
+        return 3;
 
-        if (bind(fd, (struct sockaddr *) &loc,
-                 sizeof(struct sockaddr_un)) == -1)
-            goto cleanup_failure;
+    if (accept4(fd, NULL, 0, SOCK_NONBLOCK) == 0
+        || errno == EAGAIN || errno == EWOULDBLOCK)
+        return 0;
 
-        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);
-        return 1;
-    }
-    else {
-        if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
-            return 1; /* this will be bad: we'll hang */
-
-        loc.sun_family = AF_UNIX;
-        strncpy(loc.sun_path, A4_SOCK, sizeof(loc.sun_path) - 1);
-
-        while(connect(fd, (struct sockaddr *) &loc,
-                      sizeof(struct sockaddr_un)) == -1 &&
-              (errno==ENOENT || errno==ECONNREFUSED))
-            ;
-
-        close(fd);
-        return 0;
-    }
+    return 4;
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
@@ -20582,6 +20618,49 @@
 
 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 <aio.h>
+
+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 +21293,9 @@
         # 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 +21601,28 @@
 
 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 +22028,9 @@
             ;;
         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
             ;;
@@ -22221,7 +22319,7 @@
 fi
 done
 
-for ac_func in getpass getpassphrase gmtime_r localtime_r mkstemp
+for ac_func in getpass getpassphrase gmtime_r localtime_r
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -22233,8 +22331,23 @@
 fi
 done
 
+case $host in
+    *-hp-hpux*)
+                ;;
+    *)
+        for ac_func in mkstemp
+do :
+  ac_fn_c_check_func "$LINENO" "mkstemp" "ac_cv_func_mkstemp"
+if test "x$ac_cv_func_mkstemp" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MKSTEMP 1
+_ACEOF
 
+fi
+done
 
+        ;;
+esac
 
 
 
@@ -22246,6 +22359,8 @@
 
 
 
+
+
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sigwait takes one argument" >&5
 $as_echo_n "checking whether sigwait takes one argument... " >&6; }
 if ${ac_cv_sigwait_one_arg+:} false; then :
@@ -23435,9 +23550,14 @@
 /* end confdefs.h.  */
 #include <stdio.h>
 #include <sys/types.h>
+#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 +23785,14 @@
 /* end confdefs.h.  */
 #include <stdio.h>
 #include <sys/types.h>
+#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 +23848,14 @@
 /* end confdefs.h.  */
 #include <stdio.h>
 #include <stddef.h>
+#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 +23911,14 @@
 /* end confdefs.h.  */
 #include <stdio.h>
 #include <sys/types.h>
+#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);
@@ -23811,7 +23946,7 @@
 if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
     # Enable LFS
     aprlfs=1
-    for ac_func in mmap64 sendfile64 sendfilev64 mkstemp64 readdir64_r
+    for ac_func in mmap64 sendfile64 sendfilev64 readdir64_r
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -23823,6 +23958,23 @@
 fi
 done
 
+    case $host in
+        *-hp-hpux*)
+                        ;;
+        *)
+            for ac_func in mkstemp64
+do :
+  ac_fn_c_check_func "$LINENO" "mkstemp64" "ac_cv_func_mkstemp64"
+if test "x$ac_cv_func_mkstemp64" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_MKSTEMP64 1
+_ACEOF
+
+fi
+done
+
+            ;;
+    esac
 elif test "${ac_cv_sizeof_off_t}" != "${ac_cv_sizeof_size_t}"; then
     # unsure of using -gt above is as portable, can can't forsee where
     # off_t can legitimately be smaller than size_t
@@ -23910,9 +24062,14 @@
 /* end confdefs.h.  */
 #include <stdio.h>
 $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 +24349,14 @@
 #include <stdio.h>
 #include <sys/types.h>
 #include <sys/uio.h>
+#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 +27290,9 @@
 #ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
 #ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
 #endif
@@ -27148,6 +27313,8 @@
     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 +27993,7 @@
 #include <sys/socket.h>
 #endif
 
-void main(void) {
+int main(void) {
     struct addrinfo hints, *ai;
     int error;
 
@@ -27889,7 +28056,7 @@
 #include <netdb.h>
 #endif
 
-void main(void) {
+int main(void) {
     if (EAI_ADDRFAMILY < 0) {
         exit(0);
     }
@@ -27950,7 +28117,7 @@
 #include <netinet/in.h>
 #endif
 
-void main(void) {
+int main(void) {
     struct sockaddr_in sa;
     char hbuf[256];
     int error;
@@ -28415,13 +28582,21 @@
 
 
 
-# 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
 
 


Property changes on: trunk/contrib/apr/configure
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Modified: trunk/contrib/apr/configure.in
===================================================================
--- trunk/contrib/apr/configure.in	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/configure.in	2017-02-20 03:16:08 UTC (rev 9278)
@@ -35,7 +35,7 @@
 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 @@
 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 @@
     *-solaris2*)
         apr_platform_runtime_link_flag="-R"
         ;;
+    *-mingw* | *-cygwin*)
+        LT_LDFLAGS="$LT_LDFLAGS -no-undefined"
+        ;;
     *)
         ;;
 esac
@@ -432,6 +435,18 @@
 	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],
@@ -625,7 +640,20 @@
 ],
 [case $host_cpu in
    i[[456]]86) force_generic_atomics=yes ;;
-   *) force_generic_atomics=no ;;
+   *) force_generic_atomics=no
+      case $host in
+         *solaris2.10*)
+            AC_TRY_COMPILE(
+                [#include <atomic.h>],
+                [void *ptr = NULL; atomic_cas_ptr(&ptr, NULL, NULL);],,
+                [force_generic_atomics=yes]
+            )
+            if test $force_generic_atomics = yes; then
+                AC_MSG_NOTICE([nonportable atomic support disabled, system needs Patch-ID 118884 or 118885])
+            fi
+            ;;
+      esac
+      ;;
 esac
 ])
 
@@ -649,7 +677,15 @@
         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 +908,47 @@
    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 <unistd.h>
 #include <sys/types.h>
 #include <sys/socket.h>
-#include <sys/un.h>
 #include <sys/wait.h>
-#include <signal.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
 #include <errno.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
 
-#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))
-            ;
+    if (accept4(fd, NULL, 0, SOCK_NONBLOCK) == 0
+        || errno == EAGAIN || errno == EWOULDBLOCK)
+        return 0;
 
-        close(fd);
-        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 +988,25 @@
    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 <aio.h>
+
+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 +1204,8 @@
         # 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 +1269,18 @@
 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 +1377,8 @@
             ;;
         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
             ;;
@@ -1382,7 +1413,15 @@
     mmap="1"
 fi
 AC_CHECK_FUNCS(memmove, [ have_memmove="1" ], [have_memmove="0" ])
-AC_CHECK_FUNCS([getpass getpassphrase gmtime_r localtime_r mkstemp])
+AC_CHECK_FUNCS([getpass getpassphrase gmtime_r localtime_r])
+case $host in
+    *-hp-hpux*)
+        dnl mkstemp is limited to 26 temporary files (a-z); use APR replacement
+        ;;
+    *)
+        AC_CHECK_FUNCS(mkstemp)
+        ;;
+esac
 
 AC_SUBST(fork)
 AC_SUBST(have_inet_addr)
@@ -1532,7 +1571,7 @@
 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,
@@ -1783,7 +1822,15 @@
 if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
     # Enable LFS
     aprlfs=1
-    AC_CHECK_FUNCS([mmap64 sendfile64 sendfilev64 mkstemp64 readdir64_r])
+    AC_CHECK_FUNCS([mmap64 sendfile64 sendfilev64 readdir64_r])
+    case $host in
+        *-hp-hpux*)
+            dnl mkstemp64 is limited to 26 temporary files (a-z); use APR replacement
+            ;;
+        *)
+            AC_CHECK_FUNCS(mkstemp64)
+            ;;
+    esac
 elif test "${ac_cv_sizeof_off_t}" != "${ac_cv_sizeof_size_t}"; then
     # unsure of using -gt above is as portable, can can't forsee where
     # off_t can legitimately be smaller than size_t
@@ -2726,6 +2773,7 @@
 
 dnl ----------------------------- Construct the files
 
+AC_SUBST(INTERNAL_CPPFLAGS)
 AC_SUBST(LDLIBS)
 AC_SUBST(INCLUDES)
 AC_SUBST(AR)
@@ -2735,13 +2783,20 @@
 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)
 

Modified: trunk/contrib/apr/docs/canonical_filenames.html
===================================================================
--- trunk/contrib/apr/docs/canonical_filenames.html	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/docs/canonical_filenames.html	2017-02-20 03:16:08 UTC (rev 9278)
@@ -104,9 +104,9 @@
 stat and case canonicalization calls to the OS.</p>
 
 <p>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.</p>
 
 <p>In any case, returning the char* path, with a flag to request the proper
@@ -153,4 +153,4 @@
 </pre>
 
 </BODY>
-</HTML>
\ No newline at end of file
+</HTML>

Modified: trunk/contrib/apr/docs/pool-design.html
===================================================================
--- trunk/contrib/apr/docs/pool-design.html	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/docs/pool-design.html	2017-02-20 03:16:08 UTC (rev 9278)
@@ -4,7 +4,7 @@
   </head>
   <body>
     <div align="right">
-      Last modified at [$Date: 2013-08-24 19:47:39 $]
+      Last modified at [$Date: 2004-11-24 17:51:51 -0500 (Wed, 24 Nov 2004) $]
     </div>
 
     <h1>Using APR Pools</h1>

Modified: trunk/contrib/apr/file_io/os2/filedup.c
===================================================================
--- trunk/contrib/apr/file_io/os2/filedup.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/os2/filedup.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -86,8 +86,7 @@
                                             apr_file_t *old_file,
                                             apr_pool_t *p)
 {
-    *new_file = (apr_file_t *)apr_palloc(p, sizeof(apr_file_t));
-    memcpy(*new_file, old_file, sizeof(apr_file_t));
+    *new_file = (apr_file_t *)apr_pmemdup(p, old_file, sizeof(apr_file_t));
     (*new_file)->pool = p;
 
     if (old_file->buffered) {

Modified: trunk/contrib/apr/file_io/os2/open.c
===================================================================
--- trunk/contrib/apr/file_io/os2/open.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/os2/open.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -38,6 +38,10 @@
     ULONG action;
     apr_file_t *dafile = (apr_file_t *)apr_palloc(pool, sizeof(apr_file_t));
 
+    if (flag & APR_FOPEN_NONBLOCK) {
+        return APR_ENOTIMPL;
+    }
+
     dafile->pool = pool;
     dafile->isopen = FALSE;
     dafile->eof_hit = FALSE;

Modified: trunk/contrib/apr/file_io/unix/filedup.c
===================================================================
--- trunk/contrib/apr/file_io/unix/filedup.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/unix/filedup.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -141,8 +141,7 @@
                                             apr_file_t *old_file,
                                             apr_pool_t *p)
 {
-    *new_file = (apr_file_t *)apr_palloc(p, sizeof(apr_file_t));
-    memcpy(*new_file, old_file, sizeof(apr_file_t));
+    *new_file = (apr_file_t *)apr_pmemdup(p, old_file, sizeof(apr_file_t));
     (*new_file)->pool = p;
     if (old_file->buffered) {
         (*new_file)->buffer = apr_palloc(p, old_file->bufsize);

Modified: trunk/contrib/apr/file_io/unix/filestat.c
===================================================================
--- trunk/contrib/apr/file_io/unix/filestat.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/unix/filestat.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -95,7 +95,7 @@
 #elif defined(HAVE_STRUCT_STAT_ST_ATIMENSEC)
     finfo->atime += info->st_atimensec / APR_TIME_C(1000);
 #elif defined(HAVE_STRUCT_STAT_ST_ATIME_N)
-    finfo->ctime += info->st_atime_n / APR_TIME_C(1000);
+    finfo->atime += info->st_atime_n / APR_TIME_C(1000);
 #endif
 
     apr_time_ansi_put(&finfo->mtime, info->st_mtime);
@@ -104,7 +104,7 @@
 #elif defined(HAVE_STRUCT_STAT_ST_MTIMENSEC)
     finfo->mtime += info->st_mtimensec / APR_TIME_C(1000);
 #elif defined(HAVE_STRUCT_STAT_ST_MTIME_N)
-    finfo->ctime += info->st_mtime_n / APR_TIME_C(1000);
+    finfo->mtime += info->st_mtime_n / APR_TIME_C(1000);
 #endif
 
     apr_time_ansi_put(&finfo->ctime, info->st_ctime);

Modified: trunk/contrib/apr/file_io/unix/mktemp.c
===================================================================
--- trunk/contrib/apr/file_io/unix/mktemp.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/unix/mktemp.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -74,7 +74,7 @@
 #if APR_HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif
-#if APR_HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
 #if APR_HAVE_FCNTL_H

Modified: trunk/contrib/apr/file_io/unix/open.c
===================================================================
--- trunk/contrib/apr/file_io/unix/open.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/unix/open.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -135,6 +135,14 @@
     }
 #endif
 
+    if (flag & APR_FOPEN_NONBLOCK) {
+#ifdef O_NONBLOCK
+        oflags |= O_NONBLOCK;
+#else
+        return APR_ENOTIMPL;
+#endif
+    }
+
 #ifdef O_CLOEXEC
     /* Introduced in Linux 2.6.23. Silently ignored on earlier Linux kernels.
      */

Modified: trunk/contrib/apr/file_io/unix/pipe.c
===================================================================
--- trunk/contrib/apr/file_io/unix/pipe.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/unix/pipe.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -25,8 +25,8 @@
  * but now fcntl does, hence we need to do this extra checking.
  * The joys of beta programs. :-)
  */
-#if BEOS
-#if !BONE7
+#if defined(BEOS)
+#if !defined(BONE7)
 # define BEOS_BLOCKING 1
 #else
 # define BEOS_BLOCKING 0
@@ -35,7 +35,7 @@
 
 static apr_status_t pipeblock(apr_file_t *thepipe)
 {
-#if !BEOS_BLOCKING
+#if !defined(BEOS) || !BEOS_BLOCKING
       int fd_flags;
 
       fd_flags = fcntl(thepipe->filedes, F_GETFL, 0);
@@ -71,7 +71,7 @@
 
 static apr_status_t pipenonblock(apr_file_t *thepipe)
 {
-#if !BEOS_BLOCKING
+#if !defined(BEOS) || !BEOS_BLOCKING
       int fd_flags = fcntl(thepipe->filedes, F_GETFL, 0);
 
 #  if defined(O_NONBLOCK)

Modified: trunk/contrib/apr/file_io/unix/readwrite.c
===================================================================
--- trunk/contrib/apr/file_io/unix/readwrite.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/unix/readwrite.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -21,7 +21,7 @@
 
 /* The only case where we don't use wait_for_io_or_timeout is on
  * pre-BONE BeOS, so this check should be sufficient and simpler */
-#if !BEOS_R5
+#if !defined(BEOS_R5)
 #define USE_WAIT_FOR_IO
 #endif
 

Modified: trunk/contrib/apr/file_io/win32/dir.c
===================================================================
--- trunk/contrib/apr/file_io/win32/dir.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/win32/dir.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -316,8 +316,8 @@
     if (APR_STATUS_IS_ENOENT(rv)) { /* Missing an intermediate dir */
         rv = dir_make_parent(path, perm, pool);
 
-        if (rv == APR_SUCCESS) {
-            rv = apr_dir_make (path, perm, pool); /* And complete the path */
+        if (rv == APR_SUCCESS || APR_STATUS_IS_EEXIST(rv)) {
+            rv = apr_dir_make(path, perm, pool); /* And complete the path */
         }
     }
 
@@ -330,29 +330,36 @@
                                                  apr_pool_t *pool)
 {
     apr_status_t rv = 0;
-    
+
     rv = apr_dir_make (path, perm, pool); /* Try to make PATH right out */
-    
+
     if (APR_STATUS_IS_ENOENT(rv)) { /* Missing an intermediate dir */
         char *dir;
-        
+
         rv = apr_filepath_merge(&dir, "", path, APR_FILEPATH_NATIVE, pool);
 
-        if (rv == APR_SUCCESS)
-            rv = dir_make_parent(dir, perm, pool); /* Make intermediate dirs */
-        
-        if (rv == APR_SUCCESS)
+        if (rv != APR_SUCCESS)
+            return rv;
+
+        rv = dir_make_parent(dir, perm, pool); /* Make intermediate dirs */
+
+        if (rv == APR_SUCCESS || APR_STATUS_IS_EEXIST(rv)) {
             rv = apr_dir_make (dir, perm, pool);   /* And complete the path */
+
+            if (APR_STATUS_IS_EEXIST(rv)) {
+                rv = APR_SUCCESS; /* Timing issue; see comment below */
+            }
+        }
     }
+    else if (APR_STATUS_IS_EEXIST(rv)) {
+        /*
+         * It's OK if PATH exists. Timing issues can lead to the
+         * second apr_dir_make being called on existing dir, therefore
+         * this check has to come last.
+         */
+        rv = APR_SUCCESS;
+    }
 
-    /*
-     * It's OK if PATH exists. Timing issues can lead to the second
-     * apr_dir_make being called on existing dir, therefore this check
-     * has to come last.
-     */
-    if (APR_STATUS_IS_EEXIST(rv))
-        return APR_SUCCESS;
-
     return rv;
 }
 

Modified: trunk/contrib/apr/file_io/win32/filedup.c
===================================================================
--- trunk/contrib/apr/file_io/win32/filedup.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/win32/filedup.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -57,10 +57,11 @@
     apr_pool_cleanup_register((*new_file)->pool, (void *)(*new_file), file_cleanup,
                         apr_pool_cleanup_null);
 
+#if APR_FILES_AS_SOCKETS
     /* Create a pollset with room for one descriptor. */
     /* ### check return codes */
     (void) apr_pollset_create(&(*new_file)->pollset, 1, p, 0);
-
+#endif
     return APR_SUCCESS;
 #endif /* !defined(_WIN32_WCE) */
 }
@@ -87,7 +88,9 @@
              */
             fflush(stderr);
             setvbuf(stderr, NULL, _IONBF, 0);
-            _commit(2 /* stderr */);
+            if (!_isatty(2)) {
+                _commit(2 /* stderr */);
+            }
 
             /* Clone a handle can _close() without harming the source handle,
              * open an MSVCRT-based pseudo-fd for the file handle, then dup2
@@ -117,7 +120,9 @@
             /* For the process flow see the stderr case above */
             fflush(stdout);
             setvbuf(stdout, NULL, _IONBF, 0);
-            _commit(1 /* stdout */);
+            if (!_isatty(1)) {
+                _commit(1 /* stdout */);
+            }
 
             if (!DuplicateHandle(hproc, old_file->filehand, hproc, &newhand,
                                  0, FALSE, DUPLICATE_SAME_ACCESS)) {
@@ -133,7 +138,6 @@
             /* For the process flow see the stderr case above */
             fflush(stdin);
             setvbuf(stdin, NULL, _IONBF, 0);
-            _commit(0 /* stdin */);
 
             if (!DuplicateHandle(hproc, old_file->filehand, hproc, &newhand,
                                  0, FALSE, DUPLICATE_SAME_ACCESS)) {
@@ -186,8 +190,7 @@
                                             apr_file_t *old_file,
                                             apr_pool_t *p)
 {
-    *new_file = (apr_file_t *)apr_palloc(p, sizeof(apr_file_t));
-    memcpy(*new_file, old_file, sizeof(apr_file_t));
+    *new_file = (apr_file_t *)apr_pmemdup(p, old_file, sizeof(apr_file_t));
     (*new_file)->pool = p;
     if (old_file->buffered) {
         (*new_file)->buffer = apr_palloc(p, old_file->bufsize);
@@ -217,9 +220,10 @@
     apr_pool_cleanup_kill(old_file->pool, (void *)old_file,
                           file_cleanup);
 
+#if APR_FILES_AS_SOCKETS
     /* Create a pollset with room for one descriptor. */
     /* ### check return codes */
     (void) apr_pollset_create(&(*new_file)->pollset, 1, p, 0);
-
+#endif
     return APR_SUCCESS;
 }

Modified: trunk/contrib/apr/file_io/win32/open.c
===================================================================
--- trunk/contrib/apr/file_io/win32/open.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/win32/open.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -26,7 +26,7 @@
 #endif
 #include <winbase.h>
 #include <string.h>
-#if APR_HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
 #include "apr_arch_misc.h"
@@ -55,7 +55,7 @@
     apr_status_t rv;
 
     /* This is correct, we don't twist the filename if it is will
-     * definately be shorter than 248 characters.  It merits some 
+     * definitely be shorter than 248 characters.  It merits some 
      * performance testing to see if this has any effect, but there
      * seem to be applications that get confused by the resulting
      * Unicode \\?\ style file names, especially if they use argv[0]
@@ -329,6 +329,9 @@
     DWORD sharemode = FILE_SHARE_READ | FILE_SHARE_WRITE;
     apr_status_t rv;
 
+    if (flag & APR_FOPEN_NONBLOCK) {
+        return APR_ENOTIMPL;
+    }
     if (flag & APR_FOPEN_READ) {
         oflags |= GENERIC_READ;
     }
@@ -475,10 +478,11 @@
         /* This feature is not supported on this platform. */
         (*new)->flags &= ~APR_FOPEN_SPARSE;
 
+#if APR_FILES_AS_SOCKETS
     /* Create a pollset with room for one descriptor. */
     /* ### check return codes */
     (void) apr_pollset_create(&(*new)->pollset, 1, pool, 0);
-
+#endif
     if (!(flag & APR_FOPEN_NOCLEANUP)) {
         apr_pool_cleanup_register((*new)->pool, (void *)(*new), file_cleanup,
                                   apr_pool_cleanup_null);
@@ -647,17 +651,15 @@
         rv = apr_thread_mutex_create(&(*file)->mutex, 
                                      APR_THREAD_MUTEX_DEFAULT, pool);
         if (rv) {
-            if (file_cleanup(*file) == APR_SUCCESS) {
-                apr_pool_cleanup_kill(pool, *file, file_cleanup);
-            }
             return rv;
         }
     }
 
+#if APR_FILES_AS_SOCKETS
     /* Create a pollset with room for one descriptor. */
     /* ### check return codes */
     (void) apr_pollset_create(&(*file)->pollset, 1, pool, 0);
-
+#endif
     /* Should we be testing if thefile is a handle to 
      * a PIPE and set up the mechanics appropriately?
      *

Modified: trunk/contrib/apr/file_io/win32/pipe.c
===================================================================
--- trunk/contrib/apr/file_io/win32/pipe.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/win32/pipe.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -18,6 +18,7 @@
 #include "apr_file_io.h"
 #include "apr_general.h"
 #include "apr_strings.h"
+#include "apr_escape.h"
 #if APR_HAVE_ERRNO_H
 #include <errno.h>
 #endif
@@ -26,7 +27,7 @@
 #if APR_HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif
-#if APR_HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
 #endif
 #if APR_HAVE_PROCESS_H
@@ -46,7 +47,8 @@
         return APR_ENOTIMPL;
     }
     if (timeout && !(thepipe->pOverlapped)) {
-        /* Cannot be nonzero if a pipe was opened blocking */
+        /* Cannot be nonzero if a pipe was opened blocking
+         */
         return APR_EINVAL;
     }
     thepipe->timeout = timeout;
@@ -81,7 +83,6 @@
     static unsigned long id = 0;
     DWORD dwPipeMode;
     DWORD dwOpenMode;
-    char name[50];
 
     sa.nLength = sizeof(sa);
 
@@ -107,8 +108,9 @@
     (*in)->dataRead = 0;
     (*in)->direction = 0;
     (*in)->pOverlapped = NULL;
+#if APR_FILES_AS_SOCKETS
     (void) apr_pollset_create(&(*in)->pollset, 1, p, 0);
-
+#endif
     (*out) = (apr_file_t *)apr_pcalloc(p, sizeof(apr_file_t));
     (*out)->pool = p;
     (*out)->fname = NULL;
@@ -121,11 +123,30 @@
     (*out)->dataRead = 0;
     (*out)->direction = 0;
     (*out)->pOverlapped = NULL;
+#if APR_FILES_AS_SOCKETS
     (void) apr_pollset_create(&(*out)->pollset, 1, p, 0);
+#endif
+    if (apr_os_level >= APR_WIN_NT) {
+        char rand[8];
+        int pid = getpid();
+#define FMT_PIPE_NAME "\\\\.\\pipe\\apr-pipe-%x.%lx."
+        /*                                    ^   ^ ^
+         *                                  pid   | |
+         *                                        | |
+         *                                       id |
+         *                                          |
+         *                        hex-escaped rand[8] (16 bytes)
+         */
+        char name[sizeof FMT_PIPE_NAME + 2 * sizeof(pid)
+                                       + 2 * sizeof(id)
+                                       + 2 * sizeof(rand)];
+        apr_size_t pos;
 
-    if (apr_os_level >= APR_WIN_NT) {
         /* Create the read end of the pipe */
         dwOpenMode = PIPE_ACCESS_INBOUND;
+#ifdef FILE_FLAG_FIRST_PIPE_INSTANCE
+        dwOpenMode |= FILE_FLAG_FIRST_PIPE_INSTANCE;
+#endif
         if (blocking == APR_WRITE_BLOCK /* READ_NONBLOCK */
                || blocking == APR_FULL_NONBLOCK) {
             dwOpenMode |= FILE_FLAG_OVERLAPPED;
@@ -133,10 +154,11 @@
             (*in)->pOverlapped->hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
             (*in)->timeout = 0;
         }
-
         dwPipeMode = 0;
 
-        sprintf(name, "\\\\.\\pipe\\apr-pipe-%u.%lu", getpid(), id++);
+        apr_generate_random_bytes(rand, sizeof rand);
+        pos = apr_snprintf(name, sizeof name, FMT_PIPE_NAME, pid, id++);
+        apr_escape_hex(name + pos, rand, sizeof rand, 0, NULL);
 
         (*in)->filehand = CreateNamedPipe(name,
                                           dwOpenMode,
@@ -146,6 +168,11 @@
                                           65536,        /* nInBufferSize,   */
                                           1,            /* nDefaultTimeOut, */
                                           &sa);
+        if ((*in)->filehand == INVALID_HANDLE_VALUE) {
+            apr_status_t rv = apr_get_os_error();
+            file_cleanup(*in);
+            return rv;
+        }
 
         /* Create the write end of the pipe */
         dwOpenMode = FILE_ATTRIBUTE_NORMAL;
@@ -158,12 +185,18 @@
         }
 
         (*out)->filehand = CreateFile(name,
-                                      GENERIC_WRITE, /* access mode             */
-                                      0,             /* share mode              */
-                                      &sa,           /* Security attributes     */
-                                      OPEN_EXISTING, /* dwCreationDisposition   */
-                                      dwOpenMode,    /* Pipe attributes         */
-                                      NULL);         /* handle to template file */
+                                      GENERIC_WRITE,   /* access mode             */
+                                      0,               /* share mode              */
+                                      &sa,             /* Security attributes     */
+                                      OPEN_EXISTING,   /* dwCreationDisposition   */
+                                      dwOpenMode,      /* Pipe attributes         */
+                                      NULL);           /* handle to template file */
+        if ((*out)->filehand == INVALID_HANDLE_VALUE) {
+            apr_status_t rv = apr_get_os_error();
+            file_cleanup(*out);
+            file_cleanup(*in);
+            return rv;
+        }
     }
     else {
         /* Pipes on Win9* are blocking. Live with it. */
@@ -210,8 +243,9 @@
     (*file)->timeout = -1;
     (*file)->ungetchar = -1;
     (*file)->filehand = *thefile;
+#if APR_FILES_AS_SOCKETS
     (void) apr_pollset_create(&(*file)->pollset, 1, pool, 0);
-
+#endif
     if (register_cleanup) {
         apr_pool_cleanup_register(pool, *file, file_cleanup,
                                   apr_pool_cleanup_null);

Modified: trunk/contrib/apr/file_io/win32/readwrite.c
===================================================================
--- trunk/contrib/apr/file_io/win32/readwrite.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/file_io/win32/readwrite.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -181,12 +181,16 @@
         apr_size_t blocksize;
         apr_size_t size = *len;
 
-        apr_thread_mutex_lock(thefile->mutex);
+        if (thefile->flags & APR_FOPEN_XTHREAD) {
+            apr_thread_mutex_lock(thefile->mutex);
+        }
 
         if (thefile->direction == 1) {
             rv = apr_file_flush(thefile);
             if (rv != APR_SUCCESS) {
-                apr_thread_mutex_unlock(thefile->mutex);
+                if (thefile->flags & APR_FOPEN_XTHREAD) {
+                    apr_thread_mutex_unlock(thefile->mutex);
+                }
                 return rv;
             }
             thefile->bufpos = 0;
@@ -223,7 +227,10 @@
         if (*len) {
             rv = APR_SUCCESS;
         }
-        apr_thread_mutex_unlock(thefile->mutex);
+
+        if (thefile->flags & APR_FOPEN_XTHREAD) {
+            apr_thread_mutex_unlock(thefile->mutex);
+        }
     } else {  
         /* Unbuffered i/o */
         apr_size_t nbytes;
@@ -260,7 +267,9 @@
         apr_size_t blocksize;
         apr_size_t size = *nbytes;
 
-        apr_thread_mutex_lock(thefile->mutex);
+        if (thefile->flags & APR_FOPEN_XTHREAD) {
+            apr_thread_mutex_lock(thefile->mutex);
+        }
 
         if (thefile->direction == 0) {
             /* Position file pointer for writing at the offset we are logically reading from */
@@ -275,7 +284,7 @@
 
         rv = 0;
         while (rv == 0 && size > 0) {
-            if (thefile->bufpos == thefile->bufsize)   // write buffer is full
+            if (thefile->bufpos == thefile->bufsize)   /* write buffer is full */
                 rv = apr_file_flush(thefile);
 
             blocksize = size > thefile->bufsize - thefile->bufpos ? 
@@ -286,7 +295,9 @@
             size -= blocksize;
         }
 
-        apr_thread_mutex_unlock(thefile->mutex);
+        if (thefile->flags & APR_FOPEN_XTHREAD) {
+            apr_thread_mutex_unlock(thefile->mutex);
+        }
         return rv;
     } else {
         if (!thefile->pipe) {

Modified: trunk/contrib/apr/include/apr.h.in
===================================================================
--- trunk/contrib/apr/include/apr.h.in	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr.h.in	2017-02-20 03:16:08 UTC (rev 9278)
@@ -116,7 +116,7 @@
  * or the extern "C" namespace 
  */
 
-#if APR_HAVE_WINDOWS_H
+#if APR_HAVE_WINDOWS_H && defined(WIN32)
 /* If windows.h was already included, our preferences don't matter.
  * If not, include a restricted set of windows headers to our tastes.
  */
@@ -453,6 +453,8 @@
  */
 #define APR_THREAD_FUNC       @apr_thread_func@
 
+#if defined(DOXYGEN) || !defined(WIN32)
+
 /**
  * The public APR functions are declared with APR_DECLARE(), so they may
  * use the most appropriate calling convention.  Public APR functions with 
@@ -505,6 +507,20 @@
  */
 #define APR_DECLARE_DATA
 
+#elif defined(APR_DECLARE_STATIC)
+#define APR_DECLARE(type)            type __stdcall
+#define APR_DECLARE_NONSTD(type)     type __cdecl
+#define APR_DECLARE_DATA
+#elif defined(APR_DECLARE_EXPORT)
+#define APR_DECLARE(type)            __declspec(dllexport) type __stdcall
+#define APR_DECLARE_NONSTD(type)     __declspec(dllexport) type __cdecl
+#define APR_DECLARE_DATA             __declspec(dllexport)
+#else
+#define APR_DECLARE(type)            __declspec(dllimport) type __stdcall
+#define APR_DECLARE_NONSTD(type)     __declspec(dllimport) type __cdecl
+#define APR_DECLARE_DATA             __declspec(dllimport)
+#endif
+
 /* Define APR_SSIZE_T_FMT.  
  * If ssize_t is an integer we define it to be "d",
  * if ssize_t is a long int we define it to be "ld",

Copied: trunk/contrib/apr/include/apr.hwc (from rev 9277, vendor/apache/apr/dist/include/apr.hwc)
===================================================================
--- trunk/contrib/apr/include/apr.hwc	                        (rev 0)
+++ trunk/contrib/apr/include/apr.hwc	2017-02-20 03:16:08 UTC (rev 9278)
@@ -0,0 +1,641 @@
+/* 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.
+ */
+
+
+#ifndef APR_H
+#define APR_H
+
+/* GENERATED FILE WARNING!  DO NOT EDIT apr.h
+ *
+ * You must modify apr.hwc instead.
+ *
+ * And please, make an effort to stub apr.hnw and apr.h.in in the process.
+ *
+ * This is the Win32 specific version of apr.h.  It is copied from
+ * apr.hw by the apr.dsp and libapr.dsp projects. 
+ */
+
+/**
+ * @file apr.h
+ * @brief APR Platform Definitions
+ * @remark This is a generated header generated from include/apr.h.in by
+ * ./configure, or copied from include/apr.hw or include/apr.hnw 
+ * 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
+ */
+#if defined(_MSC_VER) && _MSC_VER >= 1200
+#pragma warning(push, 3)
+#endif
+
+/* disable or reduce the frequency of...
+ *   C4057: indirection to slightly different base types
+ *   C4075: slight indirection changes (unsigned short* vs short[])
+ *   C4100: unreferenced formal parameter
+ *   C4127: conditional expression is constant
+ *   C4163: '_rotl64' : not available as an intrinsic function
+ *   C4201: nonstandard extension nameless struct/unions
+ *   C4244: int to char/short - precision loss
+ *   C4514: unreferenced inline function removed
+ */
+#pragma warning(disable: 4100 4127 4163 4201 4514; once: 4057 4075 4244)
+
+/* Ignore Microsoft's interpretation of secure development
+ * and the POSIX string handling API
+ */
+#if defined(_MSC_VER) && _MSC_VER >= 1400
+#ifndef _CRT_SECURE_NO_DEPRECATE
+#define _CRT_SECURE_NO_DEPRECATE
+#endif
+#pragma warning(disable: 4996)
+#endif
+
+/* Has windows.h already been included?  If so, our preferences don't matter,
+ * but we will still need the winsock things no matter what was included.
+ * If not, include a restricted set of windows headers to our tastes.
+ */
+#ifndef _WINDOWS_
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
+#endif
+#ifndef _WIN32_WINNT
+#define _WIN32_WINNT @win32_winnt_str@
+#endif
+#ifndef NOUSER
+#define NOUSER
+#endif
+#ifndef NOMCX
+#define NOMCX
+#endif
+#ifndef NOIME
+#define NOIME
+#endif
+#include <windows.h>
+/* 
+ * Add a _very_few_ declarations missing from the restricted set of headers
+ * (If this list becomes extensive, re-enable the required headers above!)
+ * winsock headers were excluded by WIN32_LEAN_AND_MEAN, so include them now
+ */
+#define SW_HIDE             0
+#ifndef _WIN32_WCE
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#include <mswsock.h>
+#else
+#include <winsock.h>
+#endif
+#endif /* !_WINDOWS_ */
+
+/**
+ * @defgroup APR Apache Portability Runtime library
+ * @{
+ */
+/**
+ * @defgroup apr_platform Platform Definitions
+ * @{
+ * @warning
+ * <strong><em>The actual values of macros and typedefs on this page<br>
+ * are platform specific and should NOT be relied upon!</em></strong>
+ */
+
+#define APR_INLINE __inline
+#define APR_HAS_INLINE          1
+#if !defined(__GNUC__) && !defined(__attribute__)
+#define __attribute__(__x)
+#endif
+
+#ifndef _WIN32_WCE
+#define APR_HAVE_ARPA_INET_H    0
+#define APR_HAVE_CONIO_H        1
+#define APR_HAVE_CRYPT_H        0
+#define APR_HAVE_CTYPE_H        1
+#define APR_HAVE_DIRENT_H       0
+#define APR_HAVE_ERRNO_H        1
+#define APR_HAVE_FCNTL_H        1
+#define APR_HAVE_IO_H           1
+#define APR_HAVE_LIMITS_H       1
+#define APR_HAVE_NETDB_H        0
+#define APR_HAVE_NETINET_IN_H   0
+#define APR_HAVE_NETINET_SCTP_H 0
+#define APR_HAVE_NETINET_SCTP_UIO_H 0
+#define APR_HAVE_NETINET_TCP_H  0
+#define APR_HAVE_PTHREAD_H      0
+#define APR_HAVE_SEMAPHORE_H    0
+#define APR_HAVE_SIGNAL_H       1
+#define APR_HAVE_STDARG_H       1
+#define APR_HAVE_STDINT_H       0
+#define APR_HAVE_STDIO_H        1
+#define APR_HAVE_STDLIB_H       1
+#define APR_HAVE_STRING_H       1
+#define APR_HAVE_STRINGS_H      0
+#define APR_HAVE_SYS_IOCTL_H    0
+#define APR_HAVE_SYS_SENDFILE_H 0
+#define APR_HAVE_SYS_SIGNAL_H   0
+#define APR_HAVE_SYS_SOCKET_H   0
+#define APR_HAVE_SYS_SOCKIO_H   0
+#define APR_HAVE_SYS_SYSLIMITS_H 0
+#define APR_HAVE_SYS_TIME_H     0
+#define APR_HAVE_SYS_TYPES_H    1
+#define APR_HAVE_SYS_UIO_H      0
+#define APR_HAVE_SYS_UN_H       0
+#define APR_HAVE_SYS_WAIT_H     0
+#define APR_HAVE_TIME_H         1
+#define APR_HAVE_UNISTD_H       0
+#define APR_HAVE_STDDEF_H       1
+#define APR_HAVE_PROCESS_H      1
+#else
+#define APR_HAVE_ARPA_INET_H    0
+#define APR_HAVE_CONIO_H        0
+#define APR_HAVE_CRYPT_H        0
+#define APR_HAVE_CTYPE_H        0
+#define APR_HAVE_DIRENT_H       0
+#define APR_HAVE_ERRNO_H        0
+#define APR_HAVE_FCNTL_H        0
+#define APR_HAVE_IO_H           0
+#define APR_HAVE_LIMITS_H       0
+#define APR_HAVE_NETDB_H        0
+#define APR_HAVE_NETINET_IN_H   0
+#define APR_HAVE_NETINET_SCTP_H 0
+#define APR_HAVE_NETINET_SCTP_UIO_H 0
+#define APR_HAVE_NETINET_TCP_H  0
+#define APR_HAVE_PTHREAD_H      0
+#define APR_HAVE_SEMAPHORE_H    0
+#define APR_HAVE_SIGNAL_H       0
+#define APR_HAVE_STDARG_H       0
+#define APR_HAVE_STDINT_H       0
+#define APR_HAVE_STDIO_H        1
+#define APR_HAVE_STDLIB_H       1
+#define APR_HAVE_STRING_H       1
+#define APR_HAVE_STRINGS_H      0
+#define APR_HAVE_SYS_IOCTL_H    0
+#define APR_HAVE_SYS_SENDFILE_H 0
+#define APR_HAVE_SYS_SIGNAL_H   0
+#define APR_HAVE_SYS_SOCKET_H   0
+#define APR_HAVE_SYS_SOCKIO_H   0
+#define APR_HAVE_SYS_SYSLIMITS_H 0
+#define APR_HAVE_SYS_TIME_H     0
+#define APR_HAVE_SYS_TYPES_H    0
+#define APR_HAVE_SYS_UIO_H      0
+#define APR_HAVE_SYS_UN_H       0
+#define APR_HAVE_SYS_WAIT_H     0
+#define APR_HAVE_TIME_H         0
+#define APR_HAVE_UNISTD_H       0
+#define APR_HAVE_STDDEF_H       0
+#define APR_HAVE_PROCESS_H      0
+#endif
+
+/** @} */
+/** @} */
+
+/* We don't include our conditional headers within the doxyblocks 
+ * or the extern "C" namespace 
+ */
+
+#if APR_HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#if APR_HAVE_STDIO_H
+#include <stdio.h>
+#endif
+#if APR_HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#if APR_HAVE_STDDEF_H
+#include <stddef.h>
+#endif
+#if APR_HAVE_TIME_H
+#include <time.h>
+#endif
+#if APR_HAVE_PROCESS_H
+#include <process.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup apr_platform
+ * @ingroup APR 
+ * @{
+ */
+
+#define APR_HAVE_SHMEM_MMAP_TMP     0
+#define APR_HAVE_SHMEM_MMAP_SHM     0
+#define APR_HAVE_SHMEM_MMAP_ZERO    0
+#define APR_HAVE_SHMEM_SHMGET_ANON  0
+#define APR_HAVE_SHMEM_SHMGET       0
+#define APR_HAVE_SHMEM_MMAP_ANON    0
+#define APR_HAVE_SHMEM_BEOS         0
+
+#define APR_USE_SHMEM_MMAP_TMP     0
+#define APR_USE_SHMEM_MMAP_SHM     0
+#define APR_USE_SHMEM_MMAP_ZERO    0
+#define APR_USE_SHMEM_SHMGET_ANON  0
+#define APR_USE_SHMEM_SHMGET       0
+#define APR_USE_SHMEM_MMAP_ANON    0
+#define APR_USE_SHMEM_BEOS         0
+
+#define APR_USE_FLOCK_SERIALIZE           0 
+#define APR_USE_POSIXSEM_SERIALIZE        0
+#define APR_USE_SYSVSEM_SERIALIZE         0
+#define APR_USE_FCNTL_SERIALIZE           0
+#define APR_USE_PROC_PTHREAD_SERIALIZE    0 
+#define APR_USE_PTHREAD_SERIALIZE         0 
+
+#define APR_HAS_FLOCK_SERIALIZE           0
+#define APR_HAS_SYSVSEM_SERIALIZE         0
+#define APR_HAS_POSIXSEM_SERIALIZE        0
+#define APR_HAS_FCNTL_SERIALIZE           0
+#define APR_HAS_PROC_PTHREAD_SERIALIZE    0
+
+#define APR_PROCESS_LOCK_IS_GLOBAL        0
+
+#define APR_HAVE_CORKABLE_TCP   0
+#define APR_HAVE_GETRLIMIT      0
+#define APR_HAVE_ICONV          0
+#define APR_HAVE_IN_ADDR        1
+#define APR_HAVE_INET_ADDR      1
+#define APR_HAVE_INET_NETWORK   0
+#define APR_HAVE_IPV6           @apr_have_ipv6_10@
+#define APR_HAVE_MEMMOVE        1
+#define APR_HAVE_SETRLIMIT      0
+#define APR_HAVE_SIGACTION      0
+#define APR_HAVE_SIGSUSPEND     0
+#define APR_HAVE_SIGWAIT        0
+#define APR_HAVE_SA_STORAGE     0
+#define APR_HAVE_STRCASECMP     0
+#define APR_HAVE_STRDUP         1
+#define APR_HAVE_STRNCASECMP    0
+#define APR_HAVE_STRSTR         1
+#define APR_HAVE_MEMCHR         1
+#define APR_HAVE_STRUCT_RLIMIT  0
+#define APR_HAVE_UNION_SEMUN    0
+#define APR_HAVE_SCTP           0
+#define APR_HAVE_IOVEC          0
+
+#ifndef _WIN32_WCE
+#define APR_HAVE_STRICMP        1
+#define APR_HAVE_STRNICMP       1
+#else
+#define APR_HAVE_STRICMP        0
+#define APR_HAVE_STRNICMP       0
+#endif
+
+/*  APR Feature Macros */
+#define APR_HAS_SHARED_MEMORY     1
+#define APR_HAS_THREADS           1
+#define APR_HAS_MMAP              1
+#define APR_HAS_FORK              0
+#define APR_HAS_RANDOM            1
+#define APR_HAS_OTHER_CHILD       1
+#define APR_HAS_DSO               1
+#define APR_HAS_SO_ACCEPTFILTER   0
+#define APR_HAS_UNICODE_FS        1
+#define APR_HAS_PROC_INVOKED      1
+#define APR_HAS_OS_UUID           1
+
+#ifndef _WIN32_WCE
+#define APR_HAS_SENDFILE          1
+#define APR_HAS_USER              1
+#define APR_HAS_LARGE_FILES       1
+#define APR_HAS_XTHREAD_FILES     1
+#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 1
+#else
+#define APR_HAS_SENDFILE          0
+#define APR_HAS_USER              0
+#define APR_HAS_LARGE_FILES       0
+#define APR_HAS_XTHREAD_FILES     0
+#define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0
+#endif
+
+/* APR sets APR_FILES_AS_SOCKETS to 1 on systems where it is possible
+ * to poll on files/pipes.
+ */
+#define APR_FILES_AS_SOCKETS      0
+
+/* This macro indicates whether or not EBCDIC is the native character set.
+ */
+#define APR_CHARSET_EBCDIC        0
+
+/* If we have a TCP implementation that can be "corked", what flag
+ * do we use?
+ */
+#define APR_TCP_NOPUSH_FLAG       @apr_tcp_nopush_flag@
+
+/* Is the TCP_NODELAY socket option inherited from listening sockets?
+ */
+#define APR_TCP_NODELAY_INHERITED 1
+
+/* Is the O_NONBLOCK flag inherited from listening sockets?
+ */
+#define APR_O_NONBLOCK_INHERITED  1
+
+/* Typedefs that APR needs. */
+
+typedef  unsigned char     apr_byte_t;
+
+typedef  short             apr_int16_t;
+typedef  unsigned short    apr_uint16_t;
+
+typedef  int               apr_int32_t;
+typedef  unsigned int      apr_uint32_t;
+
+typedef  __int64           apr_int64_t;
+typedef  unsigned __int64  apr_uint64_t;
+
+typedef  size_t      apr_size_t;
+#if APR_HAVE_STDDEF_H
+typedef  ptrdiff_t   apr_ssize_t;
+#else
+typedef  int         apr_ssize_t;
+#endif
+#if APR_HAS_LARGE_FILES
+typedef  __int64     apr_off_t;
+#else
+typedef  int         apr_off_t;
+#endif
+typedef  int         apr_socklen_t;
+typedef  apr_uint64_t      apr_ino_t;
+
+#ifdef _WIN64
+#define APR_SIZEOF_VOIDP   8
+#else
+#define APR_SIZEOF_VOIDP   4
+#endif
+
+#if APR_SIZEOF_VOIDP == 8
+typedef  apr_uint64_t            apr_uintptr_t;
+#else
+typedef  apr_uint32_t            apr_uintptr_t;
+#endif
+
+/* Are we big endian? */
+/* XXX: Fatal assumption on Alpha platforms */
+#define APR_IS_BIGENDIAN	0
+
+/* Mechanisms to properly type numeric literals */
+
+#ifndef __GNUC__
+#define APR_INT64_C(val) (val##i64)
+#define APR_UINT64_C(val) (val##Ui64)
+#else
+#define APR_INT64_C(val) (val##LL)
+#define APR_UINT64_C(val) (val##ULL)
+#endif
+
+#ifdef INT16_MIN
+#define APR_INT16_MIN   INT16_MIN
+#else
+#define APR_INT16_MIN   (-0x7fff - 1)
+#endif
+
+#ifdef INT16_MAX
+#define APR_INT16_MAX  INT16_MAX
+#else
+#define APR_INT16_MAX   (0x7fff)
+#endif
+
+#ifdef UINT16_MAX
+#define APR_UINT16_MAX  UINT16_MAX
+#else
+#define APR_UINT16_MAX  (0xffff)
+#endif
+
+#ifdef INT32_MIN
+#define APR_INT32_MIN   INT32_MIN
+#else
+#define APR_INT32_MIN   (-0x7fffffff - 1)
+#endif
+
+#ifdef INT32_MAX
+#define APR_INT32_MAX  INT32_MAX
+#else
+#define APR_INT32_MAX  0x7fffffff
+#endif
+
+#ifdef UINT32_MAX
+#define APR_UINT32_MAX  UINT32_MAX
+#else
+#define APR_UINT32_MAX  (0xffffffffU)
+#endif
+
+#ifdef INT64_MIN
+#define APR_INT64_MIN   INT64_MIN
+#else
+#define APR_INT64_MIN   (APR_INT64_C(-0x7fffffffffffffff) - 1)
+#endif
+
+#ifdef INT64_MAX
+#define APR_INT64_MAX   INT64_MAX
+#else
+#define APR_INT64_MAX   APR_INT64_C(0x7fffffffffffffff)
+#endif
+
+#ifdef UINT64_MAX
+#define APR_UINT64_MAX  UINT64_MAX
+#else
+#define APR_UINT64_MAX  APR_UINT64_C(0xffffffffffffffff)
+#endif
+
+#define APR_SIZE_MAX    (~((apr_size_t)0))
+
+/* Definitions that APR programs need to work properly. */
+
+/**
+ * APR public API wrap for C++ compilers.
+ */
+#ifdef __cplusplus
+#define APR_BEGIN_DECLS     extern "C" {
+#define APR_END_DECLS       }
+#else
+#define APR_BEGIN_DECLS
+#define APR_END_DECLS
+#endif
+
+/** 
+ * Thread callbacks from APR functions must be declared with APR_THREAD_FUNC, 
+ * so that they follow the platform's calling convention.
+ * <PRE>
+ *
+ * void* APR_THREAD_FUNC my_thread_entry_fn(apr_thread_t *thd, void *data);
+ *
+ * </PRE>
+ */
+#define APR_THREAD_FUNC  __stdcall
+
+
+#if defined(DOXYGEN) || !defined(WIN32)
+
+/**
+ * The public APR functions are declared with APR_DECLARE(), so they may
+ * use the most appropriate calling convention.  Public APR functions with 
+ * variable arguments must use APR_DECLARE_NONSTD().
+ *
+ * @remark Both the declaration and implementations must use the same macro.
+ *
+ * <PRE>
+ * APR_DECLARE(rettype) apr_func(args)
+ * </PRE>
+ * @see APR_DECLARE_NONSTD @see APR_DECLARE_DATA
+ * @remark Note that when APR compiles the library itself, it passes the 
+ * symbol -DAPR_DECLARE_EXPORT to the compiler on some platforms (e.g. Win32) 
+ * to export public symbols from the dynamic library build.\n
+ * The user must define the APR_DECLARE_STATIC when compiling to target
+ * the static APR library on some platforms (e.g. Win32.)  The public symbols 
+ * are neither exported nor imported when APR_DECLARE_STATIC is defined.\n
+ * By default, compiling an application and including the APR public
+ * headers, without defining APR_DECLARE_STATIC, will prepare the code to be
+ * linked to the dynamic library.
+ */
+#define APR_DECLARE(type)            type 
+
+/**
+ * The public APR functions using variable arguments are declared with 
+ * APR_DECLARE_NONSTD(), as they must follow the C language calling convention.
+ * @see APR_DECLARE @see APR_DECLARE_DATA
+ * @remark Both the declaration and implementations must use the same macro.
+ * <PRE>
+ *
+ * APR_DECLARE_NONSTD(rettype) apr_func(args, ...);
+ *
+ * </PRE>
+ */
+#define APR_DECLARE_NONSTD(type)     type
+
+/**
+ * The public APR variables are declared with AP_MODULE_DECLARE_DATA.
+ * This assures the appropriate indirection is invoked at compile time.
+ * @see APR_DECLARE @see APR_DECLARE_NONSTD
+ * @remark Note that the declaration and implementations use different forms,
+ * but both must include the macro.
+ * 
+ * <PRE>
+ *
+ * extern APR_DECLARE_DATA type apr_variable;\n
+ * APR_DECLARE_DATA type apr_variable = value;
+ *
+ * </PRE>
+ */
+#define APR_DECLARE_DATA
+
+#elif defined(APR_DECLARE_STATIC)
+#define APR_DECLARE(type)            type __stdcall
+#define APR_DECLARE_NONSTD(type)     type __cdecl
+#define APR_DECLARE_DATA
+#elif defined(APR_DECLARE_EXPORT)
+#define APR_DECLARE(type)            __declspec(dllexport) type __stdcall
+#define APR_DECLARE_NONSTD(type)     __declspec(dllexport) type __cdecl
+#define APR_DECLARE_DATA             __declspec(dllexport)
+#else
+#define APR_DECLARE(type)            __declspec(dllimport) type __stdcall
+#define APR_DECLARE_NONSTD(type)     __declspec(dllimport) type __cdecl
+#define APR_DECLARE_DATA             __declspec(dllimport)
+#endif
+
+#ifdef _WIN64
+#define APR_SSIZE_T_FMT          "I64d"
+#define APR_SIZE_T_FMT           "I64u"
+#else
+#define APR_SSIZE_T_FMT          "d"
+#define APR_SIZE_T_FMT           "u"
+#endif
+
+#if APR_HAS_LARGE_FILES
+#define APR_OFF_T_FMT            "I64d"
+#else
+#define APR_OFF_T_FMT            "d"
+#endif
+
+#define APR_PID_T_FMT            "d"
+
+#define APR_INT64_T_FMT          "I64d"
+#define APR_UINT64_T_FMT         "I64u"
+#define APR_UINT64_T_HEX_FMT     "I64x"
+
+/* No difference between PROC and GLOBAL mutex */
+#define APR_PROC_MUTEX_IS_GLOBAL      1
+
+/* Local machine definition for console and log output. */
+#define APR_EOL_STR              "\r\n"
+
+typedef int apr_wait_t;
+
+#if APR_HAS_UNICODE_FS
+/* An arbitrary size that is digestable. True max is a bit less than 32000 */
+#define APR_PATH_MAX 8192
+#else /* !APR_HAS_UNICODE_FS */
+#define APR_PATH_MAX MAX_PATH
+#endif
+
+#define APR_DSOPATH "PATH"
+
+/** @} */
+
+/* Definitions that only Win32 programs need to compile properly. */
+
+/* XXX These simply don't belong here, perhaps in apr_portable.h
+ * based on some APR_HAVE_PID/GID/UID?
+ */
+#ifndef __GNUC__
+typedef  int         pid_t;
+#endif
+typedef  int         uid_t;
+typedef  int         gid_t;
+
+/* Win32 .h ommissions we really need */
+#define STDIN_FILENO  0
+#define STDOUT_FILENO 1
+#define STDERR_FILENO 2
+
+#if APR_HAVE_IPV6
+
+/* Appears in later flavors, not the originals. */
+#ifndef in_addr6
+#define  in6_addr    in_addr6
+#endif
+
+#ifndef WS2TCPIP_INLINE
+#define IN6_IS_ADDR_V4MAPPED(a) \
+    (   (*(const apr_uint64_t *)(const void *)(&(a)->s6_addr[0]) == 0) \
+     && (*(const apr_uint32_t *)(const void *)(&(a)->s6_addr[8]) == ntohl(0x0000ffff)))
+#endif
+
+#endif /* APR_HAS_IPV6 */
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Done with badly written headers
+ */
+#if defined(_MSC_VER) && _MSC_VER >= 1200
+#pragma warning(pop)
+#pragma warning(disable: 4996)
+#endif
+
+#endif /* WIN32 */
+
+#endif /* APR_H */

Modified: trunk/contrib/apr/include/apr_allocator.h
===================================================================
--- trunk/contrib/apr/include/apr_allocator.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_allocator.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -131,7 +131,7 @@
 /**
  * Set the current threshold at which the allocator should start
  * giving blocks back to the system.
- * @param allocator The allocator the set the threshold on
+ * @param allocator The allocator to set the threshold on
  * @param size The threshold.  0 == unlimited.
  */
 APR_DECLARE(void) apr_allocator_max_free_set(apr_allocator_t *allocator,

Modified: trunk/contrib/apr/include/apr_errno.h
===================================================================
--- trunk/contrib/apr/include/apr_errno.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_errno.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -45,7 +45,7 @@
 
 /**
  * Return a human readable string describing the specified error.
- * @param statcode The error code the get a string for.
+ * @param statcode The error code to get a string for.
  * @param buf A buffer to hold the error string.
  * @param bufsize Size of the buffer to hold the string.
  */
@@ -126,7 +126,7 @@
  * use within apr-util. This space is reserved above that used by APR
  * internally.
  * @note This number MUST be smaller than APR_OS_ERRSPACE_SIZE by a
- *       large enough amount that APR has sufficient room for it's
+ *       large enough amount that APR has sufficient room for its
  *       codes.
  */
 #define APR_UTIL_ERRSPACE_SIZE 20000
@@ -135,7 +135,7 @@
  */
 #define APR_OS_START_STATUS    (APR_OS_START_ERROR + APR_OS_ERRSPACE_SIZE)
 /**
- * APR_UTIL_START_STATUS is where APR-Util starts defining it's
+ * APR_UTIL_START_STATUS is where APR-Util starts defining its
  * status codes.
  */
 #define APR_UTIL_START_STATUS   (APR_OS_START_STATUS + \

Copied: trunk/contrib/apr/include/apr_escape.h (from rev 9277, vendor/apache/apr/dist/include/apr_escape.h)
===================================================================
--- trunk/contrib/apr/include/apr_escape.h	                        (rev 0)
+++ trunk/contrib/apr/include/apr_escape.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -0,0 +1,374 @@
+/* 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.
+ */
+/**
+ * @file apr_escape.h
+ * @brief APR-UTIL Escaping
+ */
+#ifndef APR_ESCAPE_H
+#define APR_ESCAPE_H
+#include "apr.h"
+#include "apr_general.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @defgroup APR_Util_Escaping Escape functions
+ * @ingroup APR
+ * @{
+ */
+
+/* Simple escape/unescape functions.
+ *
+ */
+
+/**
+ * When passing a string to one of the escape functions, this value can be
+ * passed to indicate a string-valued key, and have the length computed
+ * automatically.
+ */
+#define APR_ESCAPE_STRING     (-1)
+
+/**
+ * Perform shell escaping on the provided string.
+ * 
+ * Shell escaping causes characters to be prefixed with a '\' character.
+ * @param escaped Optional buffer to write the encoded string, can be
+ * NULL
+ * @param str The original string
+ * @param slen The length of the original string, or APR_ESCAPE_STRING
+ * @param len If present, returns the length of the string
+ * @return APR_SUCCESS, or APR_NOTFOUND if no changes to the string were
+ * detected or the string was NULL
+ */
+APR_DECLARE(apr_status_t) apr_escape_shell(char *escaped, const char *str,
+        apr_ssize_t slen, apr_size_t *len);
+
+/**
+ * Perform shell escaping on the provided string, returning the result
+ * from the pool.
+ *
+ * Shell escaping causes characters to be prefixed with a '\' character.
+ *
+ * If no characters were escaped, the original string is returned.
+ * @param p Pool to allocate from
+ * @param str The original string
+ * @return the encoded string, allocated from the pool, or the original
+ * string if no escaping took place or the string was NULL.
+ */
+APR_DECLARE(const char *) apr_pescape_shell(apr_pool_t *p, const char *str)
+        __attribute__((nonnull(1)));
+
+/**
+ * Unescapes a URL, leaving reserved characters intact.
+ * @param escaped Optional buffer to write the encoded string, can be
+ * NULL
+ * @param url String to be unescaped
+ * @param slen The length of the original url, or APR_ESCAPE_STRING
+ * @param forbid Optional list of forbidden characters, in addition to
+ * 0x00
+ * @param reserved Optional list of reserved characters that will be
+ * left unescaped
+ * @param plus If non zero, '+' is converted to ' ' as per
+ * application/x-www-form-urlencoded encoding
+ * @param len If set, the length of the escaped string will be returned
+ * @return APR_SUCCESS on success, APR_NOTFOUND if no characters are
+ * decoded or the string is NULL, APR_EINVAL if a bad escape sequence is
+ * found, APR_BADCH if a character on the forbid list is found.
+ */
+APR_DECLARE(apr_status_t) apr_unescape_url(char *escaped, const char *url,
+        apr_ssize_t slen, const char *forbid, const char *reserved, int plus,
+        apr_size_t *len);
+
+/**
+ * Unescapes a URL, leaving reserved characters intact, returning the
+ * result from a pool.
+ * @param p Pool to allocate from
+ * @param url String to be unescaped in place
+ * @param forbid Optional list of forbidden characters, in addition to
+ * 0x00
+ * @param reserved Optional list of reserved characters that will be
+ * left unescaped
+ * @param plus If non zero, '+' is converted to ' ' as per
+ * application/x-www-form-urlencoded encoding
+ * @return A string allocated from the pool on success, the original string
+ * if no characters are decoded, or NULL if a bad escape sequence is found
+ * or if a character on the forbid list is found, or if the original string
+ * was NULL.
+ */
+APR_DECLARE(const char *) apr_punescape_url(apr_pool_t *p, const char *url,
+        const char *forbid, const char *reserved, int plus)
+        __attribute__((nonnull(1)));
+
+/**
+ * Escape a path segment, as defined in RFC1808.
+ * @param escaped Optional buffer to write the encoded string, can be
+ * NULL
+ * @param str The original string
+ * @param slen The length of the original string, or APR_ESCAPE_STRING
+ * @param len If present, returns the length of the string
+ * @return APR_SUCCESS, or APR_NOTFOUND if no changes to the string were
+ * detected or the string was NULL
+ */
+APR_DECLARE(apr_status_t) apr_escape_path_segment(char *escaped,
+        const char *str, apr_ssize_t slen, apr_size_t *len);
+
+/**
+ * Escape a path segment, as defined in RFC1808, returning the result from a
+ * pool.
+ * @param p Pool to allocate from
+ * @param str String to be escaped
+ * @return A string allocated from the pool on success, the original string
+ * if no characters are encoded or the string is NULL.
+ */
+APR_DECLARE(const char *) apr_pescape_path_segment(apr_pool_t *p,
+        const char *str) __attribute__((nonnull(1)));
+
+/**
+ * Converts an OS path to a URL, in an OS dependent way, as defined in RFC1808.
+ * In all cases if a ':' occurs before the first '/' in the URL, the URL should
+ * be prefixed with "./" (or the ':' escaped). In the case of Unix, this means
+ * leaving '/' alone, but otherwise doing what escape_path_segment() does. For
+ * efficiency reasons, we don't use escape_path_segment(), which is provided for
+ * reference. Again, RFC 1808 is where this stuff is defined.
+ *
+ * If partial is set, os_escape_path() assumes that the path will be appended to
+ * something with a '/' in it (and thus does not prefix "./").
+ * @param escaped Optional buffer to write the encoded string, can be
+ * NULL
+ * @param path The original string
+ * @param slen The length of the original string, or APR_ESCAPE_STRING
+ * @param partial If non zero, suppresses the prepending of "./"
+ * @param len If present, returns the length of the string
+ * @return APR_SUCCESS, or APR_NOTFOUND if no changes to the string were
+ * detected or if the string was NULL
+ */
+APR_DECLARE(apr_status_t) apr_escape_path(char *escaped, const char *path,
+        apr_ssize_t slen, int partial, apr_size_t *len);
+
+/**
+ * Converts an OS path to a URL, in an OS dependent way, as defined in RFC1808,
+ * returning the result from a pool.
+ *
+ * In all cases if a ':' occurs before the first '/' in the URL, the URL should
+ * be prefixed with "./" (or the ':' escaped). In the case of Unix, this means
+ * leaving '/' alone, but otherwise doing what escape_path_segment() does. For
+ * efficiency reasons, we don't use escape_path_segment(), which is provided for
+ * reference. Again, RFC 1808 is where this stuff is defined.
+ *
+ * If partial is set, os_escape_path() assumes that the path will be appended to
+ * something with a '/' in it (and thus does not prefix "./").
+ * @param p Pool to allocate from
+ * @param str The original string
+ * @param partial If non zero, suppresses the prepending of "./"
+ * @return A string allocated from the pool on success, the original string
+ * if no characters are encoded or if the string was NULL.
+ */
+APR_DECLARE(const char *) apr_pescape_path(apr_pool_t *p, const char *str,
+        int partial) __attribute__((nonnull(1)));
+
+/**
+ * Urlencode a string, as defined in
+ * http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1.
+ * @param escaped Optional buffer to write the encoded string, can be
+ * NULL
+ * @param str The original string
+ * @param slen The length of the original string, or APR_ESCAPE_STRING
+ * @param len If present, returns the length of the string
+ * @return APR_SUCCESS, or APR_NOTFOUND if no changes to the string were
+ * detected or if the stirng was NULL
+ */
+APR_DECLARE(apr_status_t) apr_escape_urlencoded(char *escaped, const char *str,
+        apr_ssize_t slen, apr_size_t *len);
+
+/**
+ * Urlencode a string, as defined in
+ * http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1, returning
+ * the result from a pool.
+ * @param p Pool to allocate from
+ * @param str String to be escaped
+ * @return A string allocated from the pool on success, the original string
+ * if no characters are encoded or if the string was NULL.
+ */
+APR_DECLARE(const char *) apr_pescape_urlencoded(apr_pool_t *p,
+        const char *str) __attribute__((nonnull(1)));
+
+/**
+ * Apply entity encoding to a string. Characters are replaced as follows:
+ * '<' becomes '<', '>' becomes '>', '&' becomes '&', the
+ * double quote becomes '"" and the single quote becomes '''.
+ *
+ * If toasc is not zero, any non ascii character will be encoded as
+ * '%\#ddd;', where ddd is the decimal code of the character.
+ * @param escaped Optional buffer to write the encoded string, can be
+ * NULL
+ * @param str The original string
+ * @param slen The length of the original string, or APR_ESCAPE_STRING
+ * @param toasc If non zero, encode non ascii characters
+ * @param len If present, returns the length of the string
+ * @return APR_SUCCESS, or APR_NOTFOUND if no changes to the string were
+ * detected or the string was NULL
+ */
+APR_DECLARE(apr_status_t) apr_escape_entity(char *escaped, const char *str,
+        apr_ssize_t slen, int toasc, apr_size_t *len);
+
+/**
+ * Apply entity encoding to a string, returning the result from a pool.
+ * Characters are replaced as follows: '<' becomes '<', '>' becomes
+ * '>', '&' becomes '&', the double quote becomes '"" and the
+ * single quote becomes '''.
+ * @param p Pool to allocate from
+ * @param str The original string
+ * @param toasc If non zero, encode non ascii characters
+ * @return A string allocated from the pool on success, the original string
+ * if no characters are encoded or the string is NULL.
+ */
+APR_DECLARE(const char *) apr_pescape_entity(apr_pool_t *p, const char *str,
+        int toasc) __attribute__((nonnull(1)));
+
+/**
+ * Decodes html entities or numeric character references in a string. If
+ * the string to be unescaped is syntactically incorrect, then the
+ * following fixups will be made:
+ * unknown entities will be left undecoded;
+ * references to unused numeric characters will be deleted.
+ * In particular, � will not be decoded, but will be deleted.
+ * @param unescaped Optional buffer to write the encoded string, can be
+ * NULL
+ * @param str The original string
+ * @param slen The length of the original string, or APR_ESCAPE_STRING
+ * @param len If present, returns the length of the string
+ * @return APR_SUCCESS, or APR_NOTFOUND if no changes to the string were
+ * detected or the string was NULL
+ */
+APR_DECLARE(apr_status_t) apr_unescape_entity(char *unescaped, const char *str,
+        apr_ssize_t slen, apr_size_t *len);
+
+/**
+ * Decodes html entities or numeric character references in a string. If
+ * the string to be unescaped is syntactically incorrect, then the
+ * following fixups will be made:
+ * unknown entities will be left undecoded;
+ * references to unused numeric characters will be deleted.
+ * In particular, � will not be decoded, but will be deleted.
+ * @param p Pool to allocate from
+ * @param str The original string
+ * @return A string allocated from the pool on success, the original string
+ * if no characters are encoded or the string is NULL.
+ */
+APR_DECLARE(const char *) apr_punescape_entity(apr_pool_t *p, const char *str)
+        __attribute__((nonnull(1)));
+
+/**
+ * Escape control characters in a string, as performed by the shell's
+ * 'echo' command. Characters are replaced as follows:
+ * \\a alert (bell), \\b backspace, \\f form feed, \\n new line, \\r carriage
+ * return, \\t horizontal tab, \\v vertical tab, \\ backslash.
+ *
+ * Any non ascii character will be encoded as '\\xHH', where HH is the hex
+ * code of the character.
+ *
+ * If quote is not zero, the double quote character will also be escaped.
+ * @param escaped Optional buffer to write the encoded string, can be
+ * NULL
+ * @param str The original string
+ * @param slen The length of the original string, or APR_ESCAPE_STRING
+ * @param quote If non zero, encode double quotes
+ * @param len If present, returns the length of the string
+ * @return APR_SUCCESS, or APR_NOTFOUND if no changes to the string were
+ * detected or the string was NULL
+ */
+APR_DECLARE(apr_status_t) apr_escape_echo(char *escaped, const char *str,
+        apr_ssize_t slen, int quote, apr_size_t *len);
+
+/**
+ * Escape control characters in a string, as performed by the shell's
+ * 'echo' command, and return the results from a pool. Characters are
+ * replaced as follows: \\a alert (bell), \\b backspace, \\f form feed,
+ * \\n new line, \\r carriage return, \\t horizontal tab, \\v vertical tab,
+ * \\ backslash.
+ *
+ * Any non ascii character will be encoded as '\\xHH', where HH is the hex
+ * code of the character.
+ *
+ * If quote is not zero, the double quote character will also be escaped.
+ * @param p Pool to allocate from
+ * @param str The original string
+ * @param quote If non zero, encode double quotes
+ * @return A string allocated from the pool on success, the original string
+ * if no characters are encoded or the string is NULL.
+ */
+APR_DECLARE(const char *) apr_pescape_echo(apr_pool_t *p, const char *str,
+        int quote);
+
+/**
+ * Convert binary data to a hex encoding.
+ * @param dest The destination buffer, can be NULL
+ * @param src The original buffer
+ * @param srclen The length of the original buffer
+ * @param colon If not zero, insert colon characters between hex digits.
+ * @param len If present, returns the length of the string
+ * @return APR_SUCCESS, or APR_NOTFOUND if the string was NULL
+ */
+APR_DECLARE(apr_status_t) apr_escape_hex(char *dest, const void *src,
+        apr_size_t srclen, int colon, apr_size_t *len);
+
+/**
+ * Convert binary data to a hex encoding, and return the results from a
+ * pool.
+ * @param p Pool to allocate from
+ * @param src The original buffer
+ * @param slen The length of the original buffer
+ * @param colon If not zero, insert colon characters between hex digits.
+ * @return A zero padded buffer allocated from the pool on success, or
+ * NULL if src was NULL.
+ */
+APR_DECLARE(const char *) apr_pescape_hex(apr_pool_t *p, const void *src,
+        apr_size_t slen, int colon) __attribute__((nonnull(1)));
+
+/**
+ * Convert hex encoded string to binary data.
+ * @param dest The destination buffer, can be NULL
+ * @param str The original buffer
+ * @param slen The length of the original buffer
+ * @param colon If not zero, ignore colon characters between hex digits.
+ * @param len If present, returns the length of the string
+ * @return APR_SUCCESS, or APR_NOTFOUND if the string was NULL, or APR_BADCH
+ * if a non hex character is present.
+ */
+APR_DECLARE(apr_status_t) apr_unescape_hex(void *dest, const char *str,
+        apr_ssize_t slen, int colon, apr_size_t *len);
+
+/**
+ * Convert hex encoding to binary data, and return the results from a pool.
+ * If the colon character appears between pairs of hex digits, it will be
+ * ignored.
+ * @param p Pool to allocate from
+ * @param str The original string
+ * @param colon If not zero, ignore colon characters between hex digits.
+ * @param len If present, returns the length of the final buffer
+ * @return A buffer allocated from the pool on success, or NULL if src was
+ * NULL, or a bad character was present.
+ */
+APR_DECLARE(const void *) apr_punescape_hex(apr_pool_t *p, const char *str,
+        int colon, apr_size_t *len);
+
+/** @} */
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* !APR_ESCAPE_H */

Modified: trunk/contrib/apr/include/apr_file_info.h
===================================================================
--- trunk/contrib/apr/include/apr_file_info.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_file_info.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -208,7 +208,7 @@
     const char *fname;
     /** The file's name (no path) in filesystem case */
     const char *name;
-    /** The file's handle, if accessed (can be submitted to apr_duphandle) */
+    /** Unused */
     struct apr_file_t *filehand;
 };
 
@@ -316,7 +316,7 @@
  * @param filepath the pathname to parse for its root component
  * @param flags the desired rules to apply, from
  * <PRE>
- *      APR_FILEPATH_NATIVE    Use native path seperators (e.g. '\' on Win32)
+ *      APR_FILEPATH_NATIVE    Use native path separators (e.g. '\' on Win32)
  *      APR_FILEPATH_TRUENAME  Tests that the root exists, and makes it proper
  * </PRE>
  * @param p the pool to allocate the new path string from
@@ -328,7 +328,7 @@
  * test for the validity of that root (e.g., that a drive d:/ or network 
  * share //machine/foovol/). 
  * The function returns APR_ERELATIVE if filepath isn't rooted (an
- * error), APR_EINCOMPLETE if the root path is ambigious (but potentially
+ * error), APR_EINCOMPLETE if the root path is ambiguous (but potentially
  * legitimate, e.g. "/" on Windows is incomplete because it doesn't specify
  * the drive letter), or APR_EBADPATH if the root is simply invalid.
  * APR_SUCCESS is returned if filepath is an absolute path.
@@ -362,7 +362,7 @@
  * @param pathelts the returned components of the search path
  * @param liststr the search path (e.g., <tt>getenv("PATH")</tt>)
  * @param p the pool to allocate the array and path components from
- * @remark empty path componenta do not become part of @a pathelts.
+ * @remark empty path components do not become part of @a pathelts.
  * @remark the path separator in @a liststr is system specific;
  * e.g., ':' on Unix, ';' on Windows, etc.
  */

Modified: trunk/contrib/apr/include/apr_file_io.h
===================================================================
--- trunk/contrib/apr/include/apr_file_io.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_file_io.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -57,8 +57,10 @@
 #define APR_FOPEN_APPEND     0x00008  /**< Append to the end of the file */
 #define APR_FOPEN_TRUNCATE   0x00010  /**< Open the file and truncate
                                          to 0 length */
-#define APR_FOPEN_BINARY     0x00020  /**< Open the file in binary mode */
-#define APR_FOPEN_EXCL       0x00040  /**< Open should fail if APR_CREATE
+#define APR_FOPEN_BINARY     0x00020  /**< Open the file in binary mode
+				         (This flag is ignored on UNIX 
+					 because it has no meaning)*/
+#define APR_FOPEN_EXCL       0x00040  /**< Open should fail if #APR_FOPEN_CREATE
                                          and file exists. */
 #define APR_FOPEN_BUFFERED   0x00080  /**< Open the file for buffered I/O */
 #define APR_FOPEN_DELONCLOSE 0x00100  /**< Delete the file after close */
@@ -70,7 +72,10 @@
                                          access to support writes across
                                          process/machines */
 #define APR_FOPEN_NOCLEANUP  0x00800  /**< Do not register a cleanup
-                                         when the file is opened */
+                                         when the file is opened. The
+					 apr_os_file_t handle in apr_file_t
+					 will not be closed when the pool
+					 is destroyed. */
 #define APR_FOPEN_SENDFILE_ENABLED 0x01000 /**< Advisory flag that this
                                              file should support
                                              apr_socket_sendfile operation */
@@ -80,7 +85,10 @@
 #define APR_FOPEN_SPARSE      0x08000 /**< Platform dependent flag to enable
                                        * sparse file support, see WARNING below
                                        */
+#define APR_FOPEN_NONBLOCK    0x40000 /**< Platform dependent flag to enable
+                                       * non blocking file io */
 
+
 /* backcompat */
 #define APR_READ             APR_FOPEN_READ       /**< @deprecated @see APR_FOPEN_READ */
 #define APR_WRITE            APR_FOPEN_WRITE      /**< @deprecated @see APR_FOPEN_WRITE */   
@@ -97,17 +105,19 @@
 #define APR_SENDFILE_ENABLED APR_FOPEN_SENDFILE_ENABLED /**< @deprecated @see APR_FOPEN_SENDFILE_ENABLED */   
 #define APR_LARGEFILE        APR_FOPEN_LARGEFILE  /**< @deprecated @see APR_FOPEN_LARGEFILE */   
 
-/** @warning APR_FOPEN_LARGEFILE flag only has effect on some
+/** @def APR_FOPEN_LARGEFILE 
+ * @warning APR_FOPEN_LARGEFILE flag only has effect on some
  * platforms where sizeof(apr_off_t) == 4.  Where implemented, it
  * allows opening and writing to a file which exceeds the size which
  * can be represented by apr_off_t (2 gigabytes).  When a file's size
  * does exceed 2Gb, apr_file_info_get() will fail with an error on the
  * descriptor, likewise apr_stat()/apr_lstat() will fail on the
- * filename.  apr_dir_read() will fail with APR_INCOMPLETE on a
+ * filename.  apr_dir_read() will fail with #APR_INCOMPLETE on a
  * directory entry for a large file depending on the particular
  * APR_FINFO_* flags.  Generally, it is not recommended to use this
  * flag.
  *
+ * @def APR_FOPEN_SPARSE
  * @warning APR_FOPEN_SPARSE may, depending on platform, convert a
  * normal file to a sparse file.  Some applications may be unable
  * to decipher a sparse file, so it's critical that the sparse file
@@ -117,6 +127,10 @@
  * if it was previously created and written without the sparse flag.
  * On platforms which do not understand, or on file systems which
  * cannot handle sparse files, the flag is ignored by apr_file_open().
+ *
+ * @def APR_FOPEN_NONBLOCK
+ * @warning APR_FOPEN_NONBLOCK is not implemented on all platforms.
+ * Callers should be prepared for it to fail with #APR_ENOTIMPL.
  */
 
 /** @} */
@@ -200,33 +214,34 @@
  * @param newf The opened file descriptor.
  * @param fname The full path to the file (using / on all systems)
  * @param flag Or'ed value of:
- * <PRE>
- *         APR_READ              open for reading
- *         APR_WRITE             open for writing
- *         APR_CREATE            create the file if not there
- *         APR_APPEND            file ptr is set to end prior to all writes
- *         APR_TRUNCATE          set length to zero if file exists
- *         APR_BINARY            not a text file (This flag is ignored on 
- *                               UNIX because it has no meaning)
- *         APR_BUFFERED          buffer the data.  Default is non-buffered
- *         APR_EXCL              return error if APR_CREATE and file exists
- *         APR_DELONCLOSE        delete the file after closing.
- *         APR_XTHREAD           Platform dependent tag to open the file
+ * @li #APR_FOPEN_READ           open for reading
+ * @li #APR_FOPEN_WRITE          open for writing
+ * @li #APR_FOPEN_CREATE         create the file if not there
+ * @li #APR_FOPEN_APPEND         file ptr is set to end prior to all writes
+ * @li #APR_FOPEN_TRUNCATE       set length to zero if file exists
+ * @li #APR_FOPEN_BINARY         not a text file
+ * @li #APR_FOPEN_BUFFERED       buffer the data.  Default is non-buffered
+ * @li #APR_FOPEN_EXCL           return error if #APR_FOPEN_CREATE and file exists
+ * @li #APR_FOPEN_DELONCLOSE     delete the file after closing
+ * @li #APR_FOPEN_XTHREAD        Platform dependent tag to open the file
  *                               for use across multiple threads
- *         APR_SHARELOCK         Platform dependent support for higher
+ * @li #APR_FOPEN_SHARELOCK      Platform dependent support for higher
  *                               level locked read/write access to support
  *                               writes across process/machines
- *         APR_FILE_NOCLEANUP    Do not register a cleanup with the pool 
- *                               passed in on the <EM>pool</EM> argument (see below).
- *                               The apr_os_file_t handle in apr_file_t will not
- *                               be closed when the pool is destroyed.
- *         APR_SENDFILE_ENABLED  Open with appropriate platform semantics
+ * @li #APR_FOPEN_NOCLEANUP      Do not register a cleanup with the pool 
+ *                               passed in on the @a pool argument (see below)
+ * @li #APR_FOPEN_SENDFILE_ENABLED  Open with appropriate platform semantics
  *                               for sendfile operations.  Advisory only,
- *                               apr_socket_sendfile does not check this flag.
- * </PRE>
+ *                               apr_socket_sendfile does not check this flag
+ * @li #APR_FOPEN_LARGEFILE      Platform dependent flag to enable large file
+ *                               support, see WARNING below 
+ * @li #APR_FOPEN_SPARSE         Platform dependent flag to enable sparse file
+ *                               support, see WARNING below
+ * @li #APR_FOPEN_NONBLOCK       Platform dependent flag to enable
+ *                               non blocking file io
  * @param perm Access permissions for file.
  * @param pool The pool to use.
- * @remark If perm is APR_OS_DEFAULT and the file is being created,
+ * @remark If perm is #APR_FPROT_OS_DEFAULT and the file is being created,
  * appropriate default permissions will be used.
  * @remark By default, the returned file descriptor will not be
  * inherited by child processes created by apr_proc_create().  This
@@ -279,7 +294,7 @@
  * @param to_path The full path to the new file (using / on all systems)
  * @param perms Access permissions for the new file if it is created.
  *     In place of the usual or'd combination of file permissions, the
- *     value APR_FILE_SOURCE_PERMS may be given, in which case the source
+ *     value #APR_FPROT_FILE_SOURCE_PERMS may be given, in which case the source
  *     file's permissions are copied.
  * @param pool The pool to use.
  * @remark The new file does not need to exist, it will be created if required.
@@ -296,7 +311,7 @@
  * @param to_path The full path to the destination file (use / on all systems)
  * @param perms Access permissions for the destination file if it is created.
  *     In place of the usual or'd combination of file permissions, the
- *     value APR_FILE_SOURCE_PERMS may be given, in which case the source
+ *     value #APR_FPROT_FILE_SOURCE_PERMS may be given, in which case the source
  *     file's permissions are copied.
  * @param pool The pool to use.
  * @remark The new file does not need to exist, it will be created if required.
@@ -309,7 +324,7 @@
 /**
  * Are we at the end of the file
  * @param fptr The apr file we are testing.
- * @remark Returns APR_EOF if we are at the end of file, APR_SUCCESS otherwise.
+ * @remark Returns #APR_EOF if we are at the end of file, #APR_SUCCESS otherwise.
  */
 APR_DECLARE(apr_status_t) apr_file_eof(apr_file_t *fptr);
 
@@ -336,7 +351,7 @@
  * @param thefile The apr file to use as stdout.
  * @param pool The pool to allocate the file out of.
  * 
- * @remark See remarks for apr_file_open_stderr.
+ * @remark See remarks for apr_file_open_stderr().
  */
 APR_DECLARE(apr_status_t) apr_file_open_stdout(apr_file_t **thefile,
                                                apr_pool_t *pool);
@@ -346,7 +361,7 @@
  * @param thefile The apr file to use as stdin.
  * @param pool The pool to allocate the file out of.
  * 
- * @remark See remarks for apr_file_open_stderr.
+ * @remark See remarks for apr_file_open_stderr().
  */
 APR_DECLARE(apr_status_t) apr_file_open_stdin(apr_file_t **thefile,
                                               apr_pool_t *pool);
@@ -354,13 +369,19 @@
 /**
  * open standard error as an apr file pointer, with flags.
  * @param thefile The apr file to use as stderr.
- * @param flags The flags to open the file with. Only the APR_EXCL,
- *              APR_BUFFERED, APR_XTHREAD, APR_SHARELOCK, 
- *              APR_SENDFILE_ENABLED and APR_LARGEFILE flags should
- *              be used. The APR_WRITE flag will be set unconditionally.
+ * @param flags The flags to open the file with. Only the 
+ *              @li #APR_FOPEN_EXCL
+ *              @li #APR_FOPEN_BUFFERED
+ *              @li #APR_FOPEN_XTHREAD
+ *              @li #APR_FOPEN_SHARELOCK 
+ *              @li #APR_FOPEN_SENDFILE_ENABLED
+ *              @li #APR_FOPEN_LARGEFILE
+ *
+ *              flags should be used. The #APR_FOPEN_WRITE flag will
+ *              be set unconditionally.
  * @param pool The pool to allocate the file out of.
  * 
- * @remark See remarks for apr_file_open_stderr.
+ * @remark See remarks for apr_file_open_stderr().
  */
 APR_DECLARE(apr_status_t) apr_file_open_flags_stderr(apr_file_t **thefile,
                                                      apr_int32_t flags,
@@ -369,13 +390,19 @@
 /**
  * open standard output as an apr file pointer, with flags.
  * @param thefile The apr file to use as stdout.
- * @param flags The flags to open the file with. Only the APR_EXCL,
- *              APR_BUFFERED, APR_XTHREAD, APR_SHARELOCK, 
- *              APR_SENDFILE_ENABLED and APR_LARGEFILE flags should
- *              be used. The APR_WRITE flag will be set unconditionally.
+ * @param flags The flags to open the file with. Only the 
+ *              @li #APR_FOPEN_EXCL
+ *              @li #APR_FOPEN_BUFFERED
+ *              @li #APR_FOPEN_XTHREAD
+ *              @li #APR_FOPEN_SHARELOCK 
+ *              @li #APR_FOPEN_SENDFILE_ENABLED
+ *              @li #APR_FOPEN_LARGEFILE
+ *
+ *              flags should be used. The #APR_FOPEN_WRITE flag will
+ *              be set unconditionally.
  * @param pool The pool to allocate the file out of.
  * 
- * @remark See remarks for apr_file_open_stderr.
+ * @remark See remarks for apr_file_open_stderr().
  */
 APR_DECLARE(apr_status_t) apr_file_open_flags_stdout(apr_file_t **thefile,
                                                      apr_int32_t flags,
@@ -384,13 +411,19 @@
 /**
  * open standard input as an apr file pointer, with flags.
  * @param thefile The apr file to use as stdin.
- * @param flags The flags to open the file with. Only the APR_EXCL,
- *              APR_BUFFERED, APR_XTHREAD, APR_SHARELOCK, 
- *              APR_SENDFILE_ENABLED and APR_LARGEFILE flags should
- *              be used. The APR_READ flag will be set unconditionally.
+ * @param flags The flags to open the file with. Only the 
+ *              @li #APR_FOPEN_EXCL
+ *              @li #APR_FOPEN_BUFFERED
+ *              @li #APR_FOPEN_XTHREAD
+ *              @li #APR_FOPEN_SHARELOCK 
+ *              @li #APR_FOPEN_SENDFILE_ENABLED
+ *              @li #APR_FOPEN_LARGEFILE
+ *
+ *              flags should be used. The #APR_FOPEN_WRITE flag will
+ *              be set unconditionally.
  * @param pool The pool to allocate the file out of.
  * 
- * @remark See remarks for apr_file_open_stderr.
+ * @remark See remarks for apr_file_open_stderr().
  */
 APR_DECLARE(apr_status_t) apr_file_open_flags_stdin(apr_file_t **thefile,
                                                      apr_int32_t flags,
@@ -403,7 +436,7 @@
  * @param nbytes On entry, the number of bytes to read; on exit, the number
  * of bytes read.
  *
- * @remark apr_file_read will read up to the specified number of
+ * @remark apr_file_read() will read up to the specified number of
  * bytes, but never more.  If there isn't enough data to fill that
  * number of bytes, all of the available data is read.  The third
  * argument is modified to reflect the number of bytes read.  If a
@@ -410,8 +443,8 @@
  * char was put back into the stream via ungetc, it will be the first
  * character returned.
  *
- * @remark It is not possible for both bytes to be read and an APR_EOF
- * or other error to be returned.  APR_EINTR is never returned.
+ * @remark It is not possible for both bytes to be read and an #APR_EOF
+ * or other error to be returned.  #APR_EINTR is never returned.
  */
 APR_DECLARE(apr_status_t) apr_file_read(apr_file_t *thefile, void *buf,
                                         apr_size_t *nbytes);
@@ -423,13 +456,13 @@
  * @param nbytes On entry, the number of bytes to write; on exit, the number 
  *               of bytes written.
  *
- * @remark apr_file_write will write up to the specified number of
+ * @remark apr_file_write() will write up to the specified number of
  * bytes, but never more.  If the OS cannot write that many bytes, it
  * will write as many as it can.  The third argument is modified to
  * reflect the * number of bytes written.
  *
  * @remark It is possible for both bytes to be written and an error to
- * be returned.  APR_EINTR is never returned.
+ * be returned.  #APR_EINTR is never returned.
  */
 APR_DECLARE(apr_status_t) apr_file_write(apr_file_t *thefile, const void *buf,
                                          apr_size_t *nbytes);
@@ -439,14 +472,14 @@
  * @param thefile The file descriptor to write to.
  * @param vec The array from which to get the data to write to the file.
  * @param nvec The number of elements in the struct iovec array. This must 
- *             be smaller than APR_MAX_IOVEC_SIZE.  If it isn't, the function 
- *             will fail with APR_EINVAL.
+ *             be smaller than #APR_MAX_IOVEC_SIZE.  If it isn't, the function 
+ *             will fail with #APR_EINVAL.
  * @param nbytes The number of bytes written.
  *
  * @remark It is possible for both bytes to be written and an error to
- * be returned.  APR_EINTR is never returned.
+ * be returned.  #APR_EINTR is never returned.
  *
- * @remark apr_file_writev is available even if the underlying
+ * @remark apr_file_writev() is available even if the underlying
  * operating system doesn't provide writev().
  */
 APR_DECLARE(apr_status_t) apr_file_writev(apr_file_t *thefile,
@@ -461,7 +494,7 @@
  * @param nbytes The number of bytes to read.
  * @param bytes_read If non-NULL, this will contain the number of bytes read.
  *
- * @remark apr_file_read will read up to the specified number of
+ * @remark apr_file_read_full() will read up to the specified number of
  * bytes, but never more.  If there isn't enough data to fill that
  * number of bytes, then the process/thread will block until it is
  * available or EOF is reached.  If a char was put back into the
@@ -471,7 +504,7 @@
  * returned.  And if *bytes_read is less than nbytes, an accompanying
  * error is _always_ returned.
  *
- * @remark APR_EINTR is never returned.
+ * @remark #APR_EINTR is never returned.
  */
 APR_DECLARE(apr_status_t) apr_file_read_full(apr_file_t *thefile, void *buf,
                                              apr_size_t nbytes,
@@ -485,7 +518,7 @@
  * @param nbytes The number of bytes to write.
  * @param bytes_written If non-NULL, set to the number of bytes written.
  * 
- * @remark apr_file_write will write up to the specified number of
+ * @remark apr_file_write_full() will write up to the specified number of
  * bytes, but never more.  If the OS cannot write that many bytes, the
  * process/thread will block until they can be written. Exceptional
  * error such as "out of space" or "pipe closed" will terminate with
@@ -495,7 +528,7 @@
  * be returned.  And if *bytes_written is less than nbytes, an
  * accompanying error is _always_ returned.
  *
- * @remark APR_EINTR is never returned.
+ * @remark #APR_EINTR is never returned.
  */
 APR_DECLARE(apr_status_t) apr_file_write_full(apr_file_t *thefile, 
                                               const void *buf,
@@ -509,11 +542,11 @@
  * @param thefile The file descriptor to write to.
  * @param vec The array from which to get the data to write to the file.
  * @param nvec The number of elements in the struct iovec array. This must 
- *             be smaller than APR_MAX_IOVEC_SIZE.  If it isn't, the function 
- *             will fail with APR_EINVAL.
+ *             be smaller than #APR_MAX_IOVEC_SIZE.  If it isn't, the function 
+ *             will fail with #APR_EINVAL.
  * @param nbytes The number of bytes written.
  *
- * @remark apr_file_writev_full is available even if the underlying
+ * @remark apr_file_writev_full() is available even if the underlying
  * operating system doesn't provide writev().
  */
 APR_DECLARE(apr_status_t) apr_file_writev_full(apr_file_t *thefile,
@@ -621,7 +654,7 @@
  * @param buffer   The buffer
  * @param bufsize  The size of the buffer
  * @remark It is possible to add a buffer to previously unbuffered
- *         file handles, the APR_BUFFERED flag will be added to
+ *         file handles, the #APR_FOPEN_BUFFERED flag will be added to
  *         the file handle's flags. Likewise, with buffer=NULL and
  *         bufsize=0 arguments it is possible to make a previously
  *         buffered file handle unbuffered.
@@ -640,11 +673,9 @@
  * Move the read/write file offset to a specified byte within a file.
  * @param thefile The file descriptor
  * @param where How to move the pointer, one of:
- * <PRE>
- *            APR_SET  --  set the offset to offset
- *            APR_CUR  --  add the offset to the current position 
- *            APR_END  --  add the offset to the current file size 
- * </PRE>
+ *              @li #APR_SET  --  set the offset to offset
+ *              @li #APR_CUR  --  add the offset to the current position 
+ *              @li #APR_END  --  add the offset to the current file size 
  * @param offset The offset to move the pointer to.
  * @remark The third argument is modified to be the offset the pointer
           was actually moved to.
@@ -664,7 +695,7 @@
  * @bug  Some platforms cannot toggle between blocking and nonblocking,
  * and when passing a pipe as a standard handle to an application which
  * does not expect it, a non-blocking stream will fluxor the client app.
- * @deprecated @see apr_file_pipe_create_ex
+ * @deprecated @see apr_file_pipe_create_ex()
  */
 APR_DECLARE(apr_status_t) apr_file_pipe_create(apr_file_t **in, 
                                                apr_file_t **out,
@@ -675,13 +706,11 @@
  * @param in The newly created pipe's file for reading.
  * @param out The newly created pipe's file for writing.
  * @param blocking one of these values defined in apr_thread_proc.h;
+ *                 @li #APR_FULL_BLOCK
+ *                 @li #APR_READ_BLOCK
+ *                 @li #APR_WRITE_BLOCK
+ *                 @li #APR_FULL_NONBLOCK
  * @param pool The pool to operate on.
- * <pre>
- *       APR_FULL_BLOCK
- *       APR_READ_BLOCK
- *       APR_WRITE_BLOCK
- *       APR_FULL_NONBLOCK
- * </pre>
  * @remark By default, the returned file descriptors will be inherited
  * by child processes created using apr_proc_create().  This can be
  * changed using apr_file_inherit_unset().
@@ -688,7 +717,7 @@
  * @remark Some platforms cannot toggle between blocking and nonblocking,
  * and when passing a pipe as a standard handle to an application which
  * does not expect it, a non-blocking stream will fluxor the client app.
- * Use this function rather than apr_file_pipe_create to create pipes 
+ * Use this function rather than apr_file_pipe_create() to create pipes 
  * where one or both ends require non-blocking semantics.
  */
 APR_DECLARE(apr_status_t) apr_file_pipe_create_ex(apr_file_t **in, 
@@ -789,11 +818,11 @@
  * @param perms The permission bits to apply to the file.
  *
  * @warning Some platforms may not be able to apply all of the
- * available permission bits; APR_INCOMPLETE will be returned if some
+ * available permission bits; #APR_INCOMPLETE will be returned if some
  * permissions are specified which could not be set.
  *
  * @warning Platforms which do not implement this feature will return
- * APR_ENOTIMPL.
+ * #APR_ENOTIMPL.
  */
 APR_DECLARE(apr_status_t) apr_file_perms_set(const char *fname,
                                              apr_fileperms_t perms);
@@ -802,11 +831,9 @@
  * Set attributes of the specified file.
  * @param fname The full path to the file (using / on all systems)
  * @param attributes Or'd combination of
- * <PRE>
- *            APR_FILE_ATTR_READONLY   - make the file readonly
- *            APR_FILE_ATTR_EXECUTABLE - make the file executable
- *            APR_FILE_ATTR_HIDDEN     - make the file hidden
- * </PRE>
+ *            @li #APR_FILE_ATTR_READONLY   - make the file readonly
+ *            @li #APR_FILE_ATTR_EXECUTABLE - make the file executable
+ *            @li #APR_FILE_ATTR_HIDDEN     - make the file hidden
  * @param attr_mask Mask of valid bits in attributes.
  * @param pool the pool to use.
  * @remark This function should be used in preference to explicit manipulation
@@ -814,7 +841,7 @@
  *      attributes are platform specific and may involve more than simply
  *      setting permission bits.
  * @warning Platforms which do not implement this feature will return
- *      APR_ENOTIMPL.
+ *      #APR_ENOTIMPL.
  */
 APR_DECLARE(apr_status_t) apr_file_attrs_set(const char *fname,
                                              apr_fileattrs_t attributes,
@@ -827,7 +854,7 @@
  * @param mtime The mtime to apply to the file.
  * @param pool The pool to use.
  * @warning Platforms which do not implement this feature will return
- *      APR_ENOTIMPL.
+ *      #APR_ENOTIMPL.
  */
 APR_DECLARE(apr_status_t) apr_file_mtime_set(const char *fname,
                                              apr_time_t mtime,
@@ -865,7 +892,7 @@
 /**
  * get the specified file's stats.
  * @param finfo Where to store the information about the file.
- * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_ values 
+ * @param wanted The desired apr_finfo_t fields, as a bit flag of APR_FINFO_* values 
  * @param thefile The file to get information about.
  */ 
 APR_DECLARE(apr_status_t) apr_file_info_get(apr_finfo_t *finfo, 
@@ -910,7 +937,8 @@
  * @param templ The template to use when creating a temp file.
  * @param flags The flags to open the file with. If this is zero,
  *              the file is opened with 
- *              APR_CREATE | APR_READ | APR_WRITE | APR_EXCL | APR_DELONCLOSE
+ *              #APR_FOPEN_CREATE | #APR_FOPEN_READ | #APR_FOPEN_WRITE |
+ *              #APR_FOPEN_EXCL | #APR_FOPEN_DELONCLOSE
  * @param p The pool to allocate the file out of.
  * @remark   
  * This function  generates  a unique temporary file name from template.  

Modified: trunk/contrib/apr/include/apr_fnmatch.h
===================================================================
--- trunk/contrib/apr/include/apr_fnmatch.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_fnmatch.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -60,9 +60,7 @@
 #define APR_FNM_NOESCAPE    0x01  /**< Disable backslash escaping. */
 #define APR_FNM_PATHNAME    0x02  /**< Slash must be matched by slash. */
 #define APR_FNM_PERIOD      0x04  /**< Period must be matched by period. */
-#define APR_FNM_CASE_BLIND  0x08  /**< Compare characters case-insensitively.
-                                   * @remark This flag is an Apache addition 
-                                   */
+#define APR_FNM_CASE_BLIND  0x08  /**< Compare characters case-insensitively. */
 
 /**
  * Try to match the string to the given pattern, return APR_SUCCESS if
@@ -130,13 +128,19 @@
 APR_DECLARE(int) apr_fnmatch_test(const char *pattern);
 
 /**
- * Find all files that match a specified pattern.
- * @param pattern The pattern to use for finding files.
+ * Find all files that match a specified pattern in a directory.
+ * @param dir_pattern The pattern to use for finding files, appended
+ * to the search directory.  The pattern is anything following the
+ * final forward or backward slash in the parameter.  If no slash
+ * is found, the current directory is searched.
  * @param result Array to use when storing the results
  * @param p The pool to use.
- * @return non-zero if pattern has any glob characters in it
+ * @return APR_SUCCESS if no processing errors occurred, APR error
+ * code otherwise
+ * @remark The returned array may be empty even if APR_SUCCESS was
+ * returned.
  */
-APR_DECLARE(apr_status_t) apr_match_glob(const char *pattern, 
+APR_DECLARE(apr_status_t) apr_match_glob(const char *dir_pattern, 
                                          apr_array_header_t **result,
                                          apr_pool_t *p);
 

Modified: trunk/contrib/apr/include/apr_hash.h
===================================================================
--- trunk/contrib/apr/include/apr_hash.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_hash.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -167,6 +167,27 @@
                                 apr_ssize_t *klen, void **val);
 
 /**
+ * Get the current entry's key from the iteration state.
+ * @param hi The iteration state
+ * @return The pointer to the key
+ */
+APR_DECLARE(const void*) apr_hash_this_key(apr_hash_index_t *hi);
+
+/**
+ * Get the current entry's key length from the iteration state.
+ * @param hi The iteration state
+ * @return The key length
+ */
+APR_DECLARE(apr_ssize_t) apr_hash_this_key_len(apr_hash_index_t *hi);
+
+/**
+ * Get the current entry's value from the iteration state.
+ * @param hi The iteration state
+ * @return The pointer to the value
+ */
+APR_DECLARE(void*) apr_hash_this_val(apr_hash_index_t *hi);
+
+/**
  * Get the number of key/value pairs in the hash table.
  * @param ht The hash table
  * @return The number of key/value pairs in the hash table.

Modified: trunk/contrib/apr/include/apr_inherit.h
===================================================================
--- trunk/contrib/apr/include/apr_inherit.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_inherit.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -28,7 +28,7 @@
  * Prototype for type-specific declarations of apr_foo_inherit_set 
  * functions.  
  * @remark Doxygen unwraps this macro (via doxygen.conf) to provide 
- * actual help for each specific occurance of apr_foo_inherit_set.
+ * actual help for each specific occurrence of apr_foo_inherit_set.
  * @remark the linkage is specified for APR. It would be possible to expand
  *       the macros to support other linkages.
  */
@@ -40,7 +40,7 @@
  * Prototype for type-specific declarations of apr_foo_inherit_unset 
  * functions.  
  * @remark Doxygen unwraps this macro (via doxygen.conf) to provide 
- * actual help for each specific occurance of apr_foo_inherit_unset.
+ * actual help for each specific occurrence of apr_foo_inherit_unset.
  * @remark the linkage is specified for APR. It would be possible to expand
  *       the macros to support other linkages.
  */

Modified: trunk/contrib/apr/include/apr_lib.h
===================================================================
--- trunk/contrib/apr/include/apr_lib.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_lib.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -111,19 +111,19 @@
  * <PRE>
  * The extensions are:
  *
- * %%pA	takes a struct in_addr *, and prints it as a.b.c.d
- * %%pI	takes an apr_sockaddr_t * and prints it as a.b.c.d:port or
- *      [ipv6-address]:port
- * %%pT takes an apr_os_thread_t * and prints it in decimal
- *      ('0' is printed if !APR_HAS_THREADS)
- * %%pt takes an apr_os_thread_t * and prints it in hexadecimal
- *      ('0' is printed if !APR_HAS_THREADS)
- * %%pm takes an apr_status_t * and prints the appropriate error
- *      string (from apr_strerror) corresponding to that error code.
- * %%pp takes a void * and outputs it in hex
- * %%pB takes a apr_uint32_t * as bytes and outputs it's apr_strfsize
- * %%pF same as above, but takes a apr_off_t *
- * %%pS same as above, but takes a apr_size_t *
+ * - %%pA takes a struct in_addr *, and prints it as a.b.c.d
+ * - %%pI takes an apr_sockaddr_t * and prints it as a.b.c.d:port or
+ * \[ipv6-address\]:port
+ * - %%pT takes an apr_os_thread_t * and prints it in decimal
+ * ('0' is printed if !APR_HAS_THREADS)
+ * - %%pt takes an apr_os_thread_t * and prints it in hexadecimal
+ * ('0' is printed if !APR_HAS_THREADS)
+ * - %%pm takes an apr_status_t * and prints the appropriate error
+ * string (from apr_strerror) corresponding to that error code.
+ * - %%pp takes a void * and outputs it in hex
+ * - %%pB takes a apr_uint32_t * as bytes and outputs it's apr_strfsize
+ * - %%pF same as above, but takes a apr_off_t *
+ * - %%pS same as above, but takes a apr_size_t *
  *
  * %%pA, %%pI, %%pT, %%pp are available from APR 1.0.0 onwards (and in 0.9.x).
  * %%pt is only available from APR 1.2.0 onwards.

Modified: trunk/contrib/apr/include/apr_mmap.h
===================================================================
--- trunk/contrib/apr/include/apr_mmap.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_mmap.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -120,7 +120,7 @@
 /** 
  * Create a new mmap'ed file out of an existing APR file.
  * @param newmmap The newly created mmap'ed file.
- * @param file The file turn into an mmap.
+ * @param file The file to turn into an mmap.
  * @param offset The offset into the file to start the data pointer at.
  * @param size The size of the file
  * @param flag bit-wise or of:

Modified: trunk/contrib/apr/include/apr_network_io.h
===================================================================
--- trunk/contrib/apr/include/apr_network_io.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_network_io.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -99,6 +99,8 @@
                                     * until data is available.
                                     * @see apr_socket_accept_filter
                                     */
+#define APR_SO_BROADCAST     65536 /**< Allow broadcast
+                                    */
 
 /** @} */
 
@@ -278,6 +280,9 @@
  * @param type The type of the socket (e.g., SOCK_STREAM).
  * @param protocol The protocol of the socket (e.g., APR_PROTO_TCP).
  * @param cont The pool for the apr_socket_t and associated storage.
+ * @note The pool will be used by various functions that operate on the
+ *       socket. The caller must ensure that it is not used by other threads
+ *       at the same time.
  */
 APR_DECLARE(apr_status_t) apr_socket_create(apr_socket_t **new_sock, 
                                             int family, int type,
@@ -333,6 +338,9 @@
  *                 be used for all future communication.
  * @param sock The socket we are listening on.
  * @param connection_pool The pool for the new socket.
+ * @note The pool will be used by various functions that operate on the
+ *       socket. The caller must ensure that it is not used by other threads
+ *       at the same time.
  */
 APR_DECLARE(apr_status_t) apr_socket_accept(apr_socket_t **new_sock, 
                                             apr_socket_t *sock,
@@ -397,6 +405,8 @@
  * @param hostname The hostname.
  * @param sa The apr_sockaddr_t.
  * @param flags Special processing flags.
+ * @remark Results can vary significantly between platforms
+ * when processing wildcard socket addresses.
  */
 APR_DECLARE(apr_status_t) apr_getnameinfo(char **hostname,
                                           apr_sockaddr_t *sa,
@@ -489,7 +499,7 @@
                                           apr_size_t *len);
 
 /**
- * Send multiple packets of data over a network.
+ * Send multiple buffers over a network.
  * @param sock The socket to send the data over.
  * @param vec The array of iovec structs containing the data to send 
  * @param nvec The number of iovec structs in the array
@@ -499,7 +509,7 @@
  * This functions acts like a blocking write by default.  To change 
  * this behavior, use apr_socket_timeout_set() or the APR_SO_NONBLOCK
  * socket option.
- * The number of bytes actually sent is stored in argument 3.
+ * The number of bytes actually sent is stored in argument 4.
  *
  * It is possible for both bytes to be sent and an error to be returned.
  *
@@ -671,7 +681,7 @@
 
 /**
  * Return an address associated with a socket; either the address to
- * which the socket is bound locally or the the address of the peer
+ * which the socket is bound locally or the address of the peer
  * to which the socket is connected.
  * @param sa The returned apr_sockaddr_t.
  * @param which Whether to retrieve the local or remote address
@@ -713,6 +723,16 @@
                                     const apr_sockaddr_t *addr2);
 
 /**
+ * See if the IP address in an APR socket address refers to the wildcard
+ * address for the protocol family (e.g., INADDR_ANY for IPv4).
+ *
+ * @param addr The APR socket address to examine.
+ * @remark The return value will be non-zero if the address is
+ * initialized and is the wildcard address.
+ */
+APR_DECLARE(int) apr_sockaddr_is_wildcard(const apr_sockaddr_t *addr);
+
+/**
 * Return the type of the socket.
 * @param sock The socket to query.
 * @param type The returned type (e.g., SOCK_STREAM).

Modified: trunk/contrib/apr/include/apr_poll.h
===================================================================
--- trunk/contrib/apr/include/apr_poll.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_poll.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -42,7 +42,9 @@
  */
 
 /**
- * Poll options
+ * @defgroup pollopts Poll options
+ * @ingroup apr_poll
+ * @{
  */
 #define APR_POLLIN    0x001     /**< Can read without blocking */
 #define APR_POLLPRI   0x002     /**< Priority data available */
@@ -50,9 +52,12 @@
 #define APR_POLLERR   0x010     /**< Pending error */
 #define APR_POLLHUP   0x020     /**< Hangup occurred */
 #define APR_POLLNVAL  0x040     /**< Descriptor invalid */
+/** @} */
 
 /**
- * Pollset Flags
+ * @defgroup pollflags Pollset Flags
+ * @ingroup apr_poll
+ * @{
  */
 #define APR_POLLSET_THREADSAFE 0x001 /**< Adding or removing a descriptor is
                                       * thread-safe
@@ -67,6 +72,7 @@
                                       * the specified non-default method cannot be
                                       * used
                                       */
+/** @} */
 
 /**
  * Pollset Methods
@@ -77,7 +83,8 @@
     APR_POLLSET_KQUEUE,         /**< Poll uses kqueue method */
     APR_POLLSET_PORT,           /**< Poll uses Solaris event port method */
     APR_POLLSET_EPOLL,          /**< Poll uses epoll method */
-    APR_POLLSET_POLL            /**< Poll uses poll method */
+    APR_POLLSET_POLL,           /**< Poll uses poll method */
+    APR_POLLSET_AIO_MSGQ        /**< Poll uses z/OS asio method */
 } apr_pollset_method_e;
 
 /** Used in apr_pollfd_t to determine what the apr_descriptor is */
@@ -131,7 +138,7 @@
  * @remark If flags contains APR_POLLSET_WAKEABLE, then a pollset is
  *         created with an additional internal pipe object used for the
  *         apr_pollset_wakeup() call. The actual size of pollset is
- *         in that case size + 1. This feature is only supported on some
+ *         in that case @a size + 1. This feature is only supported on some
  *         platforms; the apr_pollset_create() call will fail with
  *         APR_ENOTIMPL on platforms where it is not supported.
  * @remark If flags contains APR_POLLSET_NOCOPY, then the apr_pollfd_t
@@ -226,6 +233,7 @@
  * Remove a descriptor from a pollset
  * @param pollset The pollset from which to remove the descriptor
  * @param descriptor The descriptor to remove
+ * @remark If the descriptor is not found, APR_NOTFOUND is returned.
  * @remark If the pollset has been created with APR_POLLSET_THREADSAFE
  *         and thread T1 is blocked in a call to apr_pollset_poll() for
  *         this same pollset that is being modified via apr_pollset_remove()
@@ -259,8 +267,6 @@
  * @remark Multiple signalled conditions for the same descriptor may be reported
  *         in one or more returned apr_pollfd_t structures, depending on the
  *         implementation.
- * @bug With versions 1.4.2 and prior on Windows, a call with no descriptors
- *      and timeout will return immediately with the wrong error code.
  */
 APR_DECLARE(apr_status_t) apr_pollset_poll(apr_pollset_t *pollset,
                                            apr_interval_time_t timeout,
@@ -290,8 +296,6 @@
  *         descriptor has been signalled or the timeout has expired. 
  * @remark The rtnevents field in the apr_pollfd_t array will only be filled-
  *         in if the return value is APR_SUCCESS.
- * @bug With versions 1.4.2 and prior on Windows, a call with no descriptors
- *      and timeout will return immediately with the wrong error code.
  */
 APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprset, apr_int32_t numsock,
                                    apr_int32_t *nsds, 
@@ -309,7 +313,7 @@
  */
 APR_DECLARE(const char *) apr_poll_method_defname(void);
 
-/** Opaque structure used for pollset API */
+/** Opaque structure used for pollcb API */
 typedef struct apr_pollcb_t apr_pollcb_t;
 
 /**
@@ -397,8 +401,6 @@
  * @remark Multiple signalled conditions for the same descriptor may be reported
  *         in one or more calls to the callback function, depending on the
  *         implementation.
- * @bug With versions 1.4.2 and prior on Windows, a call with no descriptors
- *      and timeout will return immediately with the wrong error code.
  */
 APR_DECLARE(apr_status_t) apr_pollcb_poll(apr_pollcb_t *pollcb,
                                           apr_interval_time_t timeout,

Modified: trunk/contrib/apr/include/apr_pools.h
===================================================================
--- trunk/contrib/apr/include/apr_pools.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_pools.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -71,10 +71,10 @@
  * <pre>
  *    APR_POOL_DECLARE_ACCESSOR(file);
  * becomes:
- *    APR_DECLARE(apr_pool_t *) apr_file_pool_get(apr_file_t *ob);
+ *    APR_DECLARE(apr_pool_t *) apr_file_pool_get(const apr_file_t *thefile);
  * </pre>
  * @remark Doxygen unwraps this macro (via doxygen.conf) to provide 
- * actual help for each specific occurance of apr_foo_pool_get.
+ * actual help for each specific occurrence of apr_foo_pool_get.
  * @remark the linkage is specified for APR. It would be possible to expand
  *       the macros to support other linkages.
  */
@@ -118,15 +118,15 @@
  *
  * |   |   |   |   | x |   |   |   |  Pool owner checking.  On each use of a
  *                                    pool, check if the current thread is the
- *                                    pools owner.  If not, abort().  In
+ *                                    pool's owner.  If not, abort().  In
  *                                    combination with the verbose flag above,
  *                                    it will output OWNER in such an event
  *                                    prior to aborting.  Use the debug
  *                                    function apr_pool_owner_set() to switch
- *                                    a pools ownership.
+ *                                    a pool's ownership.
  *
  * When no debug level was specified, assume general debug mode.
- * If level 0 was specified, debugging is switched off
+ * If level 0 was specified, debugging is switched off.
  * </pre>
  */
 #if defined(APR_POOL_DEBUG)
@@ -212,12 +212,16 @@
  * @param newpool The pool we have just created.
  * @param abort_fn A function to use if the pool cannot allocate more memory.
  * @param allocator The allocator to use with the new pool.  If NULL a
- *        new allocator will be crated with newpool as owner.
+ *        new allocator will be created with the new pool as owner.
  * @remark An unmanaged pool is a special pool without a parent; it will
  *         NOT be destroyed upon apr_terminate.  It must be explicitly
  *         destroyed by calling apr_pool_destroy, to prevent memory leaks.
  *         Use of this function is discouraged, think twice about whether
  *         you really really need it.
+ * @warning Any child cleanups registered against the new pool, or
+ *         against sub-pools thereof, will not be executed during an
+ *         invocation of apr_proc_create(), so resources created in an
+ *         "unmanaged" pool hierarchy will leak to child processes.
  */
 APR_DECLARE(apr_status_t) apr_pool_create_unmanaged_ex(apr_pool_t **newpool,
                                                    apr_abortfunc_t abort_fn,
@@ -233,7 +237,7 @@
  * @param file_line Where the function is called from.
  *        This is usually APR_POOL__FILE_LINE__.
  * @remark Only available when APR_POOL_DEBUG is defined.
- *         Call this directly if you have you apr_pool_create_ex
+ *         Call this directly if you have your apr_pool_create_ex
  *         calls in a wrapper function and wish to override
  *         the file_line argument to reflect the caller of
  *         your wrapper function.  If you do not have
@@ -270,7 +274,7 @@
  * @param file_line Where the function is called from.
  *        This is usually APR_POOL__FILE_LINE__.
  * @remark Only available when APR_POOL_DEBUG is defined.
- *         Call this directly if you have you apr_pool_create_unmanaged_ex
+ *         Call this directly if you have your apr_pool_create_unmanaged_ex
  *         calls in a wrapper function and wish to override
  *         the file_line argument to reflect the caller of
  *         your wrapper function.  If you do not have
@@ -321,7 +325,7 @@
 #endif
 
 /**
- * Create a new pool.
+ * Create a new unmanaged pool.
  * @param newpool The pool we have just created.
  */
 #if defined(DOXYGEN)
@@ -366,7 +370,7 @@
  * @param file_line Where the function is called from.
  *        This is usually APR_POOL__FILE_LINE__.
  * @remark Only available when APR_POOL_DEBUG is defined.
- *         Call this directly if you have you apr_pool_clear
+ *         Call this directly if you have your apr_pool_clear
  *         calls in a wrapper function and wish to override
  *         the file_line argument to reflect the caller of
  *         your wrapper function.  If you do not have
@@ -396,7 +400,7 @@
  * @param file_line Where the function is called from.
  *        This is usually APR_POOL__FILE_LINE__.
  * @remark Only available when APR_POOL_DEBUG is defined.
- *         Call this directly if you have you apr_pool_destroy
+ *         Call this directly if you have your apr_pool_destroy
  *         calls in a wrapper function and wish to override
  *         the file_line argument to reflect the caller of
  *         your wrapper function.  If you do not have
@@ -614,7 +618,7 @@
 
 /**
  * Register a function to be called when a pool is cleared or destroyed
- * @param p The pool register the cleanup with
+ * @param p The pool to register the cleanup with
  * @param data The data to pass to the cleanup function.
  * @param plain_cleanup The function to call when the pool is cleared
  *                      or destroyed
@@ -630,11 +634,11 @@
 /**
  * Register a function to be called when a pool is cleared or destroyed.
  *
- * Unlike apr_pool_cleanup_register which register a cleanup
- * that is called AFTER all subpools are destroyed this function register
- * a function that will be called before any of the subpool is destoryed.
+ * Unlike apr_pool_cleanup_register which registers a cleanup
+ * that is called AFTER all subpools are destroyed, this function registers
+ * a function that will be called before any of the subpools are destroyed.
  *
- * @param p The pool register the cleanup with
+ * @param p The pool to register the cleanup with
  * @param data The data to pass to the cleanup function.
  * @param plain_cleanup The function to call when the pool is cleared
  *                      or destroyed

Modified: trunk/contrib/apr/include/apr_shm.h
===================================================================
--- trunk/contrib/apr/include/apr_shm.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_shm.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -43,7 +43,8 @@
 typedef struct apr_shm_t apr_shm_t;
 
 /**
- * Create and make accessable a shared memory segment.
+ * Create and make accessible a shared memory segment with default
+ * properties.
  * @param m The shared memory structure to create.
  * @param reqsize The desired size of the segment.
  * @param filename The file to use for shared memory on platforms that
@@ -71,6 +72,52 @@
                                          apr_pool_t *pool);
 
 /**
+ * Special processing flags for apr_shm_create_ex() and apr_shm_attach_ex().
+ */
+#define APR_SHM_NS_LOCAL    1 /* Create or attach to named shared memory
+                               * segment in the "Local" namespace on
+                               * Windows.  (Ignored on other platforms.)
+                               * By default, the "Global" namespace is
+                               * used for privileged processes and the
+                               * "Local" namespace is used otherwise.
+                               */
+#define APR_SHM_NS_GLOBAL   2 /* Create or attach to named shared memory
+                               * segment in the "Global" namespace on
+                               * Windows.  (Ignored on other platforms.)
+                               */
+
+/**
+ * Create and make accessible a shared memory segment with platform-
+ * specific processing.
+ * @param m The shared memory structure to create.
+ * @param reqsize The desired size of the segment.
+ * @param filename The file to use for shared memory on platforms that
+ *        require it.
+ * @param pool the pool from which to allocate the shared memory
+ *        structure.
+ * @param flags mask of APR_SHM_* (defined above)
+ * @remark A note about Anonymous vs. Named shared memory segments:
+ *         Not all plaforms support anonymous shared memory segments, but in
+ *         some cases it is prefered over other types of shared memory
+ *         implementations. Passing a NULL 'file' parameter to this function
+ *         will cause the subsystem to use anonymous shared memory segments.
+ *         If such a system is not available, APR_ENOTIMPL is returned.
+ * @remark A note about allocation sizes:
+ *         On some platforms it is necessary to store some metainformation
+ *         about the segment within the actual segment. In order to supply
+ *         the caller with the requested size it may be necessary for the
+ *         implementation to request a slightly greater segment length
+ *         from the subsystem. In all cases, the apr_shm_baseaddr_get()
+ *         function will return the first usable byte of memory.
+ * 
+ */
+APR_DECLARE(apr_status_t) apr_shm_create_ex(apr_shm_t **m,
+                                            apr_size_t reqsize,
+                                            const char *filename,
+                                            apr_pool_t *pool,
+                                            apr_int32_t flags);
+
+/**
  * Remove named resource associated with a shared memory segment,
  * preventing attachments to the resource, but not destroying it.
  * @param filename The filename associated with shared-memory segment which
@@ -80,7 +127,7 @@
  * name-based shared memory segments, and will return APR_ENOTIMPL on
  * platforms without such support.  Removing the file while the shm
  * is in use is not entirely portable, caller may use this to enhance
- * obscurity of the resource, but be prepared for the the call to fail,
+ * obscurity of the resource, but be prepared for the call to fail,
  * and for concurrent attempts to create a resource of the same name
  * to also fail.  The pool cleanup of apr_shm_create (apr_shm_destroy)
  * also removes the named resource.
@@ -108,6 +155,21 @@
                                          apr_pool_t *pool);
 
 /**
+ * Attach to a shared memory segment that was created
+ * by another process, with platform-specific processing.
+ * @param m The shared memory structure to create.
+ * @param filename The file used to create the original segment.
+ *        (This MUST match the original filename.)
+ * @param pool the pool from which to allocate the shared memory
+ *        structure for this process.
+ * @param flags mask of APR_SHM_* (defined above)
+ */
+APR_DECLARE(apr_status_t) apr_shm_attach_ex(apr_shm_t **m,
+                                            const char *filename,
+                                            apr_pool_t *pool,
+                                            apr_int32_t flags);
+
+/**
  * Detach from a shared memory segment without destroying it.
  * @param m The shared memory structure representing the segment
  *        to detach from.

Copied: trunk/contrib/apr/include/apr_skiplist.h (from rev 9277, vendor/apache/apr/dist/include/apr_skiplist.h)
===================================================================
--- trunk/contrib/apr/include/apr_skiplist.h	                        (rev 0)
+++ trunk/contrib/apr/include/apr_skiplist.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -0,0 +1,263 @@
+/* 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.
+ */
+
+#ifndef APR_SKIPLIST_H
+#define APR_SKIPLIST_H
+/**
+ * @file apr_skiplist.h
+ * @brief APR skip list implementation
+ */
+
+#include "apr.h"
+#include "apr_portable.h"
+#include <stdlib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/**
+ * @defgroup apr_skiplist Skip list implementation
+ * Refer to http://en.wikipedia.org/wiki/Skip_list for information
+ * about the purpose of and ideas behind skip lists.
+ * @ingroup APR
+ * @{
+ */
+
+/**
+ * apr_skiplist_compare is the function type that must be implemented 
+ * per object type that is used in a skip list for comparisons to maintain
+ * order. A value <0 indicates placement after this node; a value of 0
+ * indicates collision with this exact node; a value >0 indicates placement
+ * before this node.
+ * */
+typedef int (*apr_skiplist_compare) (void *, void *);
+
+/**
+ * apr_skiplist_freefunc is the function type that must be implemented
+ * to handle elements as they are removed from a skip list.
+ */
+typedef void (*apr_skiplist_freefunc) (void *);
+
+/** Opaque structure used to represent the skip list */
+struct apr_skiplist;
+/** Opaque structure used to represent the skip list */
+typedef struct apr_skiplist apr_skiplist;
+
+/** 
+ * Opaque structure used to represent abstract nodes in the skip list
+ * (an abstraction above the raw elements which are collected in the
+ * skip list).
+ */
+struct apr_skiplistnode;
+/** Opaque structure */
+typedef struct apr_skiplistnode apr_skiplistnode;
+
+/**
+ * Allocate memory using the same mechanism as the skip list.
+ * @param sl The skip list
+ * @param size The amount to allocate
+ * @remark If a pool was provided to apr_skiplist_init(), memory will
+ * be allocated from the pool or from a free list maintained with
+ * the skip list.  Otherwise, memory will be allocated using the
+ * C standard library heap functions.
+ */
+APR_DECLARE(void *) apr_skiplist_alloc(apr_skiplist *sl, size_t size);
+
+/**
+ * Free memory using the same mechanism as the skip list.
+ * @param sl The skip list
+ * @param mem The object to free
+ * @remark If a pool was provided to apr_skiplist_init(), memory will
+ * be added to a free list maintained with the skip list and be available
+ * to operations on the skip list or to other calls to apr_skiplist_alloc().
+ * Otherwise, memory will be freed using the  C standard library heap
+ * functions.
+ */
+APR_DECLARE(void) apr_skiplist_free(apr_skiplist *sl, void *mem);
+
+/**
+ * Allocate a new skip list
+ * @param sl The pointer in which to return the newly created skip list
+ * @param p The pool from which to allocate the skip list (optional).
+ * @remark Unlike most APR functions, a pool is optional.  If no pool
+ * is provided, the C standard library heap functions will be used instead.
+ */
+APR_DECLARE(apr_status_t) apr_skiplist_init(apr_skiplist **sl, apr_pool_t *p);
+
+/**
+ * Set the comparison functions to be used for searching the skip list.
+ * @param sl The skip list
+ * @param XXX1 FIXME
+ * @param XXX2 FIXME
+ *
+ * @remark If existing comparison functions are being replaced, the index
+ * will be replaced during this call.  That is a potentially expensive
+ * operation.
+ */
+APR_DECLARE(void) apr_skiplist_set_compare(apr_skiplist *sl, apr_skiplist_compare XXX1,
+                             apr_skiplist_compare XXX2);
+
+/**
+ * Set the indexing functions to the specified comparison functions and
+ * rebuild the index.
+ * @param sl The skip list
+ * @param XXX1 FIXME
+ * @param XXX2 FIXME
+ *
+ * @remark If an index already exists, it will not be replaced and the
+ * comparison functions will not be changed.
+ */
+APR_DECLARE(void) apr_skiplist_add_index(apr_skiplist *sl, apr_skiplist_compare XXX1,
+                        apr_skiplist_compare XXX2);
+
+/**
+ * Return the list maintained by the skip list abstraction.
+ * @param sl The skip list
+ */
+APR_DECLARE(apr_skiplistnode *) apr_skiplist_getlist(apr_skiplist *sl);
+
+/**
+ * Return the next matching element in the skip list using the specified
+ * comparison function.
+ * @param sl The skip list
+ * @param data The value to search for
+ * @param iter A pointer to the returned skip list node representing the element
+ * found
+ * @param func The comparison function to use
+ */
+APR_DECLARE(void *) apr_skiplist_find_compare(apr_skiplist *sl,
+                               void *data,
+                               apr_skiplistnode **iter,
+                               apr_skiplist_compare func);
+
+/**
+ * Return the next matching element in the skip list using the current comparison
+ * function.
+ * @param sl The skip list
+ * @param data The value to search for
+ * @param iter A pointer to the returned skip list node representing the element
+ * found
+ */
+APR_DECLARE(void *) apr_skiplist_find(apr_skiplist *sl, void *data, apr_skiplistnode **iter);
+
+/**
+ * Return the next element in the skip list.
+ * @param sl The skip list
+ * @param iter On entry, a pointer to the skip list node to start with; on return,
+ * a pointer to the skip list node representing the element returned
+ * @remark If iter points to a NULL value on entry, NULL will be returned.
+ */
+APR_DECLARE(void *) apr_skiplist_next(apr_skiplist *sl, apr_skiplistnode **iter);
+
+/**
+ * Return the previous element in the skip list.
+ * @param sl The skip list
+ * @param iter On entry, a pointer to the skip list node to start with; on return,
+ * a pointer to the skip list node representing the element returned
+ * @remark If iter points to a NULL value on entry, NULL will be returned.
+ */
+APR_DECLARE(void *) apr_skiplist_previous(apr_skiplist *sl, apr_skiplistnode **iter);
+
+/**
+ * Insert an element into the skip list using the specified comparison function
+ * if it does not already exist.
+ * @param sl The skip list
+ * @param data The element to insert
+ * @param comp The comparison function to use for placement into the skip list
+ */
+APR_DECLARE(apr_skiplistnode *) apr_skiplist_insert_compare(apr_skiplist *sl,
+                                          void *data, apr_skiplist_compare comp);
+
+/**
+ * Insert an element into the skip list using the existing comparison function
+ * if it does not already exist (as determined by the comparison function)
+ * @param sl The skip list
+ * @param data The element to insert
+ * @remark If no comparison function has been set for the skip list, the element
+ * will not be inserted and NULL will be returned.
+ */
+APR_DECLARE(apr_skiplistnode *) apr_skiplist_insert(apr_skiplist* sl, void *data);
+
+/**
+ * Remove an element from the skip list using the specified comparison function for
+ * locating the element. In the case of duplicates, the 1st entry will be removed.
+ * @param sl The skip list
+ * @param data The element to remove
+ * @param myfree A function to be called for each removed element
+ * @param comp The comparison function to use for placement into the skip list
+ * @remark If the element is not found, 0 will be returned.  Otherwise, the heightXXX
+ * will be returned.
+ */
+APR_DECLARE(int) apr_skiplist_remove_compare(apr_skiplist *sl, void *data,
+                               apr_skiplist_freefunc myfree, apr_skiplist_compare comp);
+
+/**
+ * Remove an element from the skip list using the existing comparison function for
+ * locating the element. In the case of duplicates, the 1st entry will be removed.
+ * @param sl The skip list
+ * @param data The element to remove
+ * @param myfree A function to be called for each removed element
+ * @remark If the element is not found, 0 will be returned.  Otherwise, the heightXXX
+ * will be returned.
+ * @remark If no comparison function has been set for the skip list, the element
+ * will not be removed and 0 will be returned.
+ */
+APR_DECLARE(int) apr_skiplist_remove(apr_skiplist *sl, void *data, apr_skiplist_freefunc myfree);
+
+/**
+ * Remove all elements from the skip list.
+ * @param sl The skip list
+ * @param myfree A function to be called for each removed element
+ */
+APR_DECLARE(void) apr_skiplist_remove_all(apr_skiplist *sl, apr_skiplist_freefunc myfree);
+
+/**
+ * Remove each element from the skip list.
+ * @param sl The skip list
+ * @param myfree A function to be called for each removed element
+ */
+APR_DECLARE(void) apr_skiplist_destroy(apr_skiplist *sl, apr_skiplist_freefunc myfree);
+
+/**
+ * Return the first element in the skip list, removing the element from the skip list.
+ * @param sl The skip list
+ * @param myfree A function to be called for the removed element
+ * @remark NULL will be returned if there are no elements
+ */
+APR_DECLARE(void *) apr_skiplist_pop(apr_skiplist *sl, apr_skiplist_freefunc myfree);
+
+/**
+ * Return the first element in the skip list, leaving the element in the skip list.
+ * @param sl The skip list
+ * @remark NULL will be returned if there are no elements
+ */
+APR_DECLARE(void *) apr_skiplist_peek(apr_skiplist *sl);
+
+/**
+ * Merge two skip lists.  XXX SEMANTICS
+ * @param sl1 One of two skip lists to be merged
+ * @param sl2 The other of two skip lists to be merged
+ */
+APR_DECLARE(apr_skiplist *) apr_skiplist_merge(apr_skiplist *sl1, apr_skiplist *sl2);
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ! APR_SKIPLIST_H */

Modified: trunk/contrib/apr/include/apr_strings.h
===================================================================
--- trunk/contrib/apr/include/apr_strings.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_strings.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -90,7 +90,7 @@
  * duplicate a string into memory allocated out of a pool
  * @param p The pool to allocate out of
  * @param s The string to duplicate
- * @return The new string
+ * @return The new string or NULL if s == NULL
  */
 APR_DECLARE(char *) apr_pstrdup(apr_pool_t *p, const char *s);
 
@@ -100,7 +100,7 @@
  * @param p The pool to allocate out of
  * @param s The block of characters to duplicate
  * @param n The number of characters to duplicate
- * @return The new string
+ * @return The new string or NULL if s == NULL
  * @remark This is a faster alternative to apr_pstrndup, for use
  *         when you know that the string being duplicated really
  *         has 'n' or more characters.  If the string might contain
@@ -118,7 +118,7 @@
  * @param p The pool to allocate out of
  * @param s The string to duplicate
  * @param n The maximum number of characters to duplicate
- * @return The new string
+ * @return The new string or NULL if s == NULL
  * @remark The amount of memory allocated from the pool is the length
  *         of the returned string including the NUL terminator
  */
@@ -130,7 +130,7 @@
  * @param p The pool to allocate from
  * @param m The memory to duplicate
  * @param n The number of bytes to duplicate
- * @return The new block of memory
+ * @return The new block of memory or NULL if m == NULL
  */
 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))
@@ -235,8 +235,14 @@
  *            first call to apr_strtok() for a given string, and NULL
  *            on subsequent calls.
  * @param sep The set of delimiters
- * @param last Internal state saved by apr_strtok() between calls.
+ * @param last State saved by apr_strtok() between calls.
  * @return The next token from the string
+ * @note the 'last' state points to the trailing NUL char of the final
+ * token, otherwise it points to the character following the current
+ * token (all successive or empty occurances of sep are skiped on the
+ * subsequent call to apr_strtok).  Therefore it is possible to avoid
+ * a strlen() determination, with the following logic;
+ * toklen = last - retval; if (*last) --toklen;
  */
 APR_DECLARE(char *) apr_strtok(char *str, const char *sep, char **last);
 

Modified: trunk/contrib/apr/include/apr_tables.h
===================================================================
--- trunk/contrib/apr/include/apr_tables.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_tables.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -268,6 +268,18 @@
 APR_DECLARE(const char *) apr_table_get(const apr_table_t *t, const char *key);
 
 /**
+ * Get values associated with a given key from the table.      If more than one
+ * value exists, return a comma separated list of values.  After this call, the
+ * data is still in the table.
+ * @param p The pool to allocate the combined value from, if necessary
+ * @param t The table to search for the key
+ * @param key The key to search for (case does not matter)
+ * @return The value associated with the key, or NULL if the key does not exist.
+ */
+APR_DECLARE(const char *) apr_table_getm(apr_pool_t *p, const apr_table_t *t,
+                                         const char *key);
+
+/**
  * Add a key/value pair to a table.  If another element already exists with the
  * same key, this will overwrite the old data.
  * @param t The table to add the data to.

Modified: trunk/contrib/apr/include/apr_thread_mutex.h
===================================================================
--- trunk/contrib/apr/include/apr_thread_mutex.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_thread_mutex.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -59,7 +59,7 @@
  * </PRE>
  * @param pool the pool from which to allocate the mutex.
  * @warning Be cautious in using APR_THREAD_MUTEX_DEFAULT.  While this is the
- * most optimial mutex based on a given platform's performance charateristics,
+ * most optimal mutex based on a given platform's performance characteristics,
  * it will behave as either a nested or an unnested lock.
  */
 APR_DECLARE(apr_status_t) apr_thread_mutex_create(apr_thread_mutex_t **mutex,

Modified: trunk/contrib/apr/include/apr_thread_proc.h
===================================================================
--- trunk/contrib/apr/include/apr_thread_proc.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_thread_proc.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -114,7 +114,7 @@
 #define APR_OC_REASON_DEATH         0     /**< child has died, caller must call
                                            * unregister still */
 #define APR_OC_REASON_UNWRITABLE    1     /**< write_fd is unwritable */
-#define APR_OC_REASON_RESTART       2     /**< a restart is occuring, perform
+#define APR_OC_REASON_RESTART       2     /**< a restart is occurring, perform
                                            * any necessary cleanup (including
                                            * sending a special signal to child)
                                            */
@@ -123,7 +123,7 @@
                                            * kill the child) */
 #define APR_OC_REASON_LOST          4     /**< somehow the child exited without
                                            * us knowing ... buggy os? */
-#define APR_OC_REASON_RUNNING       5     /**< a health check is occuring, 
+#define APR_OC_REASON_RUNNING       5     /**< a health check is occurring, 
                                            * for most maintainence functions
                                            * this is a no-op.
                                            */
@@ -197,7 +197,9 @@
 typedef void *(APR_THREAD_FUNC *apr_thread_start_t)(apr_thread_t*, void*);
 
 typedef enum {
-    APR_KILL_NEVER,             /**< process is never sent any signals */
+    APR_KILL_NEVER,             /**< process is never killed (i.e., never sent
+                                 * any signals), but it will be reaped if it exits
+                                 * before the pool is cleaned up */
     APR_KILL_ALWAYS,            /**< process is sent SIGKILL on apr_pool_t cleanup */
     APR_KILL_AFTER_TIMEOUT,     /**< SIGTERM, wait 3 seconds, SIGKILL */
     APR_JUST_WAIT,              /**< wait forever for the process to complete */
@@ -632,7 +634,7 @@
  *            APR_NOWAIT -- return immediately regardless of if the 
  *                          child is dead or not.
  * </PRE>
- * @remark The childs status is in the return code to this process.  It is one of:
+ * @remark The child's status is in the return code to this process.  It is one of:
  * <PRE>
  *            APR_CHILD_DONE     -- child is no longer running.
  *            APR_CHILD_NOTDONE  -- child is still running.

Modified: trunk/contrib/apr/include/apr_time.h
===================================================================
--- trunk/contrib/apr/include/apr_time.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_time.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -42,7 +42,7 @@
 APR_DECLARE_DATA extern const char apr_day_snames[7][4];
 
 
-/** number of microseconds since 00:00:00 january 1, 1970 UTC */
+/** number of microseconds since 00:00:00 January 1, 1970 UTC */
 typedef apr_int64_t apr_time_t;
 
 
@@ -93,7 +93,7 @@
 /**
  * a structure similar to ANSI struct tm with the following differences:
  *  - tm_usec isn't an ANSI field
- *  - tm_gmtoff isn't an ANSI field (it's a bsdism)
+ *  - tm_gmtoff isn't an ANSI field (it's a BSDism)
  */
 struct apr_time_exp_t {
     /** microseconds past tm_sec */
@@ -110,9 +110,9 @@
     apr_int32_t tm_mon;
     /** year since 1900 */
     apr_int32_t tm_year;
-    /** (0-6) days since sunday */
+    /** (0-6) days since Sunday */
     apr_int32_t tm_wday;
-    /** (0-365) days since jan 1 */
+    /** (0-365) days since January 1 */
     apr_int32_t tm_yday;
     /** daylight saving time */
     apr_int32_t tm_isdst;
@@ -121,7 +121,7 @@
 };
 
 /**
- * convert an ansi time_t to an apr_time_t
+ * Convert an ansi time_t to an apr_time_t
  * @param result the resulting apr_time_t
  * @param input the time_t to convert
  */
@@ -129,8 +129,8 @@
                                                     time_t input);
 
 /**
- * convert a time to its human readable components using an offset
- * from GMT
+ * Convert a time to its human readable components using an offset
+ * from GMT.
  * @param result the exploded time
  * @param input the time to explode
  * @param offs the number of seconds offset to apply
@@ -140,7 +140,7 @@
                                           apr_int32_t offs);
 
 /**
- * convert a time to its human readable components in GMT timezone
+ * Convert a time to its human readable components (GMT).
  * @param result the exploded time
  * @param input the time to explode
  */
@@ -148,7 +148,7 @@
                                            apr_time_t input);
 
 /**
- * convert a time to its human readable components in local timezone
+ * Convert a time to its human readable components in the local timezone.
  * @param result the exploded time
  * @param input the time to explode
  */
@@ -156,8 +156,8 @@
                                           apr_time_t input);
 
 /**
- * Convert time value from human readable format to a numeric apr_time_t 
- * e.g. elapsed usec since epoch
+ * Convert time value from human readable format to a numeric apr_time_t
+ * (elapsed microseconds since the epoch).
  * @param result the resulting imploded time
  * @param input the input exploded time
  */
@@ -166,7 +166,7 @@
 
 /**
  * Convert time value from human readable format to a numeric apr_time_t that
- * always represents GMT
+ * always represents GMT.
  * @param result the resulting imploded time
  * @param input the input exploded time
  */
@@ -185,7 +185,7 @@
 /**
  * apr_rfc822_date formats dates in the RFC822
  * format in an efficient manner.  It is a fixed length
- * format which requires the indicated amount of storage,
+ * format which requires APR_RFC822_DATA_LEN bytes of storage,
  * including the trailing NUL terminator.
  * @param date_str String to write to.
  * @param t the time to convert 
@@ -196,11 +196,11 @@
 #define APR_CTIME_LEN (25)
 /**
  * apr_ctime formats dates in the ctime() format
- * in an efficient manner.  it is a fixed length format
- * and requires the indicated amount of storage including
+ * in an efficient manner.  It is a fixed length format
+ * and requires APR_CTIME_LEN bytes of storage including
  * the trailing NUL terminator.
  * Unlike ANSI/ISO C ctime(), apr_ctime() does not include
- * a \n at the end of the string.
+ * a \\n at the end of the string.
  * @param date_str String to write to.
  * @param t the time to convert 
  */
@@ -207,7 +207,7 @@
 APR_DECLARE(apr_status_t) apr_ctime(char *date_str, apr_time_t t);
 
 /**
- * formats the exploded time according to the format specified
+ * Formats the exploded time according to the format specified
  * @param s string to write to
  * @param retsize The length of the returned string
  * @param max The maximum length of the string
@@ -220,7 +220,7 @@
 
 /**
  * Improve the clock resolution for the lifetime of the given pool.
- * Generally this is only desireable on benchmarking and other very
+ * Generally this is only desirable on benchmarking and other very
  * time-sensitive applications, and has no impact on most platforms.
  * @param p The pool to associate the finer clock resolution 
  */

Modified: trunk/contrib/apr/include/apr_user.h
===================================================================
--- trunk/contrib/apr/include/apr_user.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_user.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -81,7 +81,7 @@
  * Get the userid (and groupid) for the specified username
  * @param userid   Returns the user id
  * @param groupid  Returns the user's group id
- * @param username The username to lookup
+ * @param username The username to look up
  * @param p The pool from which to allocate working space
  * @remark This function is available only if APR_HAS_USER is defined.
  */
@@ -103,7 +103,7 @@
  * Compare two user identifiers for equality.
  * @param left One uid to test
  * @param right Another uid to test
- * @return APR_SUCCESS if the apr_uid_t strutures identify the same user,
+ * @return APR_SUCCESS if the apr_uid_t structures identify the same user,
  * APR_EMISMATCH if not, APR_BADARG if an apr_uid_t is invalid.
  * @remark This function is available only if APR_HAS_USER is defined.
  */
@@ -137,7 +137,7 @@
  * Compare two group identifiers for equality.
  * @param left One gid to test
  * @param right Another gid to test
- * @return APR_SUCCESS if the apr_gid_t strutures identify the same group,
+ * @return APR_SUCCESS if the apr_gid_t structures identify the same group,
  * APR_EMISMATCH if not, APR_BADARG if an apr_gid_t is invalid.
  * @remark This function is available only if APR_HAS_USER is defined.
  */

Modified: trunk/contrib/apr/include/apr_version.h
===================================================================
--- trunk/contrib/apr/include/apr_version.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/apr_version.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -38,7 +38,7 @@
  */
 
 
-#define APR_COPYRIGHT "Copyright (c) 2013 The Apache Software " \
+#define APR_COPYRIGHT "Copyright (c) 2000-2015 The Apache Software " \
                       "Foundation or its licensors, as applicable."
 
 /* The numeric compile-time version constants. These constants are the
@@ -56,13 +56,13 @@
  * Minor API changes that do not cause binary compatibility problems.
  * Reset to 0 when upgrading APR_MAJOR_VERSION
  */
-#define APR_MINOR_VERSION       4
+#define APR_MINOR_VERSION       5
 
 /** patch level 
  * The Patch Level never includes API changes, simply bug fixes.
  * Reset to 0 when upgrading APR_MINOR_VERSION
  */
-#define APR_PATCH_VERSION       8
+#define APR_PATCH_VERSION       2
 
 /** 
  * The symbol APR_IS_DEV_VERSION is only defined for internal,

Modified: trunk/contrib/apr/include/arch/netware/apr_private.h
===================================================================
--- trunk/contrib/apr/include/arch/netware/apr_private.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/arch/netware/apr_private.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -79,7 +79,7 @@
 #define HAVE_GETPASS_R  1
 /*
  * Hack around older NDKs which have only the getpassword() function,
- * a threadsafe, API-equivilant of getpass_r().
+ * a threadsafe, API-equivalent of getpass_r().
  */
 #if (CURRENT_NDK_THRESHOLD < 709060000)
 #define getpass_r       getpassword

Modified: trunk/contrib/apr/include/arch/unix/apr_arch_poll_private.h
===================================================================
--- trunk/contrib/apr/include/arch/unix/apr_arch_poll_private.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/arch/unix/apr_arch_poll_private.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -45,6 +45,11 @@
 #define HAS_PIPES(dt) (dt == APR_POLL_FILE) ? 1 : 0
 #endif
 
+#if defined(HAVE_AIO_H) && defined(HAVE_AIO_MSGQ)
+#define _AIO_OS390	/* enable a bunch of z/OS aio.h definitions */
+#include <aio.h>	/* aiocb	*/
+#endif
+
 /* Choose the best method platform specific to use in apr_pollset */
 #ifdef HAVE_KQUEUE
 #define POLLSET_USES_KQUEUE
@@ -55,6 +60,9 @@
 #elif defined(HAVE_EPOLL)
 #define POLLSET_USES_EPOLL
 #define POLLSET_DEFAULT_METHOD APR_POLLSET_EPOLL
+#elif defined(HAVE_AIO_MSGQ)
+#define POLLSET_USES_AIO_MSGQ
+#define POLLSET_DEFAULT_METHOD APR_POLLSET_AIO_MSGQ
 #elif defined(HAVE_POLL)
 #define POLLSET_USES_POLL
 #define POLLSET_DEFAULT_METHOD APR_POLLSET_POLL
@@ -75,7 +83,7 @@
 #endif
 #endif
 
-#if defined(POLLSET_USES_KQUEUE) || defined(POLLSET_USES_EPOLL) || defined(POLLSET_USES_PORT)
+#if defined(POLLSET_USES_KQUEUE) || defined(POLLSET_USES_EPOLL) || defined(POLLSET_USES_PORT) || defined(POLLSET_USES_AIO_MSGQ)
 
 #include "apr_ring.h"
 
@@ -107,6 +115,7 @@
 typedef struct apr_pollset_private_t apr_pollset_private_t;
 typedef struct apr_pollset_provider_t apr_pollset_provider_t;
 typedef struct apr_pollcb_provider_t apr_pollcb_provider_t;
+
 struct apr_pollset_t
 {
     apr_pool_t *pool;

Modified: trunk/contrib/apr/include/arch/unix/apr_arch_threadproc.h
===================================================================
--- trunk/contrib/apr/include/arch/unix/apr_arch_threadproc.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/arch/unix/apr_arch_threadproc.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -39,7 +39,7 @@
 #if APR_HAVE_STRING_H
 #include <string.h>
 #endif
-#if HAVE_SCHED_H
+#ifdef HAVE_SCHED_H
 #include <sched.h>
 #endif
 /* End System Headers */

Modified: trunk/contrib/apr/include/arch/unix/apr_private.h.in
===================================================================
--- trunk/contrib/apr/include/arch/unix/apr_private.h.in	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/arch/unix/apr_private.h.in	2017-02-20 03:16:08 UTC (rev 9278)
@@ -83,6 +83,9 @@
 /* Define if accept4 function is supported */
 #undef HAVE_ACCEPT4
 
+/* Define if async i/o supports message q's */
+#undef HAVE_AIO_MSGQ
+
 /* Define to 1 if you have `alloca', as a function or macro. */
 #undef HAVE_ALLOCA
 
@@ -929,7 +932,7 @@
 
 
 /* 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

Modified: trunk/contrib/apr/include/arch/win32/apr_arch_file_io.h
===================================================================
--- trunk/contrib/apr/include/arch/win32/apr_arch_file_io.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/arch/win32/apr_arch_file_io.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -171,22 +171,24 @@
     char *fname;
     DWORD dwFileAttributes;
     int eof_hit;
-    BOOLEAN buffered;          // Use buffered I/O?
-    int ungetchar;             // Last char provided by an unget op. (-1 = no char)
+    BOOLEAN buffered;          /* Use buffered I/O? */
+    int ungetchar;             /* Last char provided by an unget op. (-1 = no char) */
     int append; 
 
     /* Stuff for buffered mode */
     char *buffer;
-    apr_size_t bufpos;         // Read/Write position in buffer
-    apr_size_t bufsize;        // The size of the buffer
-    apr_size_t dataRead;       // amount of valid data read into buffer
-    int direction;             // buffer being used for 0 = read, 1 = write
-    apr_off_t filePtr;         // position in file of handle
-    apr_thread_mutex_t *mutex; // mutex semaphore, must be owned to access the above fields
+    apr_size_t bufpos;         /* Read/Write position in buffer */
+    apr_size_t bufsize;        /* The size of the buffer */
+    apr_size_t dataRead;       /* amount of valid data read into buffer */
+    int direction;             /* buffer being used for 0 = read, 1 = write */
+    apr_off_t filePtr;         /* position in file of handle */
+    apr_thread_mutex_t *mutex; /* mutex semaphore, must be owned to access
+                                * the above fields                          */
 
+#if APR_FILES_AS_SOCKETS
     /* if there is a timeout set, then this pollset is used */
     apr_pollset_t *pollset;
-
+#endif
     /* Pipe specific info */    
 };
 

Modified: trunk/contrib/apr/include/arch/win32/apr_arch_misc.h
===================================================================
--- trunk/contrib/apr/include/arch/win32/apr_arch_misc.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/include/arch/win32/apr_arch_misc.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -105,7 +105,8 @@
     APR_WIN_XP_SP1 =   61,
     APR_WIN_XP_SP2 =   62,
     APR_WIN_2003 =     70,
-    APR_WIN_VISTA =    80
+    APR_WIN_VISTA =    80,
+    APR_WIN_7 =        90
 } apr_oslevel_e;
 
 extern APR_DECLARE_DATA apr_oslevel_e apr_os_level;

Modified: trunk/contrib/apr/libapr.dep
===================================================================
--- trunk/contrib/apr/libapr.dep	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/libapr.dep	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,561 +1,1920 @@
-# Microsoft Developer Studio Generated Dependency File, included by libapr.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)" == "libapr - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
-
-!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
-
-!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
-
-!ELSEIF  "$(CFG)" == "libapr - x64 Release"
-
-!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
-
-!ENDIF 
-
-.\libapr.rc : \
-	".\include\apr_version.h"\
-	
+# Microsoft Developer Studio Generated Dependency File, included by libapr.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)" == "libapr - Win32 Release"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Release"
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
+
+!ENDIF 
+
+!IF  "$(CFG)" == "libapr - Win32 Release"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Release"
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
+
+!ENDIF 
+
+!IF  "$(CFG)" == "libapr - Win32 Release"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Release"
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
+
+!ENDIF 
+
+.\libapr.rc : \
+	".\include\apr.h"\
+	".\include\apr_version.h"\
+	

Modified: trunk/contrib/apr/libapr.dsp
===================================================================
--- trunk/contrib/apr/libapr.dsp	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/libapr.dsp	2017-02-20 03:16:08 UTC (rev 9278)
@@ -254,6 +254,14 @@
 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"
 
 # PROP Default_Filter ""
@@ -546,6 +554,10 @@
 
 SOURCE=.\tables\apr_tables.c
 # End Source File
+# Begin Source File
+
+SOURCE=.\tables\apr_skiplist.c
+# End Source File
 # End Group
 # Begin Group "threadproc"
 
@@ -746,6 +758,79 @@
 # End Source File
 # Begin Source File
 
+SOURCE=.\include\apr_escape.h
+
+!IF  "$(CFG)" == "libapr - 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.\Release\gen_test_char /Fe.\Release\gen_test_char.exe .\tools\gen_test_char.c 
+	.\Release\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "libapr - 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.\Debug\gen_test_char /Fe.\Debug\gen_test_char.exe .\tools\gen_test_char.c  
+	.\Debug\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "libapr - 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\Release\gen_test_char /Fe.\9x\Release\gen_test_char.exe .\tools\gen_test_char.c 
+	.\9x\Release\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
+
+# 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.\9x\Debug\gen_test_char /Fe.\9x\Debug\gen_test_char.exe .\tools\gen_test_char.c  
+	.\9x\Debug\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "libapr - x64 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.\x64\Release\gen_test_char /Fe.\x64\Release\gen_test_char.exe .\tools\gen_test_char.c 
+	.\x64\Release\gen_test_char.exe > .\include\apr_escape_test_char.h
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "libapr - 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\Debug\gen_test_char /Fe.\x64\Debug\gen_test_char.exe .\tools\gen_test_char.c 
+	.\x64\Debug\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
@@ -822,6 +907,10 @@
 # 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

Modified: trunk/contrib/apr/libapr.mak
===================================================================
--- trunk/contrib/apr/libapr.mak	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/libapr.mak	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1,1917 +1,2118 @@
-# Microsoft Developer Studio Generated NMAKE File, Based on libapr.dsp
-!IF "$(CFG)" == ""
-CFG=libapr - Win32 Release
-!MESSAGE No configuration specified. Defaulting to libapr - Win32 Release.
-!ENDIF 
-
-!IF "$(CFG)" != "libapr - Win32 Release" && "$(CFG)" != "libapr - Win32 Debug" && "$(CFG)" != "libapr - Win32 Release9x" && "$(CFG)" != "libapr - Win32 Debug9x" && "$(CFG)" != "libapr - x64 Release" && "$(CFG)" != "libapr - 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 "libapr.mak" CFG="libapr - Win32 Release"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "libapr - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libapr - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libapr - Win32 Release9x" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libapr - Win32 Debug9x" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libapr - x64 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libapr - x64 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-!ERROR An invalid configuration is specified.
-!ENDIF 
-
-!IF "$(OS)" == "Windows_NT"
-NULL=
-!ELSE 
-NULL=nul
-!ENDIF 
-
-!IF  "$(CFG)" == "libapr - Win32 Release"
-
-OUTDIR=.\Release
-INTDIR=.\Release
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-# Begin Custom Macros
-OutDir=.\Release
-# End Custom Macros
-
-ALL : "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
-
-
-CLEAN :
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\libapr.res"
-	- at erase "$(INTDIR)\libapr_src.idb"
-	- at erase "$(INTDIR)\libapr_src.pdb"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\libapr-1.dll"
-	- at erase "$(OUTDIR)\libapr-1.exp"
-	- at erase "$(OUTDIR)\libapr-1.lib"
-	- at erase "$(OUTDIR)\libapr-1.pdb"
-
-"$(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_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
-<<
-
-MTL=midl.exe
-MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" 
-RSC=rc.exe
-RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "NDEBUG" /d "APR_VERSION_ONLY" 
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 /opt:ref 
-LINK32_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" \
-	"$(INTDIR)\libapr.res"
-
-"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-TargetPath=.\Release\libapr-1.dll
-SOURCE="$(InputPath)"
-PostBuild_Desc=Embed .manifest
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-
-# Begin Custom Macros
-OutDir=.\Release
-# End Custom Macros
-
-"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
-   if exist .\Release\libapr-1.dll.manifest mt.exe -manifest .\Release\libapr-1.dll.manifest -outputresource:.\Release\libapr-1.dll;2
-	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
-
-!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
-
-OUTDIR=.\Debug
-INTDIR=.\Debug
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-# Begin Custom Macros
-OutDir=.\Debug
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
-
-
-CLEAN :
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\libapr.res"
-	- at erase "$(INTDIR)\libapr_src.idb"
-	- at erase "$(INTDIR)\libapr_src.pdb"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\libapr-1.dll"
-	- at erase "$(OUTDIR)\libapr-1.exp"
-	- at erase "$(OUTDIR)\libapr-1.lib"
-	- at erase "$(OUTDIR)\libapr-1.pdb"
-	- at 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_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
-<<
-
-MTL=midl.exe
-MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" 
-RSC=rc.exe
-RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "_DEBUG" /d "APR_VERSION_ONLY" 
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 
-LINK32_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" \
-	"$(INTDIR)\libapr.res"
-
-"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-TargetPath=.\Debug\libapr-1.dll
-SOURCE="$(InputPath)"
-PostBuild_Desc=Embed .manifest
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-
-# Begin Custom Macros
-OutDir=.\Debug
-# End Custom Macros
-
-"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
-   if exist .\Debug\libapr-1.dll.manifest mt.exe -manifest .\Debug\libapr-1.dll.manifest -outputresource:.\Debug\libapr-1.dll;2
-	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
-
-!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
-
-OUTDIR=.\9x\Release
-INTDIR=.\9x\Release
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-# Begin Custom Macros
-OutDir=.\9x\Release
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
-
-
-CLEAN :
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\libapr.res"
-	- at erase "$(INTDIR)\libapr_src.idb"
-	- at erase "$(INTDIR)\libapr_src.pdb"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\libapr-1.dll"
-	- at erase "$(OUTDIR)\libapr-1.exp"
-	- at erase "$(OUTDIR)\libapr-1.lib"
-	- at erase "$(OUTDIR)\libapr-1.pdb"
-	- at 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_EXPORT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
-<<
-
-MTL=midl.exe
-MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" 
-RSC=rc.exe
-RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "NDEBUG" /d "APR_VERSION_ONLY" 
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 /opt:ref 
-LINK32_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" \
-	"$(INTDIR)\libapr.res"
-
-"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-TargetPath=.\9x\Release\libapr-1.dll
-SOURCE="$(InputPath)"
-PostBuild_Desc=Embed .manifest
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-
-# Begin Custom Macros
-OutDir=.\9x\Release
-# End Custom Macros
-
-"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
-   if exist .\9x\Release\libapr-1.dll.manifest mt.exe -manifest .\9x\Release\libapr-1.dll.manifest -outputresource:.\9x\Release\libapr-1.dll;2
-	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
-
-!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
-
-OUTDIR=.\9x\Debug
-INTDIR=.\9x\Debug
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-# Begin Custom Macros
-OutDir=.\9x\Debug
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
-
-
-CLEAN :
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\libapr.res"
-	- at erase "$(INTDIR)\libapr_src.idb"
-	- at erase "$(INTDIR)\libapr_src.pdb"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\libapr-1.dll"
-	- at erase "$(OUTDIR)\libapr-1.exp"
-	- at erase "$(OUTDIR)\libapr-1.lib"
-	- at erase "$(OUTDIR)\libapr-1.pdb"
-	- at 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_EXPORT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
-<<
-
-MTL=midl.exe
-MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" 
-RSC=rc.exe
-RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "_DEBUG" /d "APR_VERSION_ONLY" 
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 
-LINK32_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" \
-	"$(INTDIR)\libapr.res"
-
-"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-TargetPath=.\9x\Debug\libapr-1.dll
-SOURCE="$(InputPath)"
-PostBuild_Desc=Embed .manifest
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-
-# Begin Custom Macros
-OutDir=.\9x\Debug
-# End Custom Macros
-
-"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
-   if exist .\9x\Debug\libapr-1.dll.manifest mt.exe -manifest .\9x\Debug\libapr-1.dll.manifest -outputresource:.\9x\Debug\libapr-1.dll;2
-	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
-
-!ELSEIF  "$(CFG)" == "libapr - x64 Release"
-
-OUTDIR=.\x64\Release
-INTDIR=.\x64\Release
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-# Begin Custom Macros
-OutDir=.\x64\Release
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
-
-
-CLEAN :
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\libapr.res"
-	- at erase "$(INTDIR)\libapr_src.idb"
-	- at erase "$(INTDIR)\libapr_src.pdb"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\libapr-1.dll"
-	- at erase "$(OUTDIR)\libapr-1.exp"
-	- at erase "$(OUTDIR)\libapr-1.lib"
-	- at erase "$(OUTDIR)\libapr-1.pdb"
-	- at 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_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
-<<
-
-MTL=midl.exe
-MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" 
-RSC=rc.exe
-RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "NDEBUG" /d "APR_VERSION_ONLY" 
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X64 /opt:ref 
-LINK32_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" \
-	"$(INTDIR)\libapr.res"
-
-"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-TargetPath=.\x64\Release\libapr-1.dll
-SOURCE="$(InputPath)"
-PostBuild_Desc=Embed .manifest
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-
-# Begin Custom Macros
-OutDir=.\x64\Release
-# End Custom Macros
-
-"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
-   if exist .\x64\Release\libapr-1.dll.manifest mt.exe -manifest .\x64\Release\libapr-1.dll.manifest -outputresource:.\x64\Release\libapr-1.dll;2
-	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
-
-!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
-
-OUTDIR=.\x64\Debug
-INTDIR=.\x64\Debug
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-# Begin Custom Macros
-OutDir=.\x64\Debug
-# End Custom Macros
-
-ALL : ".\include\apr.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
-
-
-CLEAN :
-	- at erase "$(INTDIR)\apr_atomic.obj"
-	- at erase "$(INTDIR)\apr_cpystrn.obj"
-	- at erase "$(INTDIR)\apr_fnmatch.obj"
-	- at erase "$(INTDIR)\apr_getpass.obj"
-	- at erase "$(INTDIR)\apr_hash.obj"
-	- at erase "$(INTDIR)\apr_pools.obj"
-	- at erase "$(INTDIR)\apr_random.obj"
-	- at erase "$(INTDIR)\apr_snprintf.obj"
-	- at erase "$(INTDIR)\apr_strings.obj"
-	- at erase "$(INTDIR)\apr_strnatcmp.obj"
-	- at erase "$(INTDIR)\apr_strtok.obj"
-	- at erase "$(INTDIR)\apr_tables.obj"
-	- at erase "$(INTDIR)\buffer.obj"
-	- at erase "$(INTDIR)\charset.obj"
-	- at erase "$(INTDIR)\common.obj"
-	- at erase "$(INTDIR)\copy.obj"
-	- at erase "$(INTDIR)\dir.obj"
-	- at erase "$(INTDIR)\dso.obj"
-	- at erase "$(INTDIR)\env.obj"
-	- at erase "$(INTDIR)\errorcodes.obj"
-	- at erase "$(INTDIR)\fileacc.obj"
-	- at erase "$(INTDIR)\filedup.obj"
-	- at erase "$(INTDIR)\filepath.obj"
-	- at erase "$(INTDIR)\filepath_util.obj"
-	- at erase "$(INTDIR)\filestat.obj"
-	- at erase "$(INTDIR)\filesys.obj"
-	- at erase "$(INTDIR)\flock.obj"
-	- at erase "$(INTDIR)\fullrw.obj"
-	- at erase "$(INTDIR)\getopt.obj"
-	- at erase "$(INTDIR)\groupinfo.obj"
-	- at erase "$(INTDIR)\inet_ntop.obj"
-	- at erase "$(INTDIR)\inet_pton.obj"
-	- at erase "$(INTDIR)\internal.obj"
-	- at erase "$(INTDIR)\libapr.res"
-	- at erase "$(INTDIR)\libapr_src.idb"
-	- at erase "$(INTDIR)\libapr_src.pdb"
-	- at erase "$(INTDIR)\misc.obj"
-	- at erase "$(INTDIR)\mktemp.obj"
-	- at erase "$(INTDIR)\mmap.obj"
-	- at erase "$(INTDIR)\multicast.obj"
-	- at erase "$(INTDIR)\open.obj"
-	- at erase "$(INTDIR)\otherchild.obj"
-	- at erase "$(INTDIR)\pipe.obj"
-	- at erase "$(INTDIR)\poll.obj"
-	- at erase "$(INTDIR)\pollcb.obj"
-	- at erase "$(INTDIR)\pollset.obj"
-	- at erase "$(INTDIR)\proc.obj"
-	- at erase "$(INTDIR)\proc_mutex.obj"
-	- at erase "$(INTDIR)\rand.obj"
-	- at erase "$(INTDIR)\readwrite.obj"
-	- at erase "$(INTDIR)\seek.obj"
-	- at erase "$(INTDIR)\select.obj"
-	- at erase "$(INTDIR)\sendrecv.obj"
-	- at erase "$(INTDIR)\sha2.obj"
-	- at erase "$(INTDIR)\sha2_glue.obj"
-	- at erase "$(INTDIR)\shm.obj"
-	- at erase "$(INTDIR)\signals.obj"
-	- at erase "$(INTDIR)\sockaddr.obj"
-	- at erase "$(INTDIR)\socket_util.obj"
-	- at erase "$(INTDIR)\sockets.obj"
-	- at erase "$(INTDIR)\sockopt.obj"
-	- at erase "$(INTDIR)\start.obj"
-	- at erase "$(INTDIR)\tempdir.obj"
-	- at erase "$(INTDIR)\thread.obj"
-	- at erase "$(INTDIR)\thread_cond.obj"
-	- at erase "$(INTDIR)\thread_mutex.obj"
-	- at erase "$(INTDIR)\thread_rwlock.obj"
-	- at erase "$(INTDIR)\threadpriv.obj"
-	- at erase "$(INTDIR)\time.obj"
-	- at erase "$(INTDIR)\timestr.obj"
-	- at erase "$(INTDIR)\userinfo.obj"
-	- at erase "$(INTDIR)\utf8.obj"
-	- at erase "$(INTDIR)\version.obj"
-	- at erase "$(OUTDIR)\libapr-1.dll"
-	- at erase "$(OUTDIR)\libapr-1.exp"
-	- at erase "$(OUTDIR)\libapr-1.lib"
-	- at erase "$(OUTDIR)\libapr-1.pdb"
-	- at 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_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
-<<
-
-MTL=midl.exe
-MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" 
-RSC=rc.exe
-RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "_DEBUG" /d "APR_VERSION_ONLY" 
-BSC32=bscmake.exe
-BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
-BSC32_SBRS= \
-	
-LINK32=link.exe
-LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X64 
-LINK32_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" \
-	"$(INTDIR)\libapr.res"
-
-"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
-    $(LINK32) @<<
-  $(LINK32_FLAGS) $(LINK32_OBJS)
-<<
-
-TargetPath=.\x64\Debug\libapr-1.dll
-SOURCE="$(InputPath)"
-PostBuild_Desc=Embed .manifest
-DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
-
-# Begin Custom Macros
-OutDir=.\x64\Debug
-# End Custom Macros
-
-"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
-   if exist .\x64\Debug\libapr-1.dll.manifest mt.exe -manifest .\x64\Debug\libapr-1.dll.manifest -outputresource:.\x64\Debug\libapr-1.dll;2
-	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
-
-!ENDIF 
-
-
-!IF "$(NO_EXTERNAL_DEPS)" != "1"
-!IF EXISTS("libapr.dep")
-!INCLUDE "libapr.dep"
-!ELSE 
-!MESSAGE Warning: cannot find "libapr.dep"
-!ENDIF 
-!ENDIF 
-
-
-!IF "$(CFG)" == "libapr - Win32 Release" || "$(CFG)" == "libapr - Win32 Debug" || "$(CFG)" == "libapr - Win32 Release9x" || "$(CFG)" == "libapr - Win32 Debug9x" || "$(CFG)" == "libapr - x64 Release" || "$(CFG)" == "libapr - 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)" == "libapr - Win32 Release"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
-	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
-	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
-	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
-	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "libapr - x64 Release"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
-	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
-
-InputPath=.\include\apr.hw
-
-".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	<<tempfile.bat 
-	@echo off 
-	type .\include\apr.hw > .\include\apr.h
-<< 
-	
-
-!ENDIF 
-
-SOURCE=.\libapr.rc
-
-"$(INTDIR)\libapr.res" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
-	$(RSC) $(RSC_PROJ) $(SOURCE)
-
-
-
-!ENDIF 
-
+# Microsoft Developer Studio Generated NMAKE File, Based on libapr.dsp
+!IF "$(CFG)" == ""
+CFG=libapr - Win32 Release
+!MESSAGE No configuration specified. Defaulting to libapr - Win32 Release.
+!ENDIF 
+
+!IF "$(CFG)" != "libapr - Win32 Release" && "$(CFG)" != "libapr - Win32 Debug" && "$(CFG)" != "libapr - Win32 Release9x" && "$(CFG)" != "libapr - Win32 Debug9x" && "$(CFG)" != "libapr - x64 Release" && "$(CFG)" != "libapr - 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 "libapr.mak" CFG="libapr - Win32 Release"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "libapr - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - Win32 Release9x" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - Win32 Debug9x" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - x64 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "libapr - x64 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE 
+!ERROR An invalid configuration is specified.
+!ENDIF 
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE 
+NULL=nul
+!ENDIF 
+
+!IF  "$(CFG)" == "libapr - Win32 Release"
+
+OUTDIR=.\Release
+INTDIR=.\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+ALL : ".\Release\gen_test_char.exe" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\libapr.res"
+	- at erase "$(INTDIR)\libapr_src.idb"
+	- at erase "$(INTDIR)\libapr_src.pdb"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\libapr-1.dll"
+	- at erase "$(OUTDIR)\libapr-1.exp"
+	- at erase "$(OUTDIR)\libapr-1.lib"
+	- at erase "$(OUTDIR)\libapr-1.pdb"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" 
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "NDEBUG" /d "APR_VERSION_ONLY" 
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
+BSC32_SBRS= \
+	
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 /opt:ref 
+LINK32_OBJS= \
+	"$(INTDIR)\apr_atomic.obj" \
+	"$(INTDIR)\dso.obj" \
+	"$(INTDIR)\apr_escape.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)\apr_skiplist.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" \
+	"$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Release\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+   if exist .\Release\libapr-1.dll.manifest mt.exe -manifest .\Release\libapr-1.dll.manifest -outputresource:.\Release\libapr-1.dll;2
+	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
+
+OUTDIR=.\Debug
+INTDIR=.\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+ALL : ".\include\apr_escape_test_char.h" ".\Debug\gen_test_char.exe" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\libapr.res"
+	- at erase "$(INTDIR)\libapr_src.idb"
+	- at erase "$(INTDIR)\libapr_src.pdb"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\libapr-1.dll"
+	- at erase "$(OUTDIR)\libapr-1.exp"
+	- at erase "$(OUTDIR)\libapr-1.lib"
+	- at erase "$(OUTDIR)\libapr-1.pdb"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" 
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "_DEBUG" /d "APR_VERSION_ONLY" 
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
+BSC32_SBRS= \
+	
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 
+LINK32_OBJS= \
+	"$(INTDIR)\apr_atomic.obj" \
+	"$(INTDIR)\dso.obj" \
+	"$(INTDIR)\apr_escape.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)\apr_skiplist.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" \
+	"$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\Debug\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+   if exist .\Debug\libapr-1.dll.manifest mt.exe -manifest .\Debug\libapr-1.dll.manifest -outputresource:.\Debug\libapr-1.dll;2
+	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
+
+OUTDIR=.\9x\Release
+INTDIR=.\9x\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\9x\Release
+# End Custom Macros
+
+ALL : ".\include\apr_escape_test_char.h" ".\9x\Release\gen_test_char.exe" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\libapr.res"
+	- at erase "$(INTDIR)\libapr_src.idb"
+	- at erase "$(INTDIR)\libapr_src.pdb"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\libapr-1.dll"
+	- at erase "$(OUTDIR)\libapr-1.exp"
+	- at erase "$(OUTDIR)\libapr-1.lib"
+	- at erase "$(OUTDIR)\libapr-1.pdb"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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_EXPORT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" 
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "NDEBUG" /d "APR_VERSION_ONLY" 
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
+BSC32_SBRS= \
+	
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 /opt:ref 
+LINK32_OBJS= \
+	"$(INTDIR)\apr_atomic.obj" \
+	"$(INTDIR)\dso.obj" \
+	"$(INTDIR)\apr_escape.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)\apr_skiplist.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" \
+	"$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\9x\Release\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\9x\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+   if exist .\9x\Release\libapr-1.dll.manifest mt.exe -manifest .\9x\Release\libapr-1.dll.manifest -outputresource:.\9x\Release\libapr-1.dll;2
+	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
+
+OUTDIR=.\9x\Debug
+INTDIR=.\9x\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\9x\Debug
+# End Custom Macros
+
+ALL : ".\include\apr_escape_test_char.h" ".\include\apr.h" ".\9x\Debug\gen_test_char.exe" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\libapr.res"
+	- at erase "$(INTDIR)\libapr_src.idb"
+	- at erase "$(INTDIR)\libapr_src.pdb"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\libapr-1.dll"
+	- at erase "$(OUTDIR)\libapr-1.exp"
+	- at erase "$(OUTDIR)\libapr-1.lib"
+	- at erase "$(OUTDIR)\libapr-1.pdb"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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_EXPORT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" 
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "_DEBUG" /d "APR_VERSION_ONLY" 
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
+BSC32_SBRS= \
+	
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X86 
+LINK32_OBJS= \
+	"$(INTDIR)\apr_atomic.obj" \
+	"$(INTDIR)\dso.obj" \
+	"$(INTDIR)\apr_escape.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)\apr_skiplist.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" \
+	"$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\9x\Debug\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\9x\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+   if exist .\9x\Debug\libapr-1.dll.manifest mt.exe -manifest .\9x\Debug\libapr-1.dll.manifest -outputresource:.\9x\Debug\libapr-1.dll;2
+	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Release"
+
+OUTDIR=.\x64\Release
+INTDIR=.\x64\Release
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\x64\Release
+# End Custom Macros
+
+ALL : ".\x64\Release\gen_test_char.exe" ".\include\apr_escape_test_char.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\libapr.res"
+	- at erase "$(INTDIR)\libapr_src.idb"
+	- at erase "$(INTDIR)\libapr_src.pdb"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\libapr-1.dll"
+	- at erase "$(OUTDIR)\libapr-1.exp"
+	- at erase "$(OUTDIR)\libapr-1.lib"
+	- at erase "$(OUTDIR)\libapr-1.pdb"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL" 
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "NDEBUG" /d "APR_VERSION_ONLY" 
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
+BSC32_SBRS= \
+	
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X64 /opt:ref 
+LINK32_OBJS= \
+	"$(INTDIR)\apr_atomic.obj" \
+	"$(INTDIR)\dso.obj" \
+	"$(INTDIR)\apr_escape.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)\apr_skiplist.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" \
+	"$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\x64\Release\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\x64\Release
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+   if exist .\x64\Release\libapr-1.dll.manifest mt.exe -manifest .\x64\Release\libapr-1.dll.manifest -outputresource:.\x64\Release\libapr-1.dll;2
+	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
+
+OUTDIR=.\x64\Debug
+INTDIR=.\x64\Debug
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+# Begin Custom Macros
+OutDir=.\x64\Debug
+# End Custom Macros
+
+ALL : ".\x64\Debug\gen_test_char.exe" ".\include\apr_escape_test_char.h" "$(OUTDIR)\libapr-1.dll" "$(DS_POSTBUILD_DEP)"
+
+
+CLEAN :
+	- at erase "$(INTDIR)\apr_atomic.obj"
+	- at erase "$(INTDIR)\apr_cpystrn.obj"
+	- at erase "$(INTDIR)\apr_escape.obj"
+	- at erase "$(INTDIR)\apr_fnmatch.obj"
+	- at erase "$(INTDIR)\apr_getpass.obj"
+	- at erase "$(INTDIR)\apr_hash.obj"
+	- at erase "$(INTDIR)\apr_pools.obj"
+	- at erase "$(INTDIR)\apr_random.obj"
+	- at erase "$(INTDIR)\apr_skiplist.obj"
+	- at erase "$(INTDIR)\apr_snprintf.obj"
+	- at erase "$(INTDIR)\apr_strings.obj"
+	- at erase "$(INTDIR)\apr_strnatcmp.obj"
+	- at erase "$(INTDIR)\apr_strtok.obj"
+	- at erase "$(INTDIR)\apr_tables.obj"
+	- at erase "$(INTDIR)\buffer.obj"
+	- at erase "$(INTDIR)\charset.obj"
+	- at erase "$(INTDIR)\common.obj"
+	- at erase "$(INTDIR)\copy.obj"
+	- at erase "$(INTDIR)\dir.obj"
+	- at erase "$(INTDIR)\dso.obj"
+	- at erase "$(INTDIR)\env.obj"
+	- at erase "$(INTDIR)\errorcodes.obj"
+	- at erase "$(INTDIR)\fileacc.obj"
+	- at erase "$(INTDIR)\filedup.obj"
+	- at erase "$(INTDIR)\filepath.obj"
+	- at erase "$(INTDIR)\filepath_util.obj"
+	- at erase "$(INTDIR)\filestat.obj"
+	- at erase "$(INTDIR)\filesys.obj"
+	- at erase "$(INTDIR)\flock.obj"
+	- at erase "$(INTDIR)\fullrw.obj"
+	- at erase "$(INTDIR)\getopt.obj"
+	- at erase "$(INTDIR)\groupinfo.obj"
+	- at erase "$(INTDIR)\inet_ntop.obj"
+	- at erase "$(INTDIR)\inet_pton.obj"
+	- at erase "$(INTDIR)\internal.obj"
+	- at erase "$(INTDIR)\libapr.res"
+	- at erase "$(INTDIR)\libapr_src.idb"
+	- at erase "$(INTDIR)\libapr_src.pdb"
+	- at erase "$(INTDIR)\misc.obj"
+	- at erase "$(INTDIR)\mktemp.obj"
+	- at erase "$(INTDIR)\mmap.obj"
+	- at erase "$(INTDIR)\multicast.obj"
+	- at erase "$(INTDIR)\open.obj"
+	- at erase "$(INTDIR)\otherchild.obj"
+	- at erase "$(INTDIR)\pipe.obj"
+	- at erase "$(INTDIR)\poll.obj"
+	- at erase "$(INTDIR)\pollcb.obj"
+	- at erase "$(INTDIR)\pollset.obj"
+	- at erase "$(INTDIR)\proc.obj"
+	- at erase "$(INTDIR)\proc_mutex.obj"
+	- at erase "$(INTDIR)\rand.obj"
+	- at erase "$(INTDIR)\readwrite.obj"
+	- at erase "$(INTDIR)\seek.obj"
+	- at erase "$(INTDIR)\select.obj"
+	- at erase "$(INTDIR)\sendrecv.obj"
+	- at erase "$(INTDIR)\sha2.obj"
+	- at erase "$(INTDIR)\sha2_glue.obj"
+	- at erase "$(INTDIR)\shm.obj"
+	- at erase "$(INTDIR)\signals.obj"
+	- at erase "$(INTDIR)\sockaddr.obj"
+	- at erase "$(INTDIR)\socket_util.obj"
+	- at erase "$(INTDIR)\sockets.obj"
+	- at erase "$(INTDIR)\sockopt.obj"
+	- at erase "$(INTDIR)\start.obj"
+	- at erase "$(INTDIR)\tempdir.obj"
+	- at erase "$(INTDIR)\thread.obj"
+	- at erase "$(INTDIR)\thread_cond.obj"
+	- at erase "$(INTDIR)\thread_mutex.obj"
+	- at erase "$(INTDIR)\thread_rwlock.obj"
+	- at erase "$(INTDIR)\threadpriv.obj"
+	- at erase "$(INTDIR)\time.obj"
+	- at erase "$(INTDIR)\timestr.obj"
+	- at erase "$(INTDIR)\userinfo.obj"
+	- at erase "$(INTDIR)\utf8.obj"
+	- at erase "$(INTDIR)\version.obj"
+	- at erase "$(OUTDIR)\libapr-1.dll"
+	- at erase "$(OUTDIR)\libapr-1.exp"
+	- at erase "$(OUTDIR)\libapr-1.lib"
+	- at erase "$(OUTDIR)\libapr-1.pdb"
+	- at erase ".\include\apr.h"
+	- at erase ".\include\apr_gen_test_char.h"
+	- at erase "$(OUTDIR)\gen_test_char.exe"
+	- at erase "$(OUTDIR)\gen_test_char.obj"
+
+"$(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_EXPORT" /D "WIN32" /D "WINNT" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\libapr_src" /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) $< 
+<<
+
+MTL=midl.exe
+MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL" 
+RSC=rc.exe
+RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libapr.res" /i "./include" /d "_DEBUG" /d "APR_VERSION_ONLY" 
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\libapr.bsc" 
+BSC32_SBRS= \
+	
+LINK32=link.exe
+LINK32_FLAGS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib /nologo /base:"0x6EEC0000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$(OUTDIR)\libapr-1.dll" /implib:"$(OUTDIR)\libapr-1.lib" /MACHINE:X64 
+LINK32_OBJS= \
+	"$(INTDIR)\apr_atomic.obj" \
+	"$(INTDIR)\dso.obj" \
+	"$(INTDIR)\apr_escape.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)\apr_skiplist.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" \
+	"$(INTDIR)\libapr.res"
+
+"$(OUTDIR)\libapr-1.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+    $(LINK32) @<<
+  $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+TargetPath=.\x64\Debug\libapr-1.dll
+SOURCE="$(InputPath)"
+PostBuild_Desc=Embed .manifest
+DS_POSTBUILD_DEP=$(INTDIR)\postbld.dep
+
+# Begin Custom Macros
+OutDir=.\x64\Debug
+# End Custom Macros
+
+"$(DS_POSTBUILD_DEP)" : "$(OUTDIR)\libapr-1.dll"
+   if exist .\x64\Debug\libapr-1.dll.manifest mt.exe -manifest .\x64\Debug\libapr-1.dll.manifest -outputresource:.\x64\Debug\libapr-1.dll;2
+	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
+
+!ENDIF 
+
+
+!IF "$(NO_EXTERNAL_DEPS)" != "1"
+!IF EXISTS("libapr.dep")
+!INCLUDE "libapr.dep"
+!ELSE 
+!MESSAGE Warning: cannot find "libapr.dep"
+!ENDIF 
+!ENDIF 
+
+
+!IF "$(CFG)" == "libapr - Win32 Release" || "$(CFG)" == "libapr - Win32 Debug" || "$(CFG)" == "libapr - Win32 Release9x" || "$(CFG)" == "libapr - Win32 Debug9x" || "$(CFG)" == "libapr - x64 Release" || "$(CFG)" == "libapr - 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=.\encoding\apr_escape.c
+
+"$(INTDIR)\apr_escape.obj" : $(SOURCE) "$(INTDIR)" ".\include\apr_escape.h" ".\include\apr_escape_test_char.h" ".\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_skiplist.c
+
+"$(INTDIR)\apr_skiplist.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)" == "libapr - Win32 Release"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Release"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
+
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ENDIF 
+
+SOURCE=.\include\apr_escape.h
+
+!IF  "$(CFG)" == "libapr - Win32 Release"
+
+InputPath=.\include\apr_escape.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	cl.exe /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\Release\gen_test_char /Fe.\Release\gen_test_char.exe .\tools\gen_test_char.c 
+	.\Release\gen_test_char.exe > .\include\apr_escape_test_char.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
+
+InputPath=.\include\apr_escape.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	cl.exe /nologo /W3 /EHsc /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\Debug\gen_test_char /Fe.\Debug\gen_test_char.exe .\tools\gen_test_char.c 
+	.\Debug\gen_test_char.exe > .\include\apr_escape_test_char.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
+
+InputPath=.\include\apr_escape.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	cl.exe /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\9x\Release\gen_test_char /Fe.\9x\Release\gen_test_char.exe .\tools\gen_test_char.c 
+	.\9x\Release\gen_test_char.exe > .\include\apr_escape_test_char.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
+
+InputPath=.\include\apr_escape.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	cl.exe /nologo /W3 /EHsc /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\9x\Debug\gen_test_char /Fe.\9x\Debug\gen_test_char.exe .\tools\gen_test_char.c 
+	.\9x\Debug\gen_test_char.exe > .\include\apr_escape_test_char.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Release"
+
+InputPath=.\include\apr_escape.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	cl.exe /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\x64\Release\gen_test_char /Fe.\x64\Release\gen_test_char.exe .\tools\gen_test_char.c 
+	.\x64\Release\gen_test_char.exe > .\include\apr_escape_test_char.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
+
+InputPath=.\include\apr_escape.h
+
+"$(INTDIR)\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	cl.exe /nologo /W3 /EHsc /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\x64\Debug\gen_test_char /Fe.\x64\Debug\gen_test_char.exe .\tools\gen_test_char.c 
+	.\x64\Debug\gen_test_char.exe > .\include\apr_escape_test_char.h
+<< 
+	
+
+!ENDIF 
+
+SOURCE=.\include\apr_want.h
+
+!IF  "$(CFG)" == "libapr - Win32 Release"
+
+InputPath=.\include\apr_want.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug"
+
+InputPath=.\include\apr_want.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Release9x"
+
+InputPath=.\include\apr_want.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - Win32 Debug9x"
+
+InputPath=.\include\apr_want.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Release"
+
+InputPath=.\include\apr_want.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ELSEIF  "$(CFG)" == "libapr - x64 Debug"
+
+InputPath=.\include\apr_want.h
+
+".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	<<tempfile.bat 
+	@echo off 
+	type .\include\apr.hw > .\include\apr.h
+<< 
+	
+
+!ENDIF 
+
+SOURCE=.\libapr.rc
+
+"$(INTDIR)\libapr.res" : $(SOURCE) "$(INTDIR)" ".\include\apr.h"
+	$(RSC) $(RSC_PROJ) $(SOURCE)
+
+
+
+!ENDIF 
+

Modified: trunk/contrib/apr/locks/beos/thread_cond.c
===================================================================
--- trunk/contrib/apr/locks/beos/thread_cond.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/locks/beos/thread_cond.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -113,10 +113,11 @@
 
     apr_thread_mutex_lock(cond->condlock);
     
-    if (rv != B_OK)
+    if (rv != B_OK) {
         if (rv == B_TIMED_OUT)
             return APR_TIMEUP;
         return rv;       
+    }
 
     acquire_sem(cond->lock);
     APR_RING_REMOVE(wait, link);

Modified: trunk/contrib/apr/locks/unix/proc_mutex.c
===================================================================
--- trunk/contrib/apr/locks/unix/proc_mutex.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/locks/unix/proc_mutex.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -102,8 +102,8 @@
         apr_ssize_t flen = strlen(fname);
         char *p = apr_pstrndup(new_mutex->pool, fname, strlen(fname));
         unsigned int h1, h2;
-        h1 = apr_hashfunc_default((const char *)p, &flen);
-        h2 = rshash(p);
+        h1 = (apr_hashfunc_default((const char *)p, &flen) & 0xffffffff);
+        h2 = (rshash(p) & 0xffffffff);
         apr_snprintf(semname, sizeof(semname), "/ApR.%xH%x", h1, h2);
     } else {
         apr_time_t now;
@@ -114,7 +114,9 @@
         usec = apr_time_usec(now);
         apr_snprintf(semname, sizeof(semname), "/ApR.%lxZ%lx", sec, usec);
     }
-    psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1);
+    do {
+        psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1);
+    } while (psem == (sem_t *)SEM_FAILED && errno == EINTR);
     if (psem == (sem_t *)SEM_FAILED) {
         if (errno == ENAMETOOLONG) {
             /* Oh well, good try */
@@ -122,7 +124,9 @@
         } else {
             return errno;
         }
-        psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1);
+        do {
+            psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1);
+        } while (psem == (sem_t *)SEM_FAILED && errno == EINTR);
     }
 
     if (psem == (sem_t *)SEM_FAILED) {
@@ -140,7 +144,12 @@
 
 static apr_status_t proc_mutex_posix_acquire(apr_proc_mutex_t *mutex)
 {
-    if (sem_wait(mutex->psem_interproc) < 0) {
+    int rc;
+
+    do {
+        rc = sem_wait(mutex->psem_interproc);
+    } while (rc < 0 && errno == EINTR);
+    if (rc < 0) {
         return errno;
     }
     mutex->curr_locked = 1;
@@ -149,7 +158,12 @@
 
 static apr_status_t proc_mutex_posix_tryacquire(apr_proc_mutex_t *mutex)
 {
-    if (sem_trywait(mutex->psem_interproc) < 0) {
+    int rc;
+
+    do {
+        rc = sem_trywait(mutex->psem_interproc);
+    } while (rc < 0 && errno == EINTR);
+    if (rc < 0) {
         if (errno == EAGAIN) {
             return APR_EBUSY;
         }
@@ -951,7 +965,12 @@
                                                 apr_proc_mutex_t *pmutex)
 {
 #if APR_HAS_SYSVSEM_SERIALIZE || APR_HAS_FCNTL_SERIALIZE || APR_HAS_FLOCK_SERIALIZE || APR_HAS_POSIXSEM_SERIALIZE
-    ospmutex->crossproc = pmutex->interproc->filedes;
+    if (pmutex->interproc) {
+        ospmutex->crossproc = pmutex->interproc->filedes;
+    }
+    else {
+        ospmutex->crossproc = -1;
+    }
 #endif
 #if APR_HAS_PROC_PTHREAD_SERIALIZE
     ospmutex->pthread_interproc = pmutex->pthread_interproc;

Modified: trunk/contrib/apr/memory/unix/apr_pools.c
===================================================================
--- trunk/contrib/apr/memory/unix/apr_pools.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/memory/unix/apr_pools.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -1135,22 +1135,13 @@
      * room to hold the NUL terminator.
      */
     if (ps.node->first_avail == ps.node->endp) {
-        if (psprintf_flush(&ps.vbuff) == -1) {
-            if (pool->abort_fn) {
-                pool->abort_fn(APR_ENOMEM);
-            }
-
-            return NULL;
-        }
+        if (psprintf_flush(&ps.vbuff) == -1)
+           goto error;
     }
 
-    if (apr_vformatter(psprintf_flush, &ps.vbuff, fmt, ap) == -1) {
-        if (pool->abort_fn)
-            pool->abort_fn(APR_ENOMEM);
+    if (apr_vformatter(psprintf_flush, &ps.vbuff, fmt, ap) == -1)
+        goto error;
 
-        return NULL;
-    }
-
     strp = ps.vbuff.curpos;
     *strp++ = '\0';
 
@@ -1195,6 +1186,15 @@
     list_insert(active, node);
 
     return strp;
+
+error:
+    if (pool->abort_fn)
+        pool->abort_fn(APR_ENOMEM);
+    if (ps.got_a_new_node) {
+        ps.node->next = ps.free;
+        allocator_free(pool->allocator, ps.node);
+    }
+    return NULL;
 }
 
 

Modified: trunk/contrib/apr/misc/unix/errorcodes.c
===================================================================
--- trunk/contrib/apr/misc/unix/errorcodes.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/misc/unix/errorcodes.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -39,6 +39,8 @@
 static char *apr_error_string(apr_status_t statcode)
 {
     switch (statcode) {
+    case APR_ENOSTAT:
+        return "Could not perform a stat on the file.";
     case APR_ENOPOOL:
         return "A new pool could not be created.";
     case APR_EBADDATE:
@@ -73,7 +75,10 @@
         return "The specified IP address is invalid.";
     case APR_EBADMASK:
         return "The specified network mask is invalid.";
-
+    case APR_ESYMNOTFOUND:
+        return "Could not find the requested symbol.";
+    case APR_ENOTENOUGHENTROPY:
+        return "Not enough entropy to continue.";
     case APR_INCHILD:
         return
 	    "Your code just forked, and you are currently executing in the "
@@ -128,10 +133,12 @@
         return "The given path is misformatted or contained invalid characters";
     case APR_EPATHWILD:
         return "The given path contained wildcard characters";
+    case APR_EBUSY:
+        return "The given lock was busy.";
     case APR_EPROC_UNKNOWN:
         return "The process is not recognized.";
     case APR_EGENERAL:
-        return "Internal error";
+        return "Internal error (specific information not available)";
     default:
         return "Error string not specified yet";
     }

Modified: trunk/contrib/apr/misc/win32/misc.c
===================================================================
--- trunk/contrib/apr/misc/win32/misc.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/misc/win32/misc.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -97,7 +97,10 @@
                 }
             }
             else if (oslev.dwMajorVersion == 6) {
-                apr_os_level = APR_WIN_VISTA;
+                if (oslev.dwMinorVersion == 0)
+                    apr_os_level = APR_WIN_VISTA;
+                else
+                    apr_os_level = APR_WIN_7;
             }
             else {
                 apr_os_level = APR_WIN_XP;

Modified: trunk/contrib/apr/network_io/os2/sockopt.c
===================================================================
--- trunk/contrib/apr/network_io/os2/sockopt.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/network_io/os2/sockopt.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -58,6 +58,11 @@
             return APR_OS2_STATUS(sock_errno());
         }
     }
+    if (opt & APR_SO_BROADCAST) {
+        if (setsockopt(sock->socketdes, SOL_SOCKET, SO_BROADCAST, (void *)&one, sizeof(int)) == -1) {
+            return APR_FROM_OS_ERROR(sock_errno());
+        }
+    }
     if (opt & APR_SO_REUSEADDR) {
         if (setsockopt(sock->socketdes, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof(int)) == -1) {
             return APR_OS2_STATUS(sock_errno());

Modified: trunk/contrib/apr/network_io/unix/sendrecv.c
===================================================================
--- trunk/contrib/apr/network_io/unix/sendrecv.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/network_io/unix/sendrecv.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -552,7 +552,7 @@
 
         /* On early versions of FreeBSD sendfile, the number of bytes to send 
          * must include the length of the headers.  Don't look at the man page 
-         * for this :(  Instead, look at the the logic in 
+         * for this :(  Instead, look at the logic in 
          * src/sys/kern/uipc_syscalls::sendfile().
          *
          * This was fixed in the middle of 4.6-STABLE

Modified: trunk/contrib/apr/network_io/unix/sockaddr.c
===================================================================
--- trunk/contrib/apr/network_io/unix/sockaddr.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/network_io/unix/sockaddr.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -325,6 +325,16 @@
         hints.ai_flags = AI_ADDRCONFIG;
     }
 #endif
+
+#ifdef __MVS__
+    /* z/OS will not return IPv4 address under AF_UNSPEC if any IPv6 results 
+     * are returned, w/o AI_ALL. 
+     */
+    if (family == APR_UNSPEC) { 
+       hints.ai_flags |= AI_ALL;
+    }
+#endif
+
     if(hostname == NULL) {
 #ifdef AI_PASSIVE 
         /* If hostname is NULL, assume we are trying to bind to all
@@ -839,6 +849,35 @@
     return 0; /* not equal */
 }
 
+APR_DECLARE(int) apr_sockaddr_is_wildcard(const apr_sockaddr_t *addr)
+{
+    static const char inaddr_any[
+#if APR_HAVE_IPV6
+        sizeof(struct in6_addr)
+#else
+        sizeof(struct in_addr)
+#endif
+    ] = {0};
+
+    if (addr->ipaddr_ptr /* IP address initialized */
+        && addr->ipaddr_len <= sizeof inaddr_any) { /* else bug elsewhere? */
+        if (!memcmp(inaddr_any, addr->ipaddr_ptr, addr->ipaddr_len)) {
+            return 1;
+        }
+#if APR_HAVE_IPV6
+    if (addr->family == AF_INET6
+        && IN6_IS_ADDR_V4MAPPED((struct in6_addr *)addr->ipaddr_ptr)) {
+        struct in_addr *v4 = (struct in_addr *)&((apr_uint32_t *)addr->ipaddr_ptr)[3];
+
+        if (!memcmp(inaddr_any, v4, sizeof *v4)) {
+            return 1;
+        }
+    }
+#endif
+    }
+    return 0;
+}
+
 static apr_status_t parse_network(apr_ipsubnet_t *ipsub, const char *network)
 {
     /* legacy syntax for ip addrs: a.b.c. ==> a.b.c.0/24 for example */

Modified: trunk/contrib/apr/network_io/unix/socket_util.c
===================================================================
--- trunk/contrib/apr/network_io/unix/socket_util.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/network_io/unix/socket_util.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -46,7 +46,8 @@
         /* Some other error -> unexpected error. */
         return rv;
     }
-    else if (nfds == 1 && pfds[0].rtnevents == APR_POLLIN) {
+    /* Many platforms return only APR_POLLIN; OS X returns APR_POLLHUP|APR_POLLIN */
+    else if (nfds == 1 && (pfds[0].rtnevents & APR_POLLIN)  == APR_POLLIN) {
         apr_sockaddr_t unused;
         apr_size_t len = 1;
         char buf;

Modified: trunk/contrib/apr/network_io/unix/sockets.c
===================================================================
--- trunk/contrib/apr/network_io/unix/sockets.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/network_io/unix/sockets.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -145,13 +145,22 @@
 #ifndef HAVE_SOCK_CLOEXEC
     {
         int flags;
+        apr_status_t rv;
 
-        if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1)
-            return errno;
+        if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1) {
+            rv = errno;
+            close((*new)->socketdes);
+            (*new)->socketdes = -1;
+            return rv;
+        }
 
         flags |= FD_CLOEXEC;
-        if (fcntl((*new)->socketdes, F_SETFD, flags) == -1)
-            return errno;
+        if (fcntl((*new)->socketdes, F_SETFD, flags) == -1) {
+            rv = errno;
+            close((*new)->socketdes);
+            (*new)->socketdes = -1;
+            return rv;
+        }
     }
 #endif
 
@@ -207,7 +216,20 @@
     sa.salen = sizeof(sa.sa);
 
 #ifdef HAVE_ACCEPT4
-    s = accept4(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen, SOCK_CLOEXEC);
+    {
+        int flags = SOCK_CLOEXEC;
+
+#if defined(SOCK_NONBLOCK) && APR_O_NONBLOCK_INHERITED
+        /* With FreeBSD accept4() (avail in 10+), O_NONBLOCK is not inherited
+         * (unlike Linux).  Mimic the accept() behavior here in a way that
+         * may help other platforms.
+         */
+        if (apr_is_option_set(sock, APR_SO_NONBLOCK) == 1) {
+            flags |= SOCK_NONBLOCK;
+        }
+#endif
+        s = accept4(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen, flags);
+    }
 #else
     s = accept(sock->socketdes, (struct sockaddr *)&sa.sa, &sa.salen);
 #endif
@@ -293,13 +315,22 @@
 #ifndef HAVE_ACCEPT4
     {
         int flags;
+        apr_status_t rv;
 
-        if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1)
-            return errno;
+        if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1) {
+            rv = errno;
+            close((*new)->socketdes);
+            (*new)->socketdes = -1;
+            return rv;
+        }
 
         flags |= FD_CLOEXEC;
-        if (fcntl((*new)->socketdes, F_SETFD, flags) == -1)
-            return errno;
+        if (fcntl((*new)->socketdes, F_SETFD, flags) == -1) {
+            rv = errno;
+            close((*new)->socketdes);
+            (*new)->socketdes = -1;
+            return rv;
+        }
     }
 #endif
 

Modified: trunk/contrib/apr/network_io/unix/sockopt.c
===================================================================
--- trunk/contrib/apr/network_io/unix/sockopt.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/network_io/unix/sockopt.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -141,6 +141,18 @@
             apr_set_option(sock, APR_SO_DEBUG, on);
         }
         break;
+    case APR_SO_BROADCAST:
+#ifdef SO_BROADCAST
+        if (on != apr_is_option_set(sock, APR_SO_BROADCAST)) {
+            if (setsockopt(sock->socketdes, SOL_SOCKET, SO_BROADCAST, (void *)&one, sizeof(int)) == -1) {
+                return errno;
+            }
+            apr_set_option(sock, APR_SO_BROADCAST, on);
+        }
+#else
+        return APR_ENOTIMPL;
+#endif
+        break;
     case APR_SO_REUSEADDR:
         if (on != apr_is_option_set(sock, APR_SO_REUSEADDR)) {
             if (setsockopt(sock->socketdes, SOL_SOCKET, SO_REUSEADDR, (void *)&one, sizeof(int)) == -1) {

Modified: trunk/contrib/apr/network_io/win32/sockets.c
===================================================================
--- trunk/contrib/apr/network_io/win32/sockets.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/network_io/win32/sockets.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -311,6 +311,47 @@
     return APR_SUCCESS;
 }
 
+static apr_status_t wait_for_connect(apr_socket_t *sock)
+{
+    int rc;
+    struct timeval tv, *tvptr;
+    fd_set wfdset, efdset;
+
+    /* wait for the connect to complete or timeout */
+    FD_ZERO(&wfdset);
+    FD_SET(sock->socketdes, &wfdset);
+    FD_ZERO(&efdset);
+    FD_SET(sock->socketdes, &efdset);
+
+    if (sock->timeout < 0) {
+        tvptr = NULL;
+    }
+    else {
+        /* casts for winsock/timeval definition */
+        tv.tv_sec =  (long)apr_time_sec(sock->timeout);
+        tv.tv_usec = (int)apr_time_usec(sock->timeout);
+        tvptr = &tv;
+    }
+    rc = select(FD_SETSIZE+1, NULL, &wfdset, &efdset, tvptr);
+    if (rc == SOCKET_ERROR) {
+        return apr_get_netos_error();
+    }
+    else if (!rc) {
+        return APR_FROM_OS_ERROR(WSAETIMEDOUT);
+    }
+    /* Evaluate the efdset */
+    if (FD_ISSET(sock->socketdes, &efdset)) {
+        /* The connect failed. */
+        int rclen = sizeof(rc);
+        if (getsockopt(sock->socketdes, SOL_SOCKET, SO_ERROR, (char*) &rc, &rclen)) {
+            return apr_get_netos_error();
+        }
+        return APR_FROM_OS_ERROR(rc);
+    }
+
+    return APR_SUCCESS;
+}
+
 APR_DECLARE(apr_status_t) apr_socket_connect(apr_socket_t *sock, 
                                              apr_sockaddr_t *sa)
 {
@@ -322,15 +363,13 @@
 
     if (connect(sock->socketdes, (const struct sockaddr *)&sa->sa.sin,
                 sa->salen) == SOCKET_ERROR) {
-        int rc;
-        struct timeval tv, *tvptr;
-        fd_set wfdset, efdset;
-
         rv = apr_get_netos_error();
-        if (rv != APR_FROM_OS_ERROR(WSAEWOULDBLOCK)) {
-            return rv;
-        }
+    }
+    else {
+        rv = APR_SUCCESS;
+    }
 
+    if (rv == APR_FROM_OS_ERROR(WSAEWOULDBLOCK)) {
         if (sock->timeout == 0) {
             /* Tell the app that the connect is in progress...
              * Gotta play some games here.  connect on Unix will return 
@@ -337,44 +376,28 @@
              * EINPROGRESS under the same circumstances that Windows 
              * returns WSAEWOULDBLOCK. Do some adhoc canonicalization...
              */
-            return APR_FROM_OS_ERROR(WSAEINPROGRESS);
+            rv = APR_FROM_OS_ERROR(WSAEINPROGRESS);
         }
-
-        /* wait for the connect to complete or timeout */
-        FD_ZERO(&wfdset);
-        FD_SET(sock->socketdes, &wfdset);
-        FD_ZERO(&efdset);
-        FD_SET(sock->socketdes, &efdset);
-
-        if (sock->timeout < 0) {
-            tvptr = NULL;
-        }
         else {
-            /* casts for winsock/timeval definition */
-            tv.tv_sec =  (long)apr_time_sec(sock->timeout);
-            tv.tv_usec = (int)apr_time_usec(sock->timeout);
-            tvptr = &tv;
-        }
-        rc = select(FD_SETSIZE+1, NULL, &wfdset, &efdset, tvptr);
-        if (rc == SOCKET_ERROR) {
-            return apr_get_netos_error();
-        }
-        else if (!rc) {
-            return APR_FROM_OS_ERROR(WSAETIMEDOUT);
-        }
-        /* Evaluate the efdset */
-        if (FD_ISSET(sock->socketdes, &efdset)) {
-            /* The connect failed. */
-            int rclen = sizeof(rc);
-            if (getsockopt(sock->socketdes, SOL_SOCKET, SO_ERROR, (char*) &rc, &rclen)) {
-                return apr_get_netos_error();
+            rv = wait_for_connect(sock);
+            if (rv != APR_SUCCESS) {
+                return rv;
             }
-            return APR_FROM_OS_ERROR(rc);
         }
     }
-    /* connect was OK .. amazing */
-    sock->remote_addr = sa;
+
+    if (memcmp(sa->ipaddr_ptr, generic_inaddr_any, sa->ipaddr_len)) {
+        /* A real remote address was passed in.  If the unspecified
+         * address was used, the actual remote addr will have to be
+         * determined using getpeername() if required. */
+        sock->remote_addr_unknown = 0;
+
+        /* Copy the address structure details in. */
+        sock->remote_addr = sa;
+    }
+
     if (sock->local_addr->sa.sin.sin_port == 0) {
+        /* connect() got us an ephemeral port */
         sock->local_port_unknown = 1;
     }
     if (!memcmp(sock->local_addr->ipaddr_ptr,
@@ -385,6 +408,11 @@
          */
         sock->local_interface_unknown = 1;
     }
+
+    if (rv != APR_SUCCESS && rv != APR_FROM_OS_ERROR(WSAEISCONN)) {
+        return rv;
+    }
+
     return APR_SUCCESS;
 }
 

Modified: trunk/contrib/apr/network_io/win32/sockopt.c
===================================================================
--- trunk/contrib/apr/network_io/win32/sockopt.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/network_io/win32/sockopt.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -63,9 +63,10 @@
     }
     else if (t > 0) {
         /* Set the socket to blocking if it was previously non-blocking */
-        if (sock->timeout == 0) {
+        if (sock->timeout == 0 || apr_is_option_set(sock, APR_SO_NONBLOCK)) {
             if ((stat = soblock(sock->socketdes)) != APR_SUCCESS)
                 return stat;
+            apr_set_option(sock, APR_SO_NONBLOCK, 0);
         }
         /* Reset socket timeouts if the new timeout differs from the old timeout */
         if (sock->timeout != t) 
@@ -134,6 +135,15 @@
             return apr_get_netos_error();
         }
         break;
+    case APR_SO_BROADCAST:
+        if (on != apr_is_option_set(sock, APR_SO_BROADCAST)) {
+           if (setsockopt(sock->socketdes, SOL_SOCKET, SO_BROADCAST, 
+                           (void *)&one, sizeof(int)) == -1) {
+                return apr_get_netos_error();
+            }
+            apr_set_option(sock, APR_SO_BROADCAST, on);
+        }
+        break;
     case APR_SO_REUSEADDR:
         if (on != apr_is_option_set(sock, APR_SO_REUSEADDR)) {
             if (setsockopt(sock->socketdes, SOL_SOCKET, SO_REUSEADDR, 
@@ -178,7 +188,7 @@
 
             if (setsockopt(sock->socketdes, optlevel, optname, 
                            (void *)&on, sizeof(int)) == -1) {
-                return errno;
+                return apr_get_netos_error();
             }
             apr_set_option(sock, APR_TCP_DEFER_ACCEPT, on);
         }

Modified: trunk/contrib/apr/passwd/apr_getpass.c
===================================================================
--- trunk/contrib/apr/passwd/apr_getpass.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/passwd/apr_getpass.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -51,6 +51,9 @@
 #if APR_HAVE_STRINGS_H
 #include <strings.h>
 #endif
+#if APR_HAVE_STDIO_H
+#include <stdio.h>
+#endif
 
 /* Disable getpass() support when PASS_MAX is defined and is "small",
  * for an arbitrary definition of "small".
@@ -80,9 +83,9 @@
 
 #if !defined(HAVE_GETPASS) && !defined(HAVE_GETPASSPHRASE) && !defined(HAVE_GETPASS_R)
 
-/* MPE, Win32, NetWare and BeOS all lack a native getpass() */
+/* MPE, Win32, and BeOS all lack a native getpass() */
 
-#if !defined(HAVE_TERMIOS_H) && !defined(WIN32) && !defined(NETWARE)
+#if !defined(HAVE_TERMIOS_H) && !defined(WIN32)
 /*
  * MPE lacks getpass() and a way to suppress stdin echo.  So for now, just
  * issue the prompt and read the results with echo.  (Ugh).
@@ -98,47 +101,8 @@
     return (char *) &password;
 }
 
-#elif defined (HAVE_TERMIOS_H)
-#include <stdio.h>
+#elif defined(WIN32)
 
-static char *get_password(const char *prompt)
-{
-    struct termios attr;
-    static char password[MAX_STRING_LEN];
-    int n=0;
-    fputs(prompt, stderr);
-    fflush(stderr);
-
-    if (tcgetattr(STDIN_FILENO, &attr) != 0)
-        return NULL;
-    attr.c_lflag &= ~(ECHO);
-
-    if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &attr) != 0)
-        return NULL;
-    while ((password[n] = getchar()) != '\n') {
-        if (n < sizeof(password) - 1 && password[n] >= ' ' && password[n] <= '~') {
-            n++;
-        } else {
-            fprintf(stderr,"\n");
-            fputs(prompt, stderr);
-            fflush(stderr);
-            n = 0;
-        }
-    }
- 
-    password[n] = '\0';
-    printf("\n");
-    if (n > (MAX_STRING_LEN - 1)) {
-        password[MAX_STRING_LEN - 1] = '\0';
-    }
-
-    attr.c_lflag |= ECHO;
-    tcsetattr(STDIN_FILENO, TCSANOW, &attr);
-    return (char*) &password;
-}
-
-#else
-
 /*
  * Windows lacks getpass().  So we'll re-implement it here.
  */
@@ -208,6 +172,44 @@
 #endif
 }
 
+#elif defined (HAVE_TERMIOS_H)
+
+static char *get_password(const char *prompt)
+{
+    struct termios attr;
+    static char password[MAX_STRING_LEN];
+    int n=0;
+    fputs(prompt, stderr);
+    fflush(stderr);
+
+    if (tcgetattr(STDIN_FILENO, &attr) != 0)
+        return NULL;
+    attr.c_lflag &= ~(ECHO);
+
+    if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &attr) != 0)
+        return NULL;
+    while ((password[n] = getchar()) != '\n') {
+        if (n < sizeof(password) - 1 && password[n] >= ' ' && password[n] <= '~') {
+            n++;
+        } else {
+            fprintf(stderr,"\n");
+            fputs(prompt, stderr);
+            fflush(stderr);
+            n = 0;
+        }
+    }
+ 
+    password[n] = '\0';
+    printf("\n");
+    if (n > (MAX_STRING_LEN - 1)) {
+        password[MAX_STRING_LEN - 1] = '\0';
+    }
+
+    attr.c_lflag |= ECHO;
+    tcsetattr(STDIN_FILENO, TCSANOW, &attr);
+    return (char*) &password;
+}
+
 #endif /* no getchar or _getch */
 
 #endif /* no getpass or getpassphrase or getpass_r */

Modified: trunk/contrib/apr/poll/unix/epoll.c
===================================================================
--- trunk/contrib/apr/poll/unix/epoll.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/poll/unix/epoll.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -104,14 +104,22 @@
 
 #ifndef HAVE_EPOLL_CREATE1
     {
-        int flags;
+        int fd_flags;
 
-        if ((flags = fcntl(fd, F_GETFD)) == -1)
-            return errno;
+        if ((fd_flags = fcntl(fd, F_GETFD)) == -1) {
+            rv = errno;
+            close(fd);
+            pollset->p = NULL;
+            return rv;
+        }
 
-        flags |= FD_CLOEXEC;
-        if (fcntl(fd, F_SETFD, flags) == -1)
-            return errno;
+        fd_flags |= FD_CLOEXEC;
+        if (fcntl(fd, F_SETFD, fd_flags) == -1) {
+            rv = errno;
+            close(fd);
+            pollset->p = NULL;
+            return rv;
+        }
     }
 #endif
 
@@ -122,11 +130,13 @@
         ((rv = apr_thread_mutex_create(&pollset->p->ring_lock,
                                        APR_THREAD_MUTEX_DEFAULT,
                                        p)) != APR_SUCCESS)) {
+        close(fd);
         pollset->p = NULL;
         return rv;
     }
 #else
     if (flags & APR_POLLSET_THREADSAFE) {
+        close(fd);
         pollset->p = NULL;
         return APR_ENOTIMPL;
     }
@@ -345,14 +355,23 @@
 
 #ifndef HAVE_EPOLL_CREATE1
     {
-        int flags;
+        int fd_flags;
+        apr_status_t rv;
 
-        if ((flags = fcntl(fd, F_GETFD)) == -1)
-            return errno;
+        if ((fd_flags = fcntl(fd, F_GETFD)) == -1) {
+            rv = errno;
+            close(fd);
+            pollcb->fd = -1;
+            return rv;
+        }
 
-        flags |= FD_CLOEXEC;
-        if (fcntl(fd, F_SETFD, flags) == -1)
-            return errno;
+        fd_flags |= FD_CLOEXEC;
+        if (fcntl(fd, F_SETFD, fd_flags) == -1) {
+            rv = errno;
+            close(fd);
+            pollcb->fd = -1;
+            return rv;
+        }
     }
 #endif
     

Modified: trunk/contrib/apr/poll/unix/kqueue.c
===================================================================
--- trunk/contrib/apr/poll/unix/kqueue.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/poll/unix/kqueue.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -115,12 +115,20 @@
     {
         int flags;
 
-        if ((flags = fcntl(pollset->p->kqueue_fd, F_GETFD)) == -1)
-            return errno;
+        if ((flags = fcntl(pollset->p->kqueue_fd, F_GETFD)) == -1) {
+            rv = errno;
+            close(pollset->p->kqueue_fd);
+            pollset->p = NULL;
+            return rv;
+        }
 
         flags |= FD_CLOEXEC;
-        if (fcntl(pollset->p->kqueue_fd, F_SETFD, flags) == -1)
-            return errno;
+        if (fcntl(pollset->p->kqueue_fd, F_SETFD, flags) == -1) {
+            rv = errno;
+            close(pollset->p->kqueue_fd);
+            pollset->p = NULL;
+            return rv;
+        }
     }
 
     pollset->p->result_set = apr_palloc(p, pollset->p->setsize * sizeof(apr_pollfd_t));
@@ -338,13 +346,22 @@
 
     {
         int flags;
+        apr_status_t rv;
 
-        if ((flags = fcntl(fd, F_GETFD)) == -1)
-            return errno;
+        if ((flags = fcntl(fd, F_GETFD)) == -1) {
+            rv = errno;
+            close(fd);
+            pollcb->fd = -1;
+            return rv;
+        }
 
         flags |= FD_CLOEXEC;
-        if (fcntl(fd, F_SETFD, flags) == -1)
-            return errno;
+        if (fcntl(fd, F_SETFD, flags) == -1) {
+            rv = errno;
+            close(fd);
+            pollcb->fd = -1;
+            return rv;
+        }
     }
  
     pollcb->fd = fd;

Modified: trunk/contrib/apr/poll/unix/poll.c
===================================================================
--- trunk/contrib/apr/poll/unix/poll.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/poll/unix/poll.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -240,26 +240,25 @@
 {
     int ret;
     apr_status_t rv = APR_SUCCESS;
-#ifdef WIN32
-    apr_interval_time_t orig_timeout = timeout;
-#endif
 
-    if (timeout > 0) {
-        timeout /= 1000;
-    }
 #ifdef WIN32
     /* WSAPoll() requires at least one socket. */
     if (pollset->nelts == 0) {
         *num = 0;
-        if (orig_timeout > 0) {
-            apr_sleep(orig_timeout);
+        if (timeout > 0) {
+            apr_sleep(timeout);
             return APR_TIMEUP;
         }
         return APR_SUCCESS;
     }
-
+    if (timeout > 0) {
+        timeout /= 1000;
+    }
     ret = WSAPoll(pollset->p->pollset, pollset->nelts, (int)timeout);
 #else
+    if (timeout > 0) {
+        timeout /= 1000;
+    }
     ret = poll(pollset->p->pollset, pollset->nelts, timeout);
 #endif
     (*num) = ret;
@@ -398,12 +397,23 @@
     apr_status_t rv = APR_SUCCESS;
     apr_uint32_t i;
 
+#ifdef WIN32
+    /* WSAPoll() requires at least one socket. */
+    if (pollcb->nelts == 0) {
+        if (timeout > 0) {
+            apr_sleep(timeout);
+            return APR_TIMEUP;
+        }
+        return APR_SUCCESS;
+    }
     if (timeout > 0) {
         timeout /= 1000;
     }
-#ifdef WIN32
     ret = WSAPoll(pollcb->pollset.ps, pollcb->nelts, (int)timeout);
 #else
+    if (timeout > 0) {
+        timeout /= 1000;
+    }
     ret = poll(pollcb->pollset.ps, pollcb->nelts, timeout);
 #endif
     if (ret < 0) {

Modified: trunk/contrib/apr/poll/unix/pollcb.c
===================================================================
--- trunk/contrib/apr/poll/unix/pollcb.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/poll/unix/pollcb.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -66,6 +66,7 @@
 #endif
         break;
         case APR_POLLSET_SELECT:
+        case APR_POLLSET_AIO_MSGQ:
         case APR_POLLSET_DEFAULT:
         break;
     }
@@ -135,6 +136,9 @@
         }
         pollcb->provider = provider;
     }
+    else if (rv != APR_SUCCESS) {
+        return rv;
+    }
 
     *ret_pollcb = pollcb;
     return APR_SUCCESS;

Modified: trunk/contrib/apr/poll/unix/pollset.c
===================================================================
--- trunk/contrib/apr/poll/unix/pollset.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/poll/unix/pollset.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -163,6 +163,9 @@
 #if defined(HAVE_EPOLL)
 extern apr_pollset_provider_t *apr_pollset_provider_epoll;
 #endif
+#if defined(HAVE_AIO_MSGQ)
+extern apr_pollset_provider_t *apr_pollset_provider_aio_msgq;
+#endif
 #if defined(HAVE_POLL)
 extern apr_pollset_provider_t *apr_pollset_provider_poll;
 #endif
@@ -187,6 +190,11 @@
             provider = apr_pollset_provider_epoll;
 #endif
         break;
+        case APR_POLLSET_AIO_MSGQ:
+#if defined(HAVE_AIO_MSGQ)
+            provider = apr_pollset_provider_aio_msgq;
+#endif
+        break;
         case APR_POLLSET_POLL:
 #if defined(HAVE_POLL)
             provider = apr_pollset_provider_poll;

Modified: trunk/contrib/apr/poll/unix/port.c
===================================================================
--- trunk/contrib/apr/poll/unix/port.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/poll/unix/port.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -188,12 +188,20 @@
     {
         int flags;
 
-        if ((flags = fcntl(pollset->p->port_fd, F_GETFD)) == -1)
-            return errno;
+        if ((flags = fcntl(pollset->p->port_fd, F_GETFD)) == -1) {
+            rv = errno;
+            close(pollset->p->port_fd);
+            pollset->p = NULL;
+            return rv;
+        }
 
         flags |= FD_CLOEXEC;
-        if (fcntl(pollset->p->port_fd, F_SETFD, flags) == -1)
-            return errno;
+        if (fcntl(pollset->p->port_fd, F_SETFD, flags) == -1) {
+            rv = errno;
+            close(pollset->p->port_fd);
+            pollset->p = NULL;
+            return rv;
+        }
     }
 
     pollset->p->result_set = apr_palloc(p, size * sizeof(apr_pollfd_t));
@@ -478,13 +486,22 @@
 
     {
         int flags;
+        apr_status_t rv;
 
-        if ((flags = fcntl(pollcb->fd, F_GETFD)) == -1)
-            return errno;
+        if ((flags = fcntl(pollcb->fd, F_GETFD)) == -1) {
+            rv = errno;
+            close(pollcb->fd);
+            pollcb->fd = -1;
+            return rv;
+        }
 
         flags |= FD_CLOEXEC;
-        if (fcntl(pollcb->fd, F_SETFD, flags) == -1)
-            return errno;
+        if (fcntl(pollcb->fd, F_SETFD, flags) == -1) {
+            rv = errno;
+            close(pollcb->fd);
+            pollcb->fd = -1;
+            return rv;
+        }
     }
 
     pollcb->pollset.port = apr_palloc(p, size * sizeof(port_event_t));

Copied: trunk/contrib/apr/poll/unix/z_asio.c (from rev 9277, vendor/apache/apr/dist/poll/unix/z_asio.c)
===================================================================
--- trunk/contrib/apr/poll/unix/z_asio.c	                        (rev 0)
+++ trunk/contrib/apr/poll/unix/z_asio.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -0,0 +1,779 @@
+/* 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.
+ *
+ *
+ ******************************************************************************
+ *
+ * This implementation is based on a design by John Brooks (IBM Pok) which uses
+ * the z/OS sockets async i/o facility.  When a
+ * socket is added to the pollset, an async poll is issued for that individual
+ * socket.  It specifies that the kernel should send an IPC message when the
+ * socket becomes ready.  The IPC messages are sent to a single message queue
+ * that is part of the pollset.  apr_pollset_poll waits on the arrival of IPC
+ * messages or the specified timeout.
+ *
+ * Since z/OS does not support async i/o for pipes or files at present, this
+ * implementation falls back to using ordinary poll() when
+ * APR_POLLSET_THREADSAFE is unset.
+ *
+ * Greg Ames
+ * April 2012
+ */
+
+#include "apr.h"
+#include "apr_hash.h"
+#include "apr_poll.h"
+#include "apr_time.h"
+#include "apr_portable.h"
+#include "apr_arch_inherit.h"
+#include "apr_arch_file_io.h"
+#include "apr_arch_networkio.h"
+#include "apr_arch_poll_private.h"
+
+#ifdef HAVE_AIO_MSGQ
+
+#include <sys/msg.h>  	/* msgget etc   */
+#include <time.h>     	/* timestruct   */
+#include <poll.h>     	/* pollfd       */
+#include <limits.h>     /* MAX_INT      */
+
+struct apr_pollset_private_t
+{
+    int             msg_q;              /* IPC message queue. The z/OS kernel sends messages
+                                         * to this queue when our async polls on individual
+                                         * file descriptors complete
+                                         */
+    apr_pollfd_t    *result_set;
+    apr_uint32_t    size;
+
+#if APR_HAS_THREADS
+    /* A thread mutex to protect operations on the rings and the hash */
+    apr_thread_mutex_t *ring_lock;
+#endif
+
+    /* A hash of all active elements used for O(1) _remove operations */
+    apr_hash_t      *elems;
+
+    APR_RING_HEAD(ready_ring_t,       asio_elem_t)      ready_ring;
+    APR_RING_HEAD(prior_ready_ring_t, asio_elem_t)      prior_ready_ring;
+    APR_RING_HEAD(free_ring_t,        asio_elem_t)      free_ring;
+
+    /* for pipes etc with no asio */
+    struct pollfd   *pollset;
+    apr_pollfd_t    *query_set;
+};
+
+typedef enum {
+    ASIO_INIT = 0,
+    ASIO_REMOVED,
+    ASIO_COMPLETE
+} asio_state_e;
+
+typedef struct asio_elem_t asio_elem_t;
+
+struct asio_msgbuf_t {
+    long         msg_type;       /* must be > 0 */
+    asio_elem_t *msg_elem;
+};
+
+struct asio_elem_t
+{
+    APR_RING_ENTRY(asio_elem_t) link;
+    apr_pollfd_t                pfd;
+    struct pollfd               os_pfd;
+    struct aiocb                a;
+    asio_state_e                state;
+    struct asio_msgbuf_t        msg;
+};
+
+#define DEBUG 0
+
+/* DEBUG settings: 0 - no debug messages at all,
+ *                 1 - should not occur messages,
+ *                 2 - apr_pollset_* entry and exit messages,
+ *                 3 - state changes, memory usage,
+ *                 4 - z/OS, APR, and internal calls,
+ *                 5 - everything else except the timer pop path,
+ *                 6 - everything, including the Event 1 sec timer pop path
+ *
+ *  each DEBUG level includes all messages produced by lower numbered levels
+ */
+
+#if DEBUG
+
+#include <assert.h>
+#include <unistd.h>	/* getpid       */
+
+#define DBG_BUFF char dbg_msg_buff[256];
+
+#define DBG_TEST(lvl) if (lvl <= DEBUG) {
+
+#define DBG_CORE(msg)               sprintf(dbg_msg_buff, "% 8d " __FUNCTION__ \
+                                        " "  msg, getpid()),                   \
+                                    fprintf(stderr, "%s", dbg_msg_buff);
+#define DBG_CORE1(msg, var1)        sprintf(dbg_msg_buff, "% 8d " __FUNCTION__ \
+                                        " " msg, getpid(), var1),              \
+                                    fprintf(stderr, "%s", dbg_msg_buff);
+#define DBG_CORE2(msg, var1, var2)  sprintf(dbg_msg_buff, "% 8d " __FUNCTION__ \
+                                        " " msg, getpid(), var1, var2),        \
+                                    fprintf(stderr, "%s", dbg_msg_buff);
+#define DBG_CORE3(msg, var1, var2, var3)                                       \
+                                    sprintf(dbg_msg_buff, "% 8d " __FUNCTION__ \
+                                        " " msg, getpid(), var1, var2, var3),  \
+                                    fprintf(stderr, "%s", dbg_msg_buff);
+#define DBG_CORE4(msg, var1, var2, var3, var4)                                 \
+                                    sprintf(dbg_msg_buff, "% 8d " __FUNCTION__ \
+                                        " " msg, getpid(), var1, var2, var3, var4),\
+                                    fprintf(stderr, "%s", dbg_msg_buff);
+
+#define DBG_END }
+
+#define DBG(lvl, msg)   DBG_TEST(lvl)   \
+                        DBG_CORE(msg)   \
+                        DBG_END
+
+#define DBG1(lvl, msg, var1)    DBG_TEST(lvl)           \
+                                DBG_CORE1(msg, var1)    \
+                                DBG_END
+
+#define DBG2(lvl, msg, var1, var2)      DBG_TEST(lvl)               \
+                                        DBG_CORE2(msg, var1, var2)  \
+                                        DBG_END
+
+#define DBG3(lvl, msg, var1, var2, var3)                        \
+                        DBG_TEST(lvl)                           \
+                        DBG_CORE3(msg, var1, var2, var3)        \
+                        DBG_END
+
+#define DBG4(lvl, msg, var1, var2, var3, var4)                  \
+                        DBG_TEST(lvl)                           \
+                        DBG_CORE4(msg, var1, var2, var3, var4)  \
+                        DBG_END
+
+#else  /* DEBUG is 0 */
+#define DBG_BUFF
+#define DBG(lvl, msg)                            ((void)0)
+#define DBG1(lvl, msg, var1)                     ((void)0)
+#define DBG2(lvl, msg, var1, var2)               ((void)0)
+#define DBG3(lvl, msg, var1, var2, var3)         ((void)0)
+#define DBG4(lvl, msg, var1, var2, var3, var4)   ((void)0)
+
+#endif /* DEBUG */
+
+static int asyncio(struct aiocb *a)
+{
+    DBG_BUFF
+    int rv;
+
+#ifdef _LP64
+#define AIO BPX4AIO
+#else
+#define AIO BPX1AIO
+#endif
+
+    AIO(sizeof(struct aiocb), a, &rv, &errno, __err2ad());
+    DBG2(4, "BPX4AIO aiocb %p rv %d\n",
+             a, rv);
+#ifdef DEBUG
+    if (rv < 0) {
+        DBG2(4, "errno %d errnojr %08x\n",
+                 errno, *__err2ad());
+    }
+#endif
+    return rv;
+}
+
+static apr_int16_t get_event(apr_int16_t event)
+{
+    DBG_BUFF
+    apr_int16_t rv = 0;
+    DBG(4, "entered\n");
+
+    if (event & APR_POLLIN)
+        rv |= POLLIN;
+    if (event & APR_POLLPRI)
+        rv |= POLLPRI;
+    if (event & APR_POLLOUT)
+        rv |= POLLOUT;
+    if (event & APR_POLLERR)
+        rv |= POLLERR;
+    if (event & APR_POLLHUP)
+        rv |= POLLHUP;
+    if (event & APR_POLLNVAL)
+        rv |= POLLNVAL;
+
+    DBG(4, "exiting\n");
+    return rv;
+}
+
+static apr_int16_t get_revent(apr_int16_t event)
+{
+    DBG_BUFF
+    apr_int16_t rv = 0;
+    DBG(4, "entered\n");
+
+    if (event & POLLIN)
+        rv |= APR_POLLIN;
+    if (event & POLLPRI)
+        rv |= APR_POLLPRI;
+    if (event & POLLOUT)
+        rv |= APR_POLLOUT;
+    if (event & POLLERR)
+        rv |= APR_POLLERR;
+    if (event & POLLHUP)
+        rv |= APR_POLLHUP;
+    if (event & POLLNVAL)
+        rv |= APR_POLLNVAL;
+
+    DBG(4, "exiting\n");
+    return rv;
+}
+
+static apr_status_t asio_pollset_cleanup(apr_pollset_t *pollset)
+{
+    DBG_BUFF
+    int rv;
+
+    DBG(4, "entered\n");
+    rv = msgctl(pollset->p->msg_q, IPC_RMID, NULL);
+
+    DBG1(4, "exiting, msgctl(IPC_RMID) returned %d\n", rv);
+    return rv;
+}
+
+static apr_status_t asio_pollset_create(apr_pollset_t *pollset,
+                                        apr_uint32_t size,
+                                        apr_pool_t *p,
+                                        apr_uint32_t flags)
+{
+    DBG_BUFF
+    apr_status_t rv;
+    apr_pollset_private_t *priv;
+
+    DBG1(2, "entered, flags: %x\n", flags);
+
+    priv = pollset->p = apr_palloc(p, sizeof(*priv));
+
+    if (flags & APR_POLLSET_THREADSAFE) {
+#if APR_HAS_THREADS
+        if (rv = apr_thread_mutex_create(&(priv->ring_lock),
+                                           APR_THREAD_MUTEX_DEFAULT,
+                                           p) != APR_SUCCESS) {
+            DBG1(1, "apr_thread_mutex_create returned %d\n", rv);
+            pollset->p = NULL;
+            return rv;
+        }
+        rv = msgget(IPC_PRIVATE, S_IWUSR+S_IRUSR); /* user r/w perms */
+        if (rv < 0) {
+#if DEBUG
+            perror(__FUNCTION__ " msgget returned < 0 ");
+#endif
+            pollset->p = NULL;
+            return rv;
+        }
+
+        DBG2(4, "pollset %p msgget was OK, rv=%d\n", pollset, rv);
+        priv->msg_q = rv;
+        priv->elems   = apr_hash_make(p);
+
+        APR_RING_INIT(&priv->free_ring, asio_elem_t, link);
+        APR_RING_INIT(&priv->prior_ready_ring, asio_elem_t, link);
+
+#else  /* APR doesn't have threads but caller wants a threadsafe pollset */
+        pollset->p = NULL;
+        return APR_ENOTIMPL;
+#endif
+
+    } else {  /* APR_POLLSET_THREADSAFE not set, i.e. no async i/o,
+               * init fields only needed in old style pollset
+               */
+
+        priv->pollset = apr_palloc(p, size * sizeof(struct pollfd));
+        priv->query_set = apr_palloc(p, size * sizeof(apr_pollfd_t));
+
+        if ((!priv->pollset) || (!priv->query_set)) {
+            pollset->p = NULL;
+            return APR_ENOMEM;
+        }
+    }
+
+    pollset->nelts   = 0;
+    pollset->flags   = flags;
+    pollset->pool    = p;
+    priv->size    = size;
+    priv->result_set = apr_palloc(p, size * sizeof(apr_pollfd_t));
+    if (!priv->result_set) {
+        if (flags & APR_POLLSET_THREADSAFE) {
+            msgctl(priv->msg_q, IPC_RMID, NULL);
+        }
+        pollset->p = NULL;
+        return APR_ENOMEM;
+    }
+
+    DBG2(2, "exiting, pollset: %p, type: %s\n",
+             pollset,
+             flags & APR_POLLSET_THREADSAFE ? "async" : "POSIX");
+
+
+    return APR_SUCCESS;
+
+} /* end of asio_pollset_create */
+
+static apr_status_t posix_add(apr_pollset_t      *pollset,
+                              const apr_pollfd_t *descriptor)
+{
+    DBG_BUFF
+    int fd;
+    apr_pool_t  *p = pollset->pool;
+    apr_pollset_private_t *priv = pollset->p;
+
+    DBG(4, "entered\n");
+
+    if (pollset->nelts == priv->size) {
+        return APR_ENOMEM;
+    }
+
+    priv->query_set[pollset->nelts] = *descriptor;
+    if (descriptor->desc_type == APR_POLL_SOCKET) {
+        fd = descriptor->desc.s->socketdes;
+    }
+    else {
+        fd = descriptor->desc.f->filedes;
+    }
+
+    priv->pollset[pollset->nelts].fd = fd;
+
+    priv->pollset[pollset->nelts].events =
+        get_event(descriptor->reqevents);
+
+    pollset->nelts++;
+
+    DBG2(4, "exiting, fd %d added to pollset %p\n", fd, pollset);
+
+    return APR_SUCCESS;
+}   /* end of posix_add */
+
+
+static apr_status_t asio_pollset_add(apr_pollset_t *pollset,
+                                     const apr_pollfd_t *descriptor)
+{
+    DBG_BUFF
+    asio_elem_t *elem;
+    apr_status_t rv = APR_SUCCESS;
+    apr_pollset_private_t *priv = pollset->p;
+
+    pollset_lock_rings();
+    DBG(2, "entered\n");
+
+    if (pollset->flags & APR_POLLSET_THREADSAFE) {
+
+        if (!APR_RING_EMPTY(&(priv->free_ring), asio_elem_t, link)) {
+            elem = APR_RING_FIRST(&(priv->free_ring));
+            APR_RING_REMOVE(elem, link);
+            DBG1(3, "used recycled memory at %08p\n", elem);
+            elem->state = ASIO_INIT;
+            elem->a.aio_cflags = 0;
+        }
+        else {
+            elem = (asio_elem_t *) apr_pcalloc(pollset->pool, sizeof(asio_elem_t));
+            DBG1(3, "alloced new memory at %08p\n", elem);
+
+            elem->a.aio_notifytype = AIO_MSGQ;
+            elem->a.aio_msgev_qid  = priv->msg_q;
+            DBG1(5, "aio_msgev_quid = %d \n", elem->a.aio_msgev_qid);
+            elem->a.aio_msgev_size = sizeof(asio_elem_t *);
+            elem->a.aio_msgev_flag = 0;     /* wait if queue is full */
+            elem->a.aio_msgev_addr = &(elem->msg);
+            elem->a.aio_buf        = &(elem->os_pfd);
+            elem->a.aio_nbytes     = 1;     /* number of pfds to poll */
+            elem->msg.msg_type     = 1;
+            elem->msg.msg_elem     = elem;
+        }
+
+        /* z/OS only supports async I/O for sockets for now */
+        elem->os_pfd.fd = descriptor->desc.s->socketdes;
+
+        APR_RING_ELEM_INIT(elem, link);
+        elem->a.aio_cmd       = AIO_SELPOLL;
+        elem->a.aio_cflags    &= ~AIO_OK2COMPIMD; /* not OK to complete inline*/
+        elem->pfd             = *descriptor;
+        elem->os_pfd.events   = get_event(descriptor->reqevents);
+
+        if (0 != asyncio(&elem->a)) {
+            rv = errno;
+            DBG3(4, "pollset %p asio failed fd %d, errno %p\n",
+                     pollset, elem->os_pfd.fd, rv);
+#if DEBUG
+            perror(__FUNCTION__ " asio failure");
+#endif
+        }
+        else {
+            DBG2(4, "good asio call, adding fd %d to pollset %p\n",
+                     elem->os_pfd.fd, pollset);
+
+            pollset->nelts++;
+            apr_hash_set(priv->elems, &(elem->os_pfd.fd), sizeof(int), elem);
+        }
+    }
+    else {
+        /* APR_POLLSET_THREADSAFE isn't set.  use POSIX poll in case
+         * pipes or files are used with this pollset
+         */
+
+        rv = posix_add(pollset, descriptor);
+    }
+
+    DBG1(2, "exiting, rv = %d\n", rv);
+
+    pollset_unlock_rings();
+    return rv;
+} /* end of asio_pollset_add */
+
+static posix_remove(apr_pollset_t *pollset, const apr_pollfd_t *descriptor)
+{
+    DBG_BUFF
+    apr_uint32_t i;
+    apr_pollset_private_t *priv = pollset->p;
+
+    DBG(4, "entered\n");
+    for (i = 0; i < pollset->nelts; i++) {
+        if (descriptor->desc.s == priv->query_set[i].desc.s) {
+            /* Found an instance of the fd: remove this and any other copies */
+            apr_uint32_t dst = i;
+            apr_uint32_t old_nelts = pollset->nelts;
+            pollset->nelts--;
+            for (i++; i < old_nelts; i++) {
+                if (descriptor->desc.s == priv->query_set[i].desc.s) {
+                    pollset->nelts--;
+                }
+                else {
+                    priv->pollset[dst] = priv->pollset[i];
+                    priv->query_set[dst] = priv->query_set[i];
+                    dst++;
+                }
+            }
+            DBG(4, "returning OK\n");
+            return APR_SUCCESS;
+        }
+    }
+
+    DBG(1, "returning APR_NOTFOUND\n");
+    return APR_NOTFOUND;
+
+}   /* end of posix_remove */
+
+static apr_status_t asio_pollset_remove(apr_pollset_t *pollset,
+                                        const apr_pollfd_t *descriptor)
+{
+    DBG_BUFF
+    asio_elem_t *elem;
+    apr_status_t rv = APR_SUCCESS;
+    apr_pollset_private_t *priv = pollset->p;
+    struct aiocb cancel_a;   /* AIO_CANCEL is synchronous, so autodata works fine */
+
+    int fd;
+
+    DBG(2, "entered\n");
+
+    if (!(pollset->flags & APR_POLLSET_THREADSAFE)) {
+        return posix_remove(pollset, descriptor);
+    }
+
+    pollset_lock_rings();
+
+#if DEBUG
+    assert(descriptor->desc_type == APR_POLL_SOCKET);
+#endif
+    /* zOS 1.12 doesn't support files for async i/o */
+    fd = descriptor->desc.s->socketdes;
+
+    elem = apr_hash_get(priv->elems, &(fd), sizeof(int));
+    if (elem == NULL) {
+        DBG1(1, "couldn't find fd %d\n", fd);
+        rv = APR_NOTFOUND;
+    } else {
+        DBG1(5, "hash found fd %d\n", fd);
+        /* delete this fd from the hash */
+        apr_hash_set(priv->elems, &(fd), sizeof(int), NULL);
+
+        if (elem->state == ASIO_INIT) {
+            /* asyncio call to cancel */
+            cancel_a.aio_cmd = AIO_CANCEL;
+            cancel_a.aio_buf = &elem->a;   /* point to original aiocb */
+
+            cancel_a.aio_cflags  = 0;
+            cancel_a.aio_cflags2 = 0;
+
+            /* we want the original aiocb to show up on the pollset message queue 
+             * before recycling its memory to eliminate race conditions
+             */
+
+            rv = asyncio(&cancel_a);
+            DBG1(4, "asyncio returned %d\n", rv);
+
+#if DEBUG
+            assert(rv == 1);
+#endif
+        }
+        elem->state = ASIO_REMOVED;
+        rv = APR_SUCCESS;
+    }
+
+    DBG1(2, "exiting, rv: %d\n", rv);
+
+    pollset_unlock_rings();
+
+    return rv;
+}   /* end of asio_pollset_remove */
+
+static posix_poll(apr_pollset_t *pollset,
+                  apr_interval_time_t timeout,
+                  apr_int32_t *num,
+                  const apr_pollfd_t **descriptors)
+{
+    DBG_BUFF
+    int rv;
+    apr_uint32_t i, j;
+    apr_pollset_private_t *priv = pollset->p;
+
+    DBG(4, "entered\n");
+
+    if (timeout > 0) {
+        timeout /= 1000;
+    }
+    rv = poll(priv->pollset, pollset->nelts, timeout);
+    (*num) = rv;
+    if (rv < 0) {
+        return apr_get_netos_error();
+    }
+    if (rv == 0) {
+        return APR_TIMEUP;
+    }
+    j = 0;
+    for (i = 0; i < pollset->nelts; i++) {
+        if (priv->pollset[i].revents != 0) {
+            priv->result_set[j] = priv->query_set[i];
+            priv->result_set[j].rtnevents =
+                get_revent(priv->pollset[i].revents);
+            j++;
+        }
+    }
+    if (descriptors)
+        *descriptors = priv->result_set;
+
+    DBG(4, "exiting ok\n");
+    return APR_SUCCESS;
+
+}   /* end of posix_poll */
+
+static process_msg(apr_pollset_t *pollset, struct asio_msgbuf_t *msg)
+{
+    DBG_BUFF
+    asio_elem_t *elem = msg->msg_elem;
+
+    switch(elem->state) {
+    case ASIO_REMOVED:
+        DBG2(5, "for cancelled elem, recycling memory - elem %08p, fd %d\n",
+                elem, elem->os_pfd.fd);
+        APR_RING_INSERT_TAIL(&(pollset->p->free_ring), elem,
+                             asio_elem_t, link);
+        break;
+    case ASIO_INIT:
+        DBG2(4, "adding to ready ring: elem %08p, fd %d\n",
+                elem, elem->os_pfd.fd);
+        elem->state = ASIO_COMPLETE;
+        APR_RING_INSERT_TAIL(&(pollset->p->ready_ring), elem,
+                             asio_elem_t, link);
+        break;
+    default:
+        DBG3(1, "unexpected state: elem %08p, fd %d, state %d\n",
+            elem, elem->os_pfd.fd, elem->state);
+#if DEBUG
+        assert(0);
+#endif
+    }
+}
+
+static apr_status_t asio_pollset_poll(apr_pollset_t *pollset,
+                                      apr_interval_time_t timeout,
+                                      apr_int32_t *num,
+                                      const apr_pollfd_t **descriptors)
+{
+    DBG_BUFF
+    int i, ret;
+    asio_elem_t *elem, *next_elem;
+    struct asio_msgbuf_t msg_buff;
+    struct timespec tv;
+    apr_status_t rv = APR_SUCCESS;
+    apr_pollset_private_t *priv = pollset->p;
+
+    DBG(6, "entered\n"); /* chatty - traces every second w/Event */
+
+    if ((pollset->flags & APR_POLLSET_THREADSAFE) == 0 ) {
+        return posix_poll(pollset, timeout, num, descriptors);
+    }
+
+    pollset_lock_rings();
+    APR_RING_INIT(&(priv->ready_ring), asio_elem_t, link);
+
+    while (!APR_RING_EMPTY(&(priv->prior_ready_ring), asio_elem_t, link)) {
+        elem = APR_RING_FIRST(&(priv->prior_ready_ring));
+        DBG3(5, "pollset %p elem %p fd %d on prior ready ring\n",
+                pollset,
+                elem,
+                elem->os_pfd.fd);
+
+        APR_RING_REMOVE(elem, link);
+
+        /*
+         * since USS does not remember what's in our pollset, we have
+         * to re-add fds which have not been apr_pollset_remove'd
+         *
+         * there may have been too many ready fd's to return in the
+         * result set last time. re-poll inline for both cases
+         */
+
+        if (elem->state == ASIO_REMOVED) {
+
+            /* 
+             * async i/o is done since it was found on prior_ready
+             * the state says the caller is done with it too 
+             * so recycle the elem 
+             */
+             
+            APR_RING_INSERT_TAIL(&(priv->free_ring), elem,
+                                 asio_elem_t, link);
+            continue;  /* do not re-add if it has been _removed */
+        }
+
+        elem->state = ASIO_INIT;
+        elem->a.aio_cflags     = AIO_OK2COMPIMD;
+
+        if (0 != (ret = asyncio(&elem->a))) {
+            if (ret == 1) {
+                DBG(4, "asyncio() completed inline\n");
+                /* it's ready now */
+                elem->state = ASIO_COMPLETE;
+                APR_RING_INSERT_TAIL(&(priv->ready_ring), elem, asio_elem_t,
+                                     link);
+            }
+            else {
+                DBG2(1, "asyncio() failed, ret: %d, errno: %d\n",
+                        ret, errno);
+                pollset_unlock_rings();
+                return errno;
+            }
+        }
+        DBG1(4, "asyncio() completed rc %d\n", ret);
+    }
+
+    DBG(6, "after prior ready loop\n"); /* chatty w/timeouts, hence 6 */
+
+    /* Gather async poll completions that have occurred since the last call */
+    while (0 < msgrcv(priv->msg_q, &msg_buff, sizeof(asio_elem_t *), 0,
+                      IPC_NOWAIT)) {
+        process_msg(pollset, &msg_buff);
+    }
+
+    /* Suspend if nothing is ready yet. */
+    if (APR_RING_EMPTY(&(priv->ready_ring), asio_elem_t, link)) {
+
+        if (timeout >= 0) {
+            tv.tv_sec  = apr_time_sec(timeout);
+            tv.tv_nsec = apr_time_usec(timeout) * 1000;
+        } else {
+            tv.tv_sec = INT_MAX;  /* block until something is ready */
+        }
+
+        DBG2(6, "nothing on the ready ring "
+                "- blocking for %d seconds %d ns\n",
+                tv.tv_sec, tv.tv_nsec);
+
+        pollset_unlock_rings();   /* allow other apr_pollset_* calls while blocked */
+
+        if (0 >= (ret = __msgrcv_timed(priv->msg_q, &msg_buff,
+                                       sizeof(asio_elem_t *), 0, NULL, &tv))) {
+#if DEBUG
+            if (errno == EAGAIN) {
+                DBG(6, "__msgrcv_timed timed out\n"); /* timeout path, so 6 */
+            }
+            else {
+                DBG(1, "__msgrcv_timed failed!\n");
+            }
+#endif
+            return (errno == EAGAIN) ? APR_TIMEUP : errno;
+        }
+
+        pollset_lock_rings();
+
+        process_msg(pollset, &msg_buff);
+    }
+
+    APR_RING_INIT(&priv->prior_ready_ring, asio_elem_t, link);
+
+    (*num) = 0;
+    elem = APR_RING_FIRST(&(priv->ready_ring));
+
+    for (i = 0;
+
+        i < priv->size
+                && elem != APR_RING_SENTINEL(&(priv->ready_ring), asio_elem_t, link);
+        i++) {
+             DBG2(5, "ready ring: elem %08p, fd %d\n", elem, elem->os_pfd.fd);
+
+             priv->result_set[i] = elem->pfd;
+             priv->result_set[i].rtnevents
+                                    = get_revent(elem->os_pfd.revents);
+             (*num)++;
+
+             elem = APR_RING_NEXT(elem, link);
+
+#if DEBUG
+             if (elem == APR_RING_SENTINEL(&(priv->ready_ring), asio_elem_t, link)) {
+                 DBG(5, "end of ready ring reached\n");
+             }
+#endif
+    }
+
+    if (descriptors) {
+        *descriptors = priv->result_set;
+    }
+
+    /* if the result size is too small, remember which descriptors
+     * haven't had results reported yet.  we will look
+     * at these descriptors on the next apr_pollset_poll call
+     */
+
+    APR_RING_CONCAT(&priv->prior_ready_ring, &(priv->ready_ring), asio_elem_t, link);
+
+    DBG1(2, "exiting, rv = %d\n", rv);
+
+    pollset_unlock_rings();
+
+    return rv;
+}  /* end of asio_pollset_poll */
+
+static apr_pollset_provider_t impl = {
+    asio_pollset_create,
+    asio_pollset_add,
+    asio_pollset_remove,
+    asio_pollset_poll,
+    asio_pollset_cleanup,
+    "asio"
+};
+
+apr_pollset_provider_t *apr_pollset_provider_aio_msgq = &impl;
+
+#endif /* HAVE_AIO_MSGQ */

Modified: trunk/contrib/apr/shmem/beos/shm.c
===================================================================
--- trunk/contrib/apr/shmem/beos/shm.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/shmem/beos/shm.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -71,6 +71,15 @@
     return APR_SUCCESS;
 }
 
+APR_DECLARE(apr_status_t) apr_shm_create_ex(apr_shm_t **m, 
+                                            apr_size_t reqsize, 
+                                            const char *filename, 
+                                            apr_pool_t *p,
+                                            apr_int32_t flags)
+{
+    return apr_shm_create(m, reqsize, filename, p);
+}
+
 APR_DECLARE(apr_status_t) apr_shm_destroy(apr_shm_t *m)
 {
     delete_area(m->aid);
@@ -133,6 +142,14 @@
     return APR_SUCCESS;
 }
 
+APR_DECLARE(apr_status_t) apr_shm_attach_ex(apr_shm_t **m,
+                                            const char *filename,
+                                            apr_pool_t *pool,
+                                            apr_int32_t flags)
+{
+    return apr_shm_attach(m, filename, pool);
+}
+
 APR_DECLARE(apr_status_t) apr_shm_detach(apr_shm_t *m)
 {
     delete_area(m->aid);

Modified: trunk/contrib/apr/shmem/os2/shm.c
===================================================================
--- trunk/contrib/apr/shmem/os2/shm.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/shmem/os2/shm.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -56,6 +56,15 @@
     return APR_SUCCESS;
 }
 
+APR_DECLARE(apr_status_t) apr_shm_create_ex(apr_shm_t **m, 
+                                            apr_size_t reqsize, 
+                                            const char *filename, 
+                                            apr_pool_t *p,
+                                            apr_int32_t flags)
+{
+    return apr_shm_create(m, reqsize, filename, p);
+}
+
 APR_DECLARE(apr_status_t) apr_shm_destroy(apr_shm_t *m)
 {
     DosFreeMem(m->memblock);
@@ -90,6 +99,14 @@
     return APR_SUCCESS;
 }
 
+APR_DECLARE(apr_status_t) apr_shm_attach_ex(apr_shm_t **m,
+                                            const char *filename,
+                                            apr_pool_t *pool,
+                                            apr_int32_t flags)
+{
+    return apr_shm_attach(m, filename, pool);
+}
+
 APR_DECLARE(apr_status_t) apr_shm_detach(apr_shm_t *m)
 {
     int rc = 0;

Modified: trunk/contrib/apr/shmem/unix/shm.c
===================================================================
--- trunk/contrib/apr/shmem/unix/shm.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/shmem/unix/shm.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -20,7 +20,63 @@
 #include "apr_errno.h"
 #include "apr_user.h"
 #include "apr_strings.h"
+#include "apr_hash.h"
 
+#if APR_USE_SHMEM_MMAP_SHM
+/* 
+ *   For portable use, a shared memory object should be identified by a name of
+ *   the form /somename; that is, a null-terminated string of up to NAME_MAX
+ *   (i.e., 255) characters consisting of an initial slash, followed by one or
+ *   more characters, none of which are slashes.
+ */
+#ifndef NAME_MAX
+#define NAME_MAX 255
+#endif
+
+/* See proc_mutex.c and sem_open for the reason for all this! */
+static unsigned int rshash (const char *p) {
+    /* hash function from Robert Sedgwicks 'Algorithms in C' book */
+    unsigned int b    = 378551;
+    unsigned int a    = 63689;
+    unsigned int retval = 0;
+
+    for( ; *p; p++) {
+        retval = retval * a + (*p);
+        a *= b;
+    }
+
+    return retval;
+}
+
+static const char *make_shm_open_safe_name(const char *filename,
+                                           apr_pool_t *pool)
+{
+    apr_ssize_t flen;
+    unsigned int h1, h2;
+
+    if (filename == NULL) {
+        return NULL;
+    }
+
+    flen = strlen(filename);
+    h1 = (apr_hashfunc_default(filename, &flen) & 0xffffffff);
+    h2 = (rshash(filename) & 0xffffffff);
+    return apr_psprintf(pool, "/ShM.%xH%x", h1, h2);
+
+}
+#endif
+
+#if APR_USE_SHMEM_SHMGET
+static key_t our_ftok(const char *filename)
+{
+    /* to help avoid collisions while still using
+     * an easily recreated proj_id */
+    apr_ssize_t slen = strlen(filename);
+    return ftok(filename,
+                (int)apr_hashfunc_default(filename, &slen));
+}
+#endif
+
 static apr_status_t shm_cleanup_owner(void *m_)
 {
     apr_shm_t *m = (apr_shm_t *)m_;
@@ -58,7 +114,7 @@
         if (munmap(m->base, m->realsize) == -1) {
             return errno;
         }
-        if (shm_unlink(m->filename) == -1) {
+        if (shm_unlink(make_shm_open_safe_name(m->filename, m->pool)) == -1 && errno != ENOENT) {
             return errno;
         }
         return APR_SUCCESS;
@@ -220,7 +276,9 @@
         new_m->pool = pool;
         new_m->reqsize = reqsize;
         new_m->filename = apr_pstrdup(pool, filename);
-
+#if APR_USE_SHMEM_MMAP_SHM
+        const char *shm_name = make_shm_open_safe_name(filename, pool);
+#endif
 #if APR_USE_SHMEM_MMAP_TMP || APR_USE_SHMEM_MMAP_SHM
         new_m->realsize = reqsize + 
             APR_ALIGN_DEFAULT(sizeof(apr_size_t)); /* room for metadata */
@@ -245,7 +303,7 @@
         }
 
         status = apr_file_trunc(file, new_m->realsize);
-        if (status != APR_SUCCESS) {
+        if (status != APR_SUCCESS && status != APR_ESPIPE) {
             apr_file_close(file); /* ignore errors, we're failing */
             apr_file_remove(new_m->filename, new_m->pool);
             return status;
@@ -261,7 +319,8 @@
         }
 #endif /* APR_USE_SHMEM_MMAP_TMP */
 #if APR_USE_SHMEM_MMAP_SHM
-        tmpfd = shm_open(filename, O_RDWR | O_CREAT | O_EXCL, 0644);
+        /* FIXME: SysV uses 0600... should we? */
+        tmpfd = shm_open(shm_name, O_RDWR | O_CREAT | O_EXCL, 0644);
         if (tmpfd == -1) {
             return errno;
         }
@@ -274,11 +333,11 @@
         }
 
         status = apr_file_trunc(file, new_m->realsize);
-        if (status != APR_SUCCESS) {
-            shm_unlink(filename); /* we're failing, remove the object */
+        if (status != APR_SUCCESS && status != APR_ESPIPE) {
+            shm_unlink(shm_name); /* we're failing, remove the object */
             return status;
         }
-        new_m->base = mmap(NULL, reqsize, PROT_READ | PROT_WRITE,
+        new_m->base = mmap(NULL, new_m->realsize, PROT_READ | PROT_WRITE,
                            MAP_SHARED, tmpfd, 0);
 
         /* FIXME: check for errors */
@@ -312,22 +371,26 @@
 
         /* ftok() (on solaris at least) requires that the file actually
          * exist before calling ftok(). */
-        shmkey = ftok(filename, 1);
+        shmkey = our_ftok(filename);
         if (shmkey == (key_t)-1) {
+            apr_file_close(file);
             return errno;
         }
 
         if ((new_m->shmid = shmget(shmkey, new_m->realsize,
                                    SHM_R | SHM_W | IPC_CREAT | IPC_EXCL)) < 0) {
+            apr_file_close(file);
             return errno;
         }
 
         if ((new_m->base = shmat(new_m->shmid, NULL, 0)) == (void *)-1) {
+            apr_file_close(file);
             return errno;
         }
         new_m->usable = new_m->base;
 
         if (shmctl(new_m->shmid, IPC_STAT, &shmbuf) == -1) {
+            apr_file_close(file);
             return errno;
         }
         apr_uid_current(&uid, &gid, pool);
@@ -334,6 +397,7 @@
         shmbuf.shm_perm.uid = uid;
         shmbuf.shm_perm.gid = gid;
         if (shmctl(new_m->shmid, IPC_SET, &shmbuf) == -1) {
+            apr_file_close(file);
             return errno;
         }
 
@@ -341,6 +405,7 @@
         status = apr_file_write(file, (const void *)&reqsize,
                                 &nbytes);
         if (status != APR_SUCCESS) {
+            apr_file_close(file);
             return status;
         }
         status = apr_file_close(file);
@@ -359,6 +424,15 @@
     }
 }
 
+APR_DECLARE(apr_status_t) apr_shm_create_ex(apr_shm_t **m, 
+                                            apr_size_t reqsize, 
+                                            const char *filename, 
+                                            apr_pool_t *p,
+                                            apr_int32_t flags)
+{
+    return apr_shm_create(m, reqsize, filename, p);
+}
+
 APR_DECLARE(apr_status_t) apr_shm_remove(const char *filename,
                                          apr_pool_t *pool)
 {
@@ -372,7 +446,8 @@
 #if APR_USE_SHMEM_MMAP_TMP
     return apr_file_remove(filename, pool);
 #elif APR_USE_SHMEM_MMAP_SHM
-    if (shm_unlink(filename) == -1) {
+    const char *shm_name = make_shm_open_safe_name(filename, pool);
+    if (shm_unlink(shm_name) == -1) {
         return errno;
     }
     return APR_SUCCESS;
@@ -386,7 +461,7 @@
 
     /* ftok() (on solaris at least) requires that the file actually
      * exist before calling ftok(). */
-    shmkey = ftok(filename, 1);
+    shmkey = our_ftok(filename);
     if (shmkey == (key_t)-1) {
         goto shm_remove_failed;
     }
@@ -467,7 +542,23 @@
         new_m = apr_palloc(pool, sizeof(apr_shm_t));
         new_m->pool = pool;
         new_m->filename = apr_pstrdup(pool, filename);
+#if APR_USE_SHMEM_MMAP_SHM
+        const char *shm_name = make_shm_open_safe_name(filename, pool);
 
+        /* FIXME: SysV uses 0600... should we? */
+        tmpfd = shm_open(shm_name, O_RDWR, 0644);
+        if (tmpfd == -1) {
+            return errno;
+        }
+
+        status = apr_os_file_put(&file, &tmpfd,
+                                 APR_READ | APR_WRITE,
+                                 pool); 
+        if (status != APR_SUCCESS) {
+            return status;
+        }
+
+#elif APR_USE_SHMEM_MMAP_TMP
         status = apr_file_open(&file, filename, 
                                APR_READ | APR_WRITE,
                                APR_OS_DEFAULT, pool);
@@ -478,6 +569,9 @@
         if (status != APR_SUCCESS) {
             return status;
         }
+#else
+        return APR_ENOTIMPL;
+#endif
 
         nbytes = sizeof(new_m->realsize);
         status = apr_file_read(file, (void *)&(new_m->realsize),
@@ -540,7 +634,7 @@
 
         new_m->filename = apr_pstrdup(pool, filename);
         new_m->pool = pool;
-        shmkey = ftok(filename, 1);
+        shmkey = our_ftok(filename);
         if (shmkey == (key_t)-1) {
             return errno;
         }
@@ -564,6 +658,14 @@
     }
 }
 
+APR_DECLARE(apr_status_t) apr_shm_attach_ex(apr_shm_t **m,
+                                            const char *filename,
+                                            apr_pool_t *pool,
+                                            apr_int32_t flags)
+{
+    return apr_shm_attach(m, filename, pool);
+}
+
 APR_DECLARE(apr_status_t) apr_shm_detach(apr_shm_t *m)
 {
     apr_status_t rv = shm_cleanup_attach(m);

Modified: trunk/contrib/apr/shmem/win32/shm.c
===================================================================
--- trunk/contrib/apr/shmem/win32/shm.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/shmem/win32/shm.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -56,11 +56,70 @@
     return rv;
 }
 
-APR_DECLARE(apr_status_t) apr_shm_create(apr_shm_t **m,
-                                         apr_size_t reqsize,
-                                         const char *file,
-                                         apr_pool_t *pool)
+/* See if the caller is able to create a map in the global namespace by
+ * checking if the SE_CREATE_GLOBAL_NAME privilege is enabled.
+ *
+ * Prior to APR 1.5.0, named shared memory segments were always created
+ * in the global segment.  However, with recent versions of Windows this
+ * fails for unprivileged processes.  Thus, with older APR, named shared
+ * memory segments can't be created by unprivileged processes on newer
+ * Windows.
+ *
+ * By checking if the caller has the privilege, shm APIs can decide
+ * whether to use the Global or Local namespace.
+ *
+ * If running on an SDK without the required API definitions *OR*
+ * some processing failure occurs trying to check the privilege, fall
+ * back to earlier behavior -- always try to use the Global namespace.
+ */
+#ifdef SE_CREATE_GLOBAL_NAME
+static int can_create_global_maps(void)
 {
+    BOOL ok, has_priv;
+    LUID priv_id;
+    PRIVILEGE_SET privs;
+    HANDLE hToken;
+
+    ok = OpenThreadToken(GetCurrentThread(), TOKEN_QUERY, TRUE, &hToken);
+    if (!ok && GetLastError() == ERROR_NO_TOKEN) {
+        /* no thread-specific access token, so try to get process access token
+         */
+        ok = OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken);
+    }
+
+    if (ok) {
+        ok = LookupPrivilegeValue(NULL, SE_CREATE_GLOBAL_NAME, &priv_id);
+    }
+
+    if (ok) {
+        privs.PrivilegeCount = 1;
+        privs.Control = PRIVILEGE_SET_ALL_NECESSARY;
+        privs.Privilege[0].Luid = priv_id;
+        privs.Privilege[0].Attributes = SE_PRIVILEGE_ENABLED;
+        ok = PrivilegeCheck(hToken, &privs, &has_priv);
+    }
+
+    if (ok && !has_priv) {
+        return 0;
+    }
+    else {
+        return 1;
+    }
+}
+#else /* SE_CREATE_GLOBAL_NAME */
+/* SDK definitions missing */
+static int can_create_global_maps(void)
+{
+    return 1;
+}
+#endif /* SE_CREATE_GLOBAL_NAME */
+
+APR_DECLARE(apr_status_t) apr_shm_create_ex(apr_shm_t **m,
+                                            apr_size_t reqsize,
+                                            const char *file,
+                                            apr_pool_t *pool,
+                                            apr_int32_t flags)
+{
     static apr_size_t memblock = 0;
     HANDLE hMap, hFile;
     apr_status_t rv;
@@ -96,6 +155,8 @@
         mapkey = NULL;
     }
     else {
+        int global;
+
         /* Do file backed, which is not an inherited handle 
          * While we could open APR_EXCL, it doesn't seem that Unix
          * ever did.  Ignore that error here, but fail later when
@@ -112,9 +173,18 @@
 
         /* res_name_from_filename turns file into a pseudo-name
          * without slashes or backslashes, and prepends the \global
-         * prefix on Win2K and later
+         * or \local prefix on Win2K and later
          */
-        mapkey = res_name_from_filename(file, 1, pool);
+        if (flags & APR_SHM_NS_GLOBAL) {
+            global = 1;
+        }
+        else if (flags & APR_SHM_NS_LOCAL) {
+            global = 0;
+        }
+        else {
+            global = can_create_global_maps();
+        }
+        mapkey = res_name_from_filename(file, global, pool);
     }
 
 #if APR_HAS_UNICODE_FS
@@ -170,6 +240,14 @@
     return APR_SUCCESS;
 }
 
+APR_DECLARE(apr_status_t) apr_shm_create(apr_shm_t **m,
+                                         apr_size_t reqsize,
+                                         const char *file,
+                                         apr_pool_t *pool)
+{
+    return apr_shm_create_ex(m, reqsize, file, pool, 0);
+}
+
 APR_DECLARE(apr_status_t) apr_shm_destroy(apr_shm_t *m) 
 {
     apr_status_t rv = shm_cleanup(m);
@@ -183,24 +261,20 @@
     return apr_file_remove(filename, pool);
 }
 
-APR_DECLARE(apr_status_t) apr_shm_attach(apr_shm_t **m,
-                                         const char *file,
-                                         apr_pool_t *pool)
+static apr_status_t shm_attach_internal(apr_shm_t **m,
+                                        const char *file,
+                                        apr_pool_t *pool,
+                                        int global)
 {
     HANDLE hMap;
     void *mapkey;
     void *base;
 
-    if (!file) {
-        return APR_EINVAL;
-    }
-    else {
-        /* res_name_from_filename turns file into a pseudo-name
-         * without slashes or backslashes, and prepends the \global
-         * prefix on Win2K and later
-         */
-        mapkey = res_name_from_filename(file, 1, pool);
-    }
+    /* res_name_from_filename turns file into a pseudo-name
+     * without slashes or backslashes, and prepends the \global
+     * or local prefix on Win2K and later
+     */
+    mapkey = res_name_from_filename(file, global, pool);
 
 #if APR_HAS_UNICODE_FS
     IF_WIN_OS_IS_UNICODE
@@ -264,6 +338,55 @@
     return APR_SUCCESS;
 }
 
+APR_DECLARE(apr_status_t) apr_shm_attach_ex(apr_shm_t **m,
+                                            const char *file,
+                                            apr_pool_t *pool,
+                                            apr_int32_t flags)
+{
+    apr_status_t rv;
+    int can_create_global;
+    int try_global_local[3] = {-1, -1, -1};
+    int cur;
+
+    if (!file) {
+        return APR_EINVAL;
+    }
+
+    if (flags & APR_SHM_NS_LOCAL) {
+        try_global_local[0] = 0; /* only search local */
+    }
+    else if (flags & APR_SHM_NS_GLOBAL) {
+        try_global_local[0] = 1; /* only search global */
+    }
+    else {
+        can_create_global = can_create_global_maps();
+        if (!can_create_global) { /* unprivileged process */
+            try_global_local[0] = 0; /* search local before global */
+            try_global_local[1] = 1;
+        }
+        else {
+            try_global_local[0] = 1; /* search global before local */
+            try_global_local[1] = 0;
+        }
+    }
+
+    for (cur = 0; try_global_local[cur] != -1; cur++) {
+        rv = shm_attach_internal(m, file, pool, try_global_local[cur]);
+        if (!APR_STATUS_IS_ENOENT(rv)) {
+            break;
+        }
+    }
+
+    return rv;
+}
+
+APR_DECLARE(apr_status_t) apr_shm_attach(apr_shm_t **m,
+                                         const char *file,
+                                         apr_pool_t *pool)
+{
+    return apr_shm_attach_ex(m, file, pool, 0);
+}
+
 APR_DECLARE(apr_status_t) apr_shm_detach(apr_shm_t *m)
 {
     apr_status_t rv = shm_cleanup(m);

Modified: trunk/contrib/apr/strings/apr_cpystrn.c
===================================================================
--- trunk/contrib/apr/strings/apr_cpystrn.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/strings/apr_cpystrn.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -38,6 +38,7 @@
  *   (3) Instead of returning the pointer to the beginning of
  *       the destination string, we return a pointer to the
  *       terminating '\0' to allow us to "check" for truncation
+ *   (4) If src is NULL, null terminate dst (empty string copy)
  *
  * apr_cpystrn() follows the same call structure as strncpy().
  */
@@ -45,19 +46,20 @@
 APR_DECLARE(char *) apr_cpystrn(char *dst, const char *src, apr_size_t dst_size)
 {
 
-    char *d, *end;
+    char *d = dst, *end;
 
     if (dst_size == 0) {
         return (dst);
     }
 
-    d = dst;
-    end = dst + dst_size - 1;
+    if (src) {
+        end = dst + dst_size - 1;
 
-    for (; d < end; ++d, ++src) {
-	if (!(*d = *src)) {
-	    return (d);
-	}
+        for (; d < end; ++d, ++src) {
+            if (!(*d = *src)) {
+                return (d);
+            }
+        }
     }
 
     *d = '\0';	/* always null terminate */

Modified: trunk/contrib/apr/strings/apr_strings.c
===================================================================
--- trunk/contrib/apr/strings/apr_strings.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/strings/apr_strings.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -75,8 +75,7 @@
         return NULL;
     }
     len = strlen(s) + 1;
-    res = apr_palloc(a, len);
-    memcpy(res, s, len);
+    res = apr_pmemdup(a, s, len);
     return res;
 }
 

Modified: trunk/contrib/apr/support/unix/waitio.c
===================================================================
--- trunk/contrib/apr/support/unix/waitio.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/support/unix/waitio.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -22,7 +22,7 @@
 
 /* The only case where we don't use wait_for_io_or_timeout is on
  * pre-BONE BeOS, so this check should be sufficient and simpler */
-#if !BEOS_R5
+#if !defined(BEOS_R5) && !defined(OS2) && APR_FILES_AS_SOCKETS
 #define USE_WAIT_FOR_IO
 #endif
 

Modified: trunk/contrib/apr/tables/apr_hash.c
===================================================================
--- trunk/contrib/apr/tables/apr_hash.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/tables/apr_hash.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -162,7 +162,30 @@
     if (val)  *val  = (void *)hi->this->val;
 }
 
+APR_DECLARE(const void *) apr_hash_this_key(apr_hash_index_t *hi)
+{
+    const void *key;
 
+    apr_hash_this(hi, &key, NULL, NULL);
+    return key;
+}
+
+APR_DECLARE(apr_ssize_t) apr_hash_this_key_len(apr_hash_index_t *hi)
+{
+    apr_ssize_t klen;
+
+    apr_hash_this(hi, NULL, &klen, NULL);
+    return klen;
+}
+
+APR_DECLARE(void *) apr_hash_this_val(apr_hash_index_t *hi)
+{
+    void *val;
+
+    apr_hash_this(hi, NULL, NULL, &val);
+    return val;
+}
+
 /*
  * Expanding a hash table
  */

Copied: trunk/contrib/apr/tables/apr_skiplist.c (from rev 9277, vendor/apache/apr/dist/tables/apr_skiplist.c)
===================================================================
--- trunk/contrib/apr/tables/apr_skiplist.c	                        (rev 0)
+++ trunk/contrib/apr/tables/apr_skiplist.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -0,0 +1,721 @@
+/* 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.
+ */
+
+/*
+ * Modified to use APR and APR pools.
+ *  TODO: Is malloc() better? Will long running skiplists grow too much?
+ *  Keep the skiplist_alloc() and skiplist_free() until we know
+ *  Yeah, if using pools it means some bogus cycles for checks
+ *  (and an useless function call for skiplist_free) which we
+ *  can removed if/when needed.
+ */
+
+#include "apr_skiplist.h"
+
+typedef struct {
+    apr_skiplistnode **data;
+    size_t size, pos;
+    apr_pool_t *p;
+} apr_skiplist_q; 
+
+struct apr_skiplist {
+    apr_skiplist_compare compare;
+    apr_skiplist_compare comparek;
+    int height;
+    int preheight;
+    size_t size;
+    apr_skiplistnode *top;
+    apr_skiplistnode *bottom;
+    /* These two are needed for appending */
+    apr_skiplistnode *topend;
+    apr_skiplistnode *bottomend;
+    apr_skiplist *index;
+    apr_array_header_t *memlist;
+    apr_skiplist_q nodes_q,
+                   stack_q;
+    apr_pool_t *pool;
+};
+
+struct apr_skiplistnode {
+    void *data;
+    apr_skiplistnode *next;
+    apr_skiplistnode *prev;
+    apr_skiplistnode *down;
+    apr_skiplistnode *up;
+    apr_skiplistnode *previndex;
+    apr_skiplistnode *nextindex;
+    apr_skiplist *sl;
+};
+
+static int get_b_rand(void)
+{
+    static int ph = 32;         /* More bits than we will ever use */
+    static int randseq;
+    if (ph > 31) {              /* Num bits in return of rand() */
+        ph = 0;
+        randseq = rand();
+    }
+    return randseq & (1 << ph++);
+}
+
+typedef struct {
+    size_t size;
+    apr_array_header_t *list;
+} memlist_t;
+
+typedef struct {
+    void *ptr;
+    char inuse;
+} chunk_t;
+
+APR_DECLARE(void *) apr_skiplist_alloc(apr_skiplist *sl, size_t size)
+{
+    if (sl->pool) {
+        void *ptr;
+        int found_size = 0;
+        int i;
+        chunk_t *newchunk;
+        memlist_t *memlist = (memlist_t *)sl->memlist->elts;
+        for (i = 0; i < sl->memlist->nelts; i++) {
+            if (memlist->size == size) {
+                int j;
+                chunk_t *chunk = (chunk_t *)memlist->list->elts;
+                found_size = 1;
+                for (j = 0; j < memlist->list->nelts; j++) {
+                    if (!chunk->inuse) {
+                        chunk->inuse = 1;
+                        return chunk->ptr;
+                    }
+                    chunk++;
+                }
+                break; /* no free of this size; punt */
+            }
+            memlist++;
+        }
+        /* no free chunks */
+        ptr = apr_palloc(sl->pool, size);
+        if (!ptr) {
+            return ptr;
+        }
+        /*
+         * is this a new sized chunk? If so, we need to create a new
+         * array of them. Otherwise, re-use what we already have.
+         */
+        if (!found_size) {
+            memlist = apr_array_push(sl->memlist);
+            memlist->size = size;
+            memlist->list = apr_array_make(sl->pool, 20, sizeof(chunk_t));
+        }
+        newchunk = apr_array_push(memlist->list);
+        newchunk->ptr = ptr;
+        newchunk->inuse = 1;
+        return ptr;
+    }
+    else {
+        return malloc(size);
+    }
+}
+
+APR_DECLARE(void) apr_skiplist_free(apr_skiplist *sl, void *mem)
+{
+    if (!sl->pool) {
+        free(mem);
+    }
+    else {
+        int i;
+        memlist_t *memlist = (memlist_t *)sl->memlist->elts;
+        for (i = 0; i < sl->memlist->nelts; i++) {
+            int j;
+            chunk_t *chunk = (chunk_t *)memlist->list->elts;
+            for (j = 0; j < memlist->list->nelts; j++) {
+                if (chunk->ptr == mem) {
+                    chunk->inuse = 0;
+                    return;
+                }
+                chunk++;
+            }
+            memlist++;
+        }
+    }
+}
+
+static apr_status_t skiplist_qpush(apr_skiplist_q *q, apr_skiplistnode *m)
+{
+    if (q->pos >= q->size) {
+        apr_skiplistnode **data;
+        size_t size = (q->pos) ? q->pos * 2 : 32;
+        if (q->p) {
+            data = apr_palloc(q->p, size * sizeof(*data));
+            if (data) {
+                memcpy(data, q->data, q->pos * sizeof(*data));
+            }
+        }
+        else {
+            data = realloc(q->data, size * sizeof(*data));
+        }
+        if (!data) {
+            return APR_ENOMEM;
+        }
+        q->data = data;
+        q->size = size;
+    }
+    q->data[q->pos++] = m;
+    return APR_SUCCESS;
+}
+
+static APR_INLINE apr_skiplistnode *skiplist_qpop(apr_skiplist_q *q)
+{
+    return (q->pos > 0) ? q->data[--q->pos] : NULL;
+}
+
+static APR_INLINE void skiplist_qclear(apr_skiplist_q *q)
+{
+    q->pos = 0;
+}
+
+static apr_skiplistnode *skiplist_new_node(apr_skiplist *sl)
+{
+    apr_skiplistnode *m = skiplist_qpop(&sl->nodes_q);
+    if (!m) {
+        if (sl->pool) {
+            m = apr_palloc(sl->pool, sizeof *m);
+        }
+        else {
+            m = malloc(sizeof *m);
+        }
+    }
+    return m;
+}
+
+static apr_status_t skiplist_free_node(apr_skiplist *sl, apr_skiplistnode *m)
+{
+    return skiplist_qpush(&sl->nodes_q, m);
+}
+
+static apr_status_t skiplisti_init(apr_skiplist **s, apr_pool_t *p)
+{
+    apr_skiplist *sl;
+    if (p) {
+        sl = apr_pcalloc(p, sizeof(apr_skiplist));
+        sl->memlist = apr_array_make(p, 20, sizeof(memlist_t));
+        sl->pool = sl->nodes_q.p = sl->stack_q.p = p;
+    }
+    else {
+        sl = calloc(1, sizeof(apr_skiplist));
+        if (!sl) {
+            return APR_ENOMEM;
+        }
+    }
+    *s = sl;
+    return APR_SUCCESS;
+}
+
+static int indexing_comp(void *a, void *b)
+{
+    void *ac = (void *) (((apr_skiplist *) a)->compare);
+    void *bc = (void *) (((apr_skiplist *) b)->compare);
+    return ((ac < bc) ? -1 : ((ac > bc) ? 1 : 0));
+}
+
+static int indexing_compk(void *ac, void *b)
+{
+    void *bc = (void *) (((apr_skiplist *) b)->compare);
+    return ((ac < bc) ? -1 : ((ac > bc) ? 1 : 0));
+}
+
+APR_DECLARE(apr_status_t) apr_skiplist_init(apr_skiplist **s, apr_pool_t *p)
+{
+    apr_skiplist *sl;
+    skiplisti_init(s, p);
+    sl = *s;
+    skiplisti_init(&(sl->index), p);
+    apr_skiplist_set_compare(sl->index, indexing_comp, indexing_compk);
+    return APR_SUCCESS;
+}
+
+APR_DECLARE(void) apr_skiplist_set_compare(apr_skiplist *sl,
+                          apr_skiplist_compare comp,
+                          apr_skiplist_compare compk)
+{
+    if (sl->compare && sl->comparek) {
+        apr_skiplist_add_index(sl, comp, compk);
+    }
+    else {
+        sl->compare = comp;
+        sl->comparek = compk;
+    }
+}
+
+APR_DECLARE(void) apr_skiplist_add_index(apr_skiplist *sl,
+                        apr_skiplist_compare comp,
+                        apr_skiplist_compare compk)
+{
+    apr_skiplistnode *m;
+    apr_skiplist *ni;
+    int icount = 0;
+    apr_skiplist_find(sl->index, (void *)comp, &m);
+    if (m) {
+        return;                 /* Index already there! */
+    }
+    skiplisti_init(&ni, sl->pool);
+    apr_skiplist_set_compare(ni, comp, compk);
+    /* Build the new index... This can be expensive! */
+    m = apr_skiplist_insert(sl->index, ni);
+    while (m->prev) {
+        m = m->prev;
+        icount++;
+    }
+    for (m = apr_skiplist_getlist(sl); m; apr_skiplist_next(sl, &m)) {
+        int j = icount - 1;
+        apr_skiplistnode *nsln;
+        nsln = apr_skiplist_insert(ni, m->data);
+        /* skip from main index down list */
+        while (j > 0) {
+            m = m->nextindex;
+            j--;
+        }
+        /* insert this node in the indexlist after m */
+        nsln->nextindex = m->nextindex;
+        if (m->nextindex) {
+            m->nextindex->previndex = nsln;
+        }
+        nsln->previndex = m;
+        m->nextindex = nsln;
+    }
+}
+
+static int skiplisti_find_compare(apr_skiplist *sl, void *data,
+                           apr_skiplistnode **ret,
+                           apr_skiplist_compare comp)
+{
+    int count = 0;
+    apr_skiplistnode *m;
+    m = sl->top;
+    while (m) {
+        if (m->next) {
+            int compared = comp(data, m->next->data);
+            if (compared == 0) {
+                m = m->next;
+                while (m->down) {
+                    m = m->down;
+                }
+                *ret = m;
+                return count;
+            }
+            if (compared > 0) {
+                m = m->next;
+                count++;
+                continue;
+            }
+        }
+        m = m->down;
+        count++;
+    }
+    *ret = NULL;
+    return count;
+}
+
+APR_DECLARE(void *) apr_skiplist_find_compare(apr_skiplist *sli, void *data,
+                               apr_skiplistnode **iter,
+                               apr_skiplist_compare comp)
+{
+    apr_skiplistnode *m;
+    apr_skiplist *sl;
+    if (!comp) {
+        if (iter) {
+            *iter = NULL;
+        }
+        return NULL;
+    }
+    if (comp == sli->compare || !sli->index) {
+        sl = sli;
+    }
+    else {
+        apr_skiplist_find(sli->index, (void *)comp, &m);
+        if (!m) {
+            if (iter) {
+                *iter = NULL;
+            }
+            return NULL;
+        }
+        sl = (apr_skiplist *) m->data;
+    }
+    skiplisti_find_compare(sl, data, &m, sl->comparek);
+    if (iter) {
+        *iter = m;
+    }
+    return (m) ? m->data : NULL;
+}
+
+APR_DECLARE(void *) apr_skiplist_find(apr_skiplist *sl, void *data, apr_skiplistnode **iter)
+{
+    return apr_skiplist_find_compare(sl, data, iter, sl->compare);
+}
+
+
+APR_DECLARE(apr_skiplistnode *) apr_skiplist_getlist(apr_skiplist *sl)
+{
+    if (!sl->bottom) {
+        return NULL;
+    }
+    return sl->bottom->next;
+}
+
+APR_DECLARE(void *) apr_skiplist_next(apr_skiplist *sl, apr_skiplistnode **iter)
+{
+    if (!*iter) {
+        return NULL;
+    }
+    *iter = (*iter)->next;
+    return (*iter) ? ((*iter)->data) : NULL;
+}
+
+APR_DECLARE(void *) apr_skiplist_previous(apr_skiplist *sl, apr_skiplistnode **iter)
+{
+    if (!*iter) {
+        return NULL;
+    }
+    *iter = (*iter)->prev;
+    return (*iter) ? ((*iter)->data) : NULL;
+}
+
+static APR_INLINE int skiplist_height(const apr_skiplist *sl)
+{
+    /* Skiplists (even empty) always have a top node, although this
+     * implementation defers its creation until the first insert, or
+     * deletes it with the last remove. We want the real height here.
+     */
+    return sl->height ? sl->height : 1;
+}
+
+APR_DECLARE(apr_skiplistnode *) apr_skiplist_insert_compare(apr_skiplist *sl, void *data,
+                                      apr_skiplist_compare comp)
+{
+    apr_skiplistnode *m, *p, *tmp, *ret = NULL;
+    int ch, nh = 1;
+
+    if (!comp) {
+        return NULL;
+    }
+
+    ch = skiplist_height(sl);
+    if (sl->preheight) {
+        while (nh < sl->preheight && get_b_rand()) {
+            nh++;
+        }
+    }
+    else {
+        while (nh <= ch && get_b_rand()) {
+            nh++;
+        }
+    }
+
+    /* Now we have in nh the height at which we wish to insert our new node,
+     * and in ch the current height: don't create skip paths to the inserted
+     * element until the walk down through the tree (which decrements ch)
+     * reaches nh. From there, any walk down pushes the current node on a
+     * stack (the node(s) after which we would insert) to pop back through
+     * for insertion later.
+     */
+    m = sl->top;
+    while (m) {
+        if (m->next) {
+            int compared = comp(data, m->next->data);
+            if (compared == 0) {
+                /* Keep the existing element(s) */
+                skiplist_qclear(&sl->stack_q);
+                return NULL;
+            }
+            if (compared > 0) {
+                m = m->next;
+                continue;
+            }
+        }
+        if (ch <= nh) {
+            /* push on stack */
+            skiplist_qpush(&sl->stack_q, m);
+        }
+        m = m->down;
+        ch--;
+    }
+    /* Pop the stack and insert nodes */
+    p = NULL;
+    while ((m = skiplist_qpop(&sl->stack_q))) {
+        tmp = skiplist_new_node(sl);
+        tmp->next = m->next;
+        if (m->next) {
+            m->next->prev = tmp;
+        }
+        m->next = tmp;
+        tmp->prev = m;
+        tmp->up = NULL;
+        tmp->nextindex = tmp->previndex = NULL;
+        tmp->down = p;
+        if (p) {
+            p->up = tmp;
+        }
+        else {
+            /* This sets ret to the bottom-most node we are inserting */
+            ret = tmp;
+        }
+        tmp->data = data;
+        tmp->sl = sl;
+        p = tmp;
+    }
+
+    /* Now we are sure the node is inserted, grow our tree to 'nh' tall */
+    for (; sl->height < nh; sl->height++) {
+        m = skiplist_new_node(sl);
+        tmp = skiplist_new_node(sl);
+        m->up = m->prev = m->nextindex = m->previndex = NULL;
+        m->next = tmp;
+        m->down = sl->top;
+        m->data = NULL;
+        m->sl = sl;
+        if (sl->top) {
+            sl->top->up = m;
+        }
+        else {
+            sl->bottom = sl->bottomend = m;
+        }
+        sl->top = sl->topend = tmp->prev = m;
+        tmp->up = tmp->next = tmp->nextindex = tmp->previndex = NULL;
+        tmp->down = p;
+        tmp->data = data;
+        tmp->sl = sl;
+        if (p) {
+            p->up = tmp;
+        }
+        else {
+            /* This sets ret to the bottom-most node we are inserting */
+            ret = tmp;
+        }
+        p = tmp;
+    }
+    if (sl->index != NULL) {
+        /*
+         * this is a external insertion, we must insert into each index as
+         * well
+         */
+        apr_skiplistnode *ni, *li;
+        li = ret;
+        for (p = apr_skiplist_getlist(sl->index); p; apr_skiplist_next(sl->index, &p)) {
+            apr_skiplist *sli = (apr_skiplist *)p->data;
+            ni = apr_skiplist_insert_compare(sli, ret->data, sli->compare);
+            li->nextindex = ni;
+            ni->previndex = li;
+            li = ni;
+        }
+    }
+    sl->size++;
+    return ret;
+}
+
+APR_DECLARE(apr_skiplistnode *) apr_skiplist_insert(apr_skiplist *sl, void *data)
+{
+    return apr_skiplist_insert_compare(sl, data, sl->compare);
+}
+
+#if 0
+void skiplist_print_struct(apr_skiplist * sl, char *prefix)
+{
+    apr_skiplistnode *p, *q;
+    fprintf(stderr, "Skiplist Structure (height: %d)\n", sl->height);
+    p = sl->bottom;
+    while (p) {
+        q = p;
+        fprintf(stderr, prefix);
+        while (q) {
+            fprintf(stderr, "%p ", q->data);
+            q = q->up;
+        }
+        fprintf(stderr, "\n");
+        p = p->next;
+    }
+}
+#endif
+
+static int skiplisti_remove(apr_skiplist *sl, apr_skiplistnode *m, apr_skiplist_freefunc myfree)
+{
+    apr_skiplistnode *p;
+    if (!m) {
+        return 0;
+    }
+    if (m->nextindex) {
+        skiplisti_remove(m->nextindex->sl, m->nextindex, NULL);
+    }
+    while (m->up) {
+        m = m->up;
+    }
+    while (m) {
+        p = m;
+        p->prev->next = p->next;/* take me out of the list */
+        if (p->next) {
+            p->next->prev = p->prev;    /* take me out of the list */
+        }
+        m = m->down;
+        /* This only frees the actual data in the bottom one */
+        if (!m && myfree && p->data) {
+            myfree(p->data);
+        }
+        skiplist_free_node(sl, p);
+    }
+    sl->size--;
+    while (sl->top && sl->top->next == NULL) {
+        /* While the row is empty and we are not on the bottom row */
+        p = sl->top;
+        sl->top = sl->top->down;/* Move top down one */
+        if (sl->top) {
+            sl->top->up = NULL; /* Make it think its the top */
+        }
+        skiplist_free_node(sl, p);
+        sl->height--;
+    }
+    if (!sl->top) {
+        sl->bottom = sl->bottomend = NULL;
+        sl->topend = NULL;
+    }
+    return skiplist_height(sl);
+}
+
+APR_DECLARE(int) apr_skiplist_remove_compare(apr_skiplist *sli,
+                            void *data,
+                            apr_skiplist_freefunc myfree, apr_skiplist_compare comp)
+{
+    apr_skiplistnode *m;
+    apr_skiplist *sl;
+    if (!comp) {
+        return 0;
+    }
+    if (comp == sli->comparek || !sli->index) {
+        sl = sli;
+    }
+    else {
+        apr_skiplist_find(sli->index, (void *)comp, &m);
+        if (!m) {
+            return 0;
+        }
+        sl = (apr_skiplist *) m->data;
+    }
+    skiplisti_find_compare(sl, data, &m, comp);
+    if (!m) {
+        return 0;
+    }
+    while (m->previndex) {
+        m = m->previndex;
+    }
+    return skiplisti_remove(sl, m, myfree);
+}
+
+APR_DECLARE(int) apr_skiplist_remove(apr_skiplist *sl, void *data, apr_skiplist_freefunc myfree)
+{
+    return apr_skiplist_remove_compare(sl, data, myfree, sl->comparek);
+}
+
+APR_DECLARE(void) apr_skiplist_remove_all(apr_skiplist *sl, apr_skiplist_freefunc myfree)
+{
+    /*
+     * This must remove even the place holder nodes (bottom though top)
+     * because we specify in the API that one can free the Skiplist after
+     * making this call without memory leaks
+     */
+    apr_skiplistnode *m, *p, *u;
+    m = sl->bottom;
+    while (m) {
+        p = m->next;
+        if (myfree && p && p->data) {
+            myfree(p->data);
+        }
+        do {
+            u = m->up;
+            skiplist_free_node(sl, m);
+            m = u;
+        } while (m);
+        m = p;
+    }
+    sl->top = sl->bottom = NULL;
+    sl->topend = sl->bottomend = NULL;
+    sl->height = 0;
+    sl->size = 0;
+}
+
+APR_DECLARE(void *) apr_skiplist_pop(apr_skiplist *a, apr_skiplist_freefunc myfree)
+{
+    apr_skiplistnode *sln;
+    void *data = NULL;
+    sln = apr_skiplist_getlist(a);
+    if (sln) {
+        data = sln->data;
+        skiplisti_remove(a, sln, myfree);
+    }
+    return data;
+}
+
+APR_DECLARE(void *) apr_skiplist_peek(apr_skiplist *a)
+{
+    apr_skiplistnode *sln;
+    sln = apr_skiplist_getlist(a);
+    if (sln) {
+        return sln->data;
+    }
+    return NULL;
+}
+
+static void skiplisti_destroy(void *vsl)
+{
+    apr_skiplist_destroy(vsl, NULL);
+}
+
+APR_DECLARE(void) apr_skiplist_destroy(apr_skiplist *sl, apr_skiplist_freefunc myfree)
+{
+    while (apr_skiplist_pop(sl->index, skiplisti_destroy) != NULL)
+        ;
+    apr_skiplist_remove_all(sl, myfree);
+    if (!sl->pool) {
+        while (sl->nodes_q.pos)
+            free(sl->nodes_q.data[--sl->nodes_q.pos]);
+        free(sl->nodes_q.data);
+        free(sl->stack_q.data);
+        free(sl);
+    }
+}
+
+APR_DECLARE(apr_skiplist *) apr_skiplist_merge(apr_skiplist *sl1, apr_skiplist *sl2)
+{
+    /* Check integrity! */
+    apr_skiplist temp;
+    struct apr_skiplistnode *b2;
+    if (sl1->bottomend == NULL || sl1->bottomend->prev == NULL) {
+        apr_skiplist_remove_all(sl1, NULL);
+        temp = *sl1;
+        *sl1 = *sl2;
+        *sl2 = temp;
+        /* swap them so that sl2 can be freed normally upon return. */
+        return sl1;
+    }
+    if(sl2->bottom == NULL || sl2->bottom->next == NULL) {
+        apr_skiplist_remove_all(sl2, NULL);
+        return sl1;
+    }
+    /* This is what makes it brute force... Just insert :/ */
+    b2 = apr_skiplist_getlist(sl2);
+    while (b2) {
+        apr_skiplist_insert(sl1, b2->data);
+        apr_skiplist_next(sl2, &b2);
+    }
+    apr_skiplist_remove_all(sl2, NULL);
+    return sl1;
+}

Modified: trunk/contrib/apr/tables/apr_tables.c
===================================================================
--- trunk/contrib/apr/tables/apr_tables.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/tables/apr_tables.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -357,6 +357,14 @@
     int index_last[TABLE_HASH_SIZE];
 };
 
+/* keep state for apr_table_getm() */
+typedef struct
+{
+    apr_pool_t *p;
+    const char *first;
+    apr_array_header_t *merged;
+} table_getm_t;
+
 /*
  * NOTICE: if you tweak this you should look at is_empty_table() 
  * and table_elts() in alloc.h
@@ -736,12 +744,14 @@
     {
 	apr_pool_t *pool;
 	pool = apr_pool_find(key);
-	if ((pool != key) && (!apr_pool_is_ancestor(pool, t->a.pool))) {
+	if ((pool != (apr_pool_t *)key)
+            && (!apr_pool_is_ancestor(pool, t->a.pool))) {
 	    fprintf(stderr, "apr_table_mergen: key not in ancestor pool of t\n");
 	    abort();
 	}
 	pool = apr_pool_find(val);
-	if ((pool != val) && (!apr_pool_is_ancestor(pool, t->a.pool))) {
+	if ((pool != (apr_pool_t *)val)
+            && (!apr_pool_is_ancestor(pool, t->a.pool))) {
 	    fprintf(stderr, "apr_table_mergen: val not in ancestor pool of t\n");
 	    abort();
 	}
@@ -1236,3 +1246,51 @@
 
     apr_table_compress(a, flags);
 }
+
+static int table_getm_do(void *v, const char *key, const char *val)
+{
+    table_getm_t *state = (table_getm_t *) v;
+
+    if (!state->first) {
+        /**
+         * The most common case is a single header, and this is covered by
+         * a fast path that doesn't allocate any memory. On the second and
+         * subsequent header, an array is created and the array concatenated
+         * together to form the final value.
+         */
+        state->first = val;
+    }
+    else {
+        const char **elt;
+        if (!state->merged) {
+            state->merged = apr_array_make(state->p, 10, sizeof(const char *));
+            elt = apr_array_push(state->merged);
+            *elt = state->first;
+        }
+        elt = apr_array_push(state->merged);
+        *elt = val;
+    }
+    return 1;
+}
+
+APR_DECLARE(const char *) apr_table_getm(apr_pool_t *p, const apr_table_t *t,
+        const char *key)
+{
+    table_getm_t state;
+
+    state.p = p;
+    state.first = NULL;
+    state.merged = NULL;
+
+    apr_table_do(table_getm_do, &state, t, key, NULL);
+
+    if (!state.first) {
+        return NULL;
+    }
+    else if (!state.merged) {
+        return state.first;
+    }
+    else {
+        return apr_array_pstrcat(p, state.merged, ',');
+    }
+}

Modified: trunk/contrib/apr/test/Makefile.in
===================================================================
--- trunk/contrib/apr/test/Makefile.in	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/Makefile.in	2017-02-20 03:16:08 UTC (rev 9278)
@@ -9,16 +9,17 @@
 # STDTEST_NONPORTABLE
 #   test programs invoked via standard user interface, not portable
 # OTHER_PROGRAMS
-#   programs such as sendfile, that have to be invoked in a special sequence
+#   programs such as sockperf, that have to be invoked in a special sequence
 #   or with special parameters
 # TESTALL_COMPONENTS
 #   programs such as globalmutexchild which the various TESTS will invoke
-#   to validate process creation, pipes, dso mechansims and so forth
+#   to validate process creation, pipes, dso mechanisms and so forth
 
 STDTEST_PORTABLE = \
 	testlockperf at EXEEXT@ \
 	testmutexscope at EXEEXT@ \
-	testall at EXEEXT@
+	testall at EXEEXT@ \
+	sendfile at EXEEXT@
 
 TESTS = testtime.lo teststr.lo testvsn.lo testipsub.lo testshm.lo \
 	testmmap.lo testud.lo testtable.lo testsleep.lo testpools.lo \
@@ -28,10 +29,9 @@
 	testhash.lo testargs.lo testnames.lo testuser.lo testpath.lo \
 	testenv.lo testprocmutex.lo testfnmatch.lo testatomic.lo testflock.lo \
 	testsock.lo testglobalmutex.lo teststrnatcmp.lo testfilecopy.lo \
-	testtemp.lo testlfs.lo testcond.lo
+	testtemp.lo testlfs.lo testcond.lo testescape.lo testskiplist.lo
 
 OTHER_PROGRAMS = \
-	sendfile at EXEEXT@ \
 	echod at EXEEXT@ \
 	sockperf at EXEEXT@
 
@@ -67,7 +67,7 @@
 
 # link programs using -no-install to get real executables not
 # libtool wrapper scripts which link an executable when first run.
-LINK_PROG = $(LIBTOOL) $(LTFLAGS) --mode=link $(LT_LDFLAGS) $(COMPILE) \
+LINK_PROG = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LT_LDFLAGS) \
 	    @LT_NO_INSTALL@ $(ALL_LDFLAGS) -o $@
 
 # STDTEST_PORTABLE;
@@ -119,10 +119,10 @@
 	  -c $(srcdir)/mod_test.c
 
 OBJECTS_mod_test = mod_test.lo
-mod_test.la: $(OBJECTS_mod_test)
+mod_test.la: $(OBJECTS_mod_test) $(LOCAL_LIBS)
 	$(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) -rpath `pwd` -module \
 	  -avoid-version $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ \
-	  $(OBJECTS_mod_test)
+	  $(OBJECTS_mod_test) $(LOCAL_LIBS)
 
 OBJECTS_libmod_test = mod_test.lo $(LOCAL_LIBS)
 libmod_test.la: $(OBJECTS_libmod_test)
@@ -162,11 +162,22 @@
 	teststatus=0; \
 	progfailed=""; \
 	for prog in $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE); do \
-		./$$prog; \
-		status=$$?; \
-		if test $$status != 0; then \
-			teststatus=$$status; \
-			progfailed="$$progfailed $$prog"; \
+		if test "$$prog" = 'sendfile at EXEEXT@'; then \
+			for mode in blocking nonblocking timeout; do \
+				./$$prog client $$mode startserver 127.0.0.1; \
+				status=$$?; \
+				if test $$status != 0; then \
+					teststatus=$$status; \
+					progfailed="$$progfailed '$$prog mode $$mode'"; \
+				fi; \
+			done; \
+	        else \
+			./$$prog -v; \
+			status=$$?; \
+			if test $$status != 0; then \
+				teststatus=$$status; \
+				progfailed="$$progfailed $$prog"; \
+			fi; \
 		fi; \
 	done; \
 	if test $$teststatus != 0; then \

Modified: trunk/contrib/apr/test/Makefile.win
===================================================================
--- trunk/contrib/apr/test/Makefile.win	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/Makefile.win	2017-02-20 03:16:08 UTC (rev 9278)
@@ -10,7 +10,7 @@
 #   or with special parameters
 # TESTALL_COMPONENTS
 #   programs such as globalmutexchild which the various TESTS will invoke
-#   to validate process creation, pipes, dso mechansims and so forth
+#   to validate process creation, pipes, dso mechanisms and so forth
 
 # Windows Specific;
 # MODEL
@@ -98,13 +98,14 @@
 	$(INTDIR)\testsock.obj $(INTDIR)\testglobalmutex.obj \
 	$(INTDIR)\teststrnatcmp.obj $(INTDIR)\testfilecopy.obj \
 	$(INTDIR)\testtemp.obj $(INTDIR)\testlfs.obj \
-	$(INTDIR)\testcond.obj
+	$(INTDIR)\testcond.obj $(INTDIR)\testescape.obj \
+	$(INTDIR)\testskiplist.obj
 
 CLEAN_DATA = testfile.tmp lfstests\large.bin \
 	data\testputs.txt data\testbigfprintf.dat \
 	data\testwritev.txt data\testwritev_full.txt \
 	data\testflush.dat data\testxthread.dat \
-	data\apr.testshm.shm
+	data\apr.testshm.shm lfstests\buffer.bin
 
 CLEAN_BUILDDIRS = Debug Release LibD LibR 9x x64
 

Modified: trunk/contrib/apr/test/NWGNUaprtest
===================================================================
--- trunk/contrib/apr/test/NWGNUaprtest	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/NWGNUaprtest	2017-02-20 03:16:08 UTC (rev 9278)
@@ -176,6 +176,7 @@
 	$(OBJDIR)/testdup.o \
 	$(OBJDIR)/testdso.o \
 	$(OBJDIR)/testenv.o \
+	$(OBJDIR)/testescape.o \
 	$(OBJDIR)/testfilecopy.o \
 	$(OBJDIR)/testfileinfo.o \
 	$(OBJDIR)/testfile.o \
@@ -199,6 +200,7 @@
 	$(OBJDIR)/testprocmutex.o \
 	$(OBJDIR)/testrand.o \
 	$(OBJDIR)/testshm.o \
+	$(OBJDIR)/testskiplist.o \
 	$(OBJDIR)/testsleep.o \
 	$(OBJDIR)/testsock.o \
 	$(OBJDIR)/testsockets.o \

Modified: trunk/contrib/apr/test/abts.c
===================================================================
--- trunk/contrib/apr/test/abts.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/abts.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -106,6 +106,9 @@
     /* suite_name_full may be an absolute path depending on __FILE__ 
      * expansion */
     suite_name = strrchr(suite_name_full, '/');
+    if (!suite_name) {
+        suite_name = strrchr(suite_name_full, '\\');
+    }
     if (suite_name) {
         suite_name++;
     } else {
@@ -245,7 +248,8 @@
 
     tc->failed = TRUE;
     if (verbose) {
-        fprintf(stderr, "Line %d: expected <%d>, but saw <%d>\n", lineno, expected, actual);
+        fprintf(stderr, "Line %d: expected something other than <%d>, but saw <%d>\n",
+                lineno, expected, actual);
         fflush(stderr);
     }
 }
@@ -292,7 +296,8 @@
 
     tc->failed = TRUE;
     if (verbose) {
-        fprintf(stderr, "Line %d: expected <%s>, but saw <%s>\n", lineno, expected, actual);
+        fprintf(stderr, "Line %d: expected something other than <%s>, but saw <%s>\n",
+                lineno, expected, actual);
         fflush(stderr);
     }
 }

Modified: trunk/contrib/apr/test/abts_tests.h
===================================================================
--- trunk/contrib/apr/test/abts_tests.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/abts_tests.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -28,6 +28,7 @@
     {testdso},
     {testdup},
     {testenv},
+    {testescape},
     {testfile},
     {testfilecopy},
     {testfileinfo},
@@ -66,7 +67,8 @@
     {testtime},
     {testud},
     {testuser},
-    {testvsn}
+    {testvsn},
+    {testskiplist}
 };
 
 #endif /* APR_TEST_INCLUDES */

Modified: trunk/contrib/apr/test/echod.c
===================================================================
--- trunk/contrib/apr/test/echod.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/echod.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -64,7 +64,7 @@
     return APR_SUCCESS;
 }
 
-static apr_status_t glassToWall(apr_int16_t port, apr_pool_t *parent)
+static apr_status_t glassToWall(apr_port_t port, apr_pool_t *parent)
 {
     apr_sockaddr_t *sockAddr;
     apr_socket_t *listener, *accepted;
@@ -113,7 +113,7 @@
 int main(int argc, char **argv)
 {
     apr_pool_t *pool;
-    apr_int16_t theport = 4747;
+    apr_port_t theport = 4747;
 
     printf("APR Test Application: echod\n");
 

Modified: trunk/contrib/apr/test/internal/testucs.c
===================================================================
--- trunk/contrib/apr/test/internal/testucs.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/internal/testucs.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -17,16 +17,19 @@
 #include "apr.h"
 #include "arch/win32/apr_arch_utf8.h"
 #include <wchar.h>
+#include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 #include <assert.h>
 
 struct testval {
     unsigned char n[8];
-    int nl;
+    apr_size_t nl;
     wchar_t w[4];
-    int wl;
+    apr_size_t wl;
 };
 
+#ifdef FOR_REFERENCE
 /* For reference; a table of invalid utf-8 encoded ucs-2/ucs-4 sequences.
  * The table consists of start, end pairs for all invalid ranges.
  * NO_UCS2_PAIRS will pass the reservered D800-DFFF values, halting at FFFF
@@ -71,6 +74,7 @@
     [[0xFE,], 1,],    /* 11111110  invalid "too large" value, no 7 byte seq */
     [[0xFF,], 1,],    /* 11111111  invalid "too large" value, no 8 byte seq */
 ];
+#endif /* FOR_REFERENCE */
 
 void displaynw(struct testval *f, struct testval *l)
 {
@@ -192,7 +196,7 @@
     }
 
     do {
-        int wl = s.wl, nl = sizeof(s.n);
+        apr_size_t wl = s.wl, nl = sizeof(s.n);
         rc = apr_conv_ucs2_to_utf8(s.w, &wl, s.n, &nl);
         s.nl = sizeof(s.n) - s.nl;
         if (rc == APR_INCOMPLETE) {

Modified: trunk/contrib/apr/test/sendfile.c
===================================================================
--- trunk/contrib/apr/test/sendfile.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/sendfile.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -23,7 +23,10 @@
 #include "apr_errno.h"
 #include "apr_general.h"
 #include "apr_poll.h"
+#include "apr_thread_proc.h"
 
+#include "testutil.h"
+
 #if !APR_HAS_SENDFILE
 int main(void)
 {
@@ -53,36 +56,23 @@
 
 typedef enum {BLK, NONBLK, TIMEOUT} client_socket_mode_t;
 
-static void apr_setup(apr_pool_t **p, apr_socket_t **sock, int *family)
+static void aprerr(const char *fn, apr_status_t rv)
 {
     char buf[120];
-    apr_status_t rv;
 
-    rv = apr_initialize();
-    if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_initialize()->%d/%s\n",
-                rv,
-                apr_strerror(rv, buf, sizeof buf));
-        exit(1);
-    }
+    fprintf(stderr, "%s->%d/%s\n",
+            fn, rv, apr_strerror(rv, buf, sizeof buf));
+    exit(1);
+}
 
-    atexit(apr_terminate);
+static void apr_setup(apr_pool_t *p, apr_socket_t **sock, int *family)
+{
+    apr_status_t rv;
 
-    rv = apr_pool_create(p, NULL);
-    if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_pool_create()->%d/%s\n",
-                rv,
-                apr_strerror(rv, buf, sizeof buf));
-        exit(1);
-    }
-
     *sock = NULL;
-    rv = apr_socket_create(sock, *family, SOCK_STREAM, 0, *p);
+    rv = apr_socket_create(sock, *family, SOCK_STREAM, 0, p);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_create()->%d/%s\n",
-                rv,
-                apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_create()", rv);
     }
 
     if (*family == APR_UNSPEC) {
@@ -90,10 +80,7 @@
 
         rv = apr_socket_addr_get(&localsa, APR_LOCAL, *sock);
         if (rv != APR_SUCCESS) {
-            fprintf(stderr, "apr_socket_addr_get()->%d/%s\n",
-                    rv,
-                    apr_strerror(rv, buf, sizeof buf));
-            exit(1);
+            aprerr("apr_socket_addr_get()", rv);
         }
         *family = localsa->family;
     }
@@ -112,9 +99,7 @@
                  APR_FOPEN_CREATE | APR_FOPEN_WRITE | APR_FOPEN_TRUNCATE | APR_FOPEN_BUFFERED,
                  APR_UREAD | APR_UWRITE, p);
     if (rv) {
-        fprintf(stderr, "apr_file_open()->%d/%s\n",
-                rv, apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_file_open()", rv);
     }
     
     buf[0] = FILE_DATA_CHAR;
@@ -124,17 +109,13 @@
         if ((i % 2) == 0) {
             rv = apr_file_putc(buf[0], f);
             if (rv) {
-                fprintf(stderr, "apr_file_putc()->%d/%s\n",
-                        rv, apr_strerror(rv, buf, sizeof buf));
-                exit(1);
+                aprerr("apr_file_putc()", rv);
             }
         }
         else {
             rv = apr_file_puts(buf, f);
             if (rv) {
-                fprintf(stderr, "apr_file_puts()->%d/%s\n",
-                        rv, apr_strerror(rv, buf, sizeof buf));
-                exit(1);
+                aprerr("apr_file_puts()", rv);
             }
         }
     }
@@ -141,16 +122,12 @@
 
     rv = apr_file_close(f);
     if (rv) {
-        fprintf(stderr, "apr_file_close()->%d/%s\n",
-                rv, apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_file_close()", rv);
     }
 
     rv = apr_stat(&finfo, fname, APR_FINFO_NORM, p);
     if (rv != APR_SUCCESS && ! APR_STATUS_IS_INCOMPLETE(rv)) {
-        fprintf(stderr, "apr_stat()->%d/%s\n",
-                rv, apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_stat()", rv);
     }
 
     if (finfo.size != FILE_LENGTH) {
@@ -164,11 +141,50 @@
     }
 }
 
-static int client(client_socket_mode_t socket_mode, char *host)
+static void spawn_server(apr_pool_t *p, apr_proc_t *out_proc)
 {
+    apr_proc_t proc = {0};
+    apr_procattr_t *procattr;
+    apr_status_t rv;
+    const char *args[3];
+
+    rv = apr_procattr_create(&procattr, p);
+    if (rv != APR_SUCCESS) {
+        aprerr("apr_procattr_create()", rv);
+    }
+
+    rv = apr_procattr_io_set(procattr, APR_CHILD_BLOCK, APR_CHILD_BLOCK,
+                             APR_CHILD_BLOCK);
+    if (rv != APR_SUCCESS) {
+        aprerr("apr_procattr_io_set()", rv);
+    }
+
+    rv = apr_procattr_cmdtype_set(procattr, APR_PROGRAM_ENV);
+    if (rv != APR_SUCCESS) {
+        aprerr("apr_procattr_cmdtype_set()", rv);
+    }
+
+    rv = apr_procattr_error_check_set(procattr, 1);
+    if (rv != APR_SUCCESS) {
+        aprerr("apr_procattr_error_check_set()", rv);
+    }
+
+    args[0] = "sendfile" EXTENSION;
+    args[1] = "server";
+    args[2] = NULL;
+    rv = apr_proc_create(&proc, TESTBINPATH "sendfile" EXTENSION, args, NULL, procattr, p);
+    if (rv != APR_SUCCESS) {
+        aprerr("apr_proc_create()", rv);
+    }
+
+    *out_proc = proc;
+}
+
+static int client(apr_pool_t *p, client_socket_mode_t socket_mode,
+                  const char *host, int start_server)
+{
     apr_status_t rv, tmprv;
     apr_socket_t *sock;
-    apr_pool_t *p;
     char buf[120];
     apr_file_t *f = NULL;
     apr_size_t len;
@@ -180,39 +196,51 @@
     apr_size_t bytes_read;
     apr_pollset_t *pset;
     apr_int32_t nsocks;
+    int connect_tries = 1;
     int i;
     int family;
     apr_sockaddr_t *destsa;
+    apr_proc_t server;
+    apr_interval_time_t connect_retry_interval = apr_time_from_msec(50);
 
-    family = APR_INET;
-    apr_setup(&p, &sock, &family);
+    if (start_server) {
+        spawn_server(p, &server);
+        connect_tries = 5; /* give it a chance to start up */
+    }
+
     create_testfile(p, TESTFILE);
 
     rv = apr_file_open(&f, TESTFILE, APR_FOPEN_READ, 0, p);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_file_open()->%d/%s\n",
-                rv,
-                apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_file_open()", rv);
     }
 
     if (!host) {
         host = "127.0.0.1";
     }
+    family = APR_INET;
     rv = apr_sockaddr_info_get(&destsa, host, family, TESTSF_PORT, 0, p);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_sockaddr_info_get()->%d/%s\n",
-                rv,
-                apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_sockaddr_info_get()", rv);
     }
 
-    rv = apr_socket_connect(sock, destsa);
+    while (connect_tries--) {
+        apr_setup(p, &sock, &family);
+        rv = apr_socket_connect(sock, destsa);
+        if (connect_tries && APR_STATUS_IS_ECONNREFUSED(rv)) {
+            apr_status_t tmprv = apr_socket_close(sock);
+            if (tmprv != APR_SUCCESS) {
+                aprerr("apr_socket_close()", tmprv);
+            }
+            apr_sleep(connect_retry_interval);
+            connect_retry_interval *= 2;
+        }
+        else {
+            break;
+        }
+    }
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_connect()->%d/%s\n", 
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_connect()", rv);
     }
 
     switch(socket_mode) {
@@ -223,10 +251,7 @@
         /* set it non-blocking */
         rv = apr_socket_opt_set(sock, APR_SO_NONBLOCK, 1);
         if (rv != APR_SUCCESS) {
-            fprintf(stderr, "apr_socket_opt_set(APR_SO_NONBLOCK)->%d/%s\n", 
-                    rv,
-                    apr_strerror(rv, buf, sizeof buf));
-            exit(1);
+            aprerr("apr_socket_opt_set(APR_SO_NONBLOCK)", rv);
         }
         break;
     case TIMEOUT:
@@ -233,9 +258,7 @@
         /* set a timeout */
         rv = apr_socket_timeout_set(sock, 100 * APR_USEC_PER_SEC);
         if (rv != APR_SUCCESS) {
-            fprintf(stderr, "apr_socket_opt_set(APR_SO_NONBLOCK)->%d/%s\n", 
-                    rv,
-                    apr_strerror(rv, buf, sizeof buf));
+            aprerr("apr_socket_opt_set(APR_SO_NONBLOCK)", rv);
             exit(1);
         }
         break;
@@ -277,10 +300,7 @@
         len = FILE_LENGTH;
         rv = apr_socket_sendfile(sock, f, &hdtr, &current_file_offset, &len, 0);
         if (rv != APR_SUCCESS) {
-            fprintf(stderr, "apr_socket_sendfile()->%d/%s\n",
-                    rv,
-                    apr_strerror(rv, buf, sizeof buf));
-            exit(1);
+            aprerr("apr_socket_sendfile()", rv);
         }
         
         printf("apr_socket_sendfile() updated offset with %ld\n",
@@ -428,10 +448,7 @@
     current_file_offset = 0;
     rv = apr_file_seek(f, APR_CUR, &current_file_offset);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_file_seek()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_file_seek()", rv);
     }
 
     printf("After apr_socket_sendfile(), the kernel file pointer is "
@@ -440,10 +457,7 @@
 
     rv = apr_socket_shutdown(sock, APR_SHUTDOWN_WRITE);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_shutdown()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_shutdown()", rv);
     }
 
     /* in case this is the non-blocking test, set socket timeout;
@@ -451,19 +465,13 @@
 
     rv = apr_socket_timeout_set(sock, apr_time_from_sec(3));
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_timeout_set()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_timeout_set()", rv);
     }
     
     bytes_read = 1;
     rv = apr_socket_recv(sock, buf, &bytes_read);
     if (rv != APR_EOF) {
-        fprintf(stderr, "apr_socket_recv()->%d/%s (expected APR_EOF)\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_recv() (expected APR_EOF)", rv);
     }
     if (bytes_read != 0) {
         fprintf(stderr, "We expected to get 0 bytes read with APR_EOF\n"
@@ -476,20 +484,42 @@
 
     rv = apr_file_remove(TESTFILE, p);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_file_remove()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_file_remove()", rv);
     }
 
+    if (start_server) {
+        apr_exit_why_e exitwhy;
+        apr_size_t nbytes;
+        char responsebuf[1024];
+        int exitcode;
+
+        rv = apr_file_pipe_timeout_set(server.out, apr_time_from_sec(2));
+        if (rv != APR_SUCCESS) {
+            aprerr("apr_file_pipe_timeout_set()", rv);
+        }
+        nbytes = sizeof(responsebuf);
+        rv = apr_file_read(server.out, responsebuf, &nbytes);
+        if (rv != APR_SUCCESS) {
+            aprerr("apr_file_read() messages from server", rv);
+        }
+        printf("%.*s", (int)nbytes, responsebuf);
+        rv = apr_proc_wait(&server, &exitcode, &exitwhy, APR_WAIT);
+        if (rv != APR_CHILD_DONE) {
+            aprerr("apr_proc_wait() (expected APR_CHILD_DONE)", rv);
+        }
+        if (exitcode != 0) {
+            fprintf(stderr, "sendfile server returned %d\n", exitcode);
+            exit(1);
+        }
+    }
+
     return 0;
 }
 
-static int server(void)
+static int server(apr_pool_t *p)
 {
     apr_status_t rv;
     apr_socket_t *sock;
-    apr_pool_t *p;
     char buf[120];
     int i;
     apr_socket_t *newsock = NULL;
@@ -497,39 +527,27 @@
     apr_sockaddr_t *localsa;
     int family;
 
-    family = APR_UNSPEC;
-    apr_setup(&p, &sock, &family);
+    family = APR_INET;
+    apr_setup(p, &sock, &family);
 
     rv = apr_socket_opt_set(sock, APR_SO_REUSEADDR, 1);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_opt_set()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_opt_set()", rv);
     }
 
     rv = apr_sockaddr_info_get(&localsa, NULL, family, TESTSF_PORT, 0, p);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_sockaddr_info_get()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_sockaddr_info_get()", rv);
     }
 
     rv = apr_socket_bind(sock, localsa);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_bind()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_bind()", rv);
     }
 
     rv = apr_socket_listen(sock, 5);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_listen()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_listen()", rv);
     }
 
     printf("Waiting for a client to connect...\n");
@@ -536,10 +554,7 @@
 
     rv = apr_socket_accept(&newsock, sock, p);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_accept()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_accept()", rv);
     }
 
     printf("Processing a client...\n");
@@ -548,10 +563,7 @@
     bytes_read = strlen(HDR1);
     rv = apr_socket_recv(newsock, buf, &bytes_read);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_recv()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_recv()", rv);
     }
     if (bytes_read != strlen(HDR1)) {
         fprintf(stderr, "wrong data read (1)\n");
@@ -568,10 +580,7 @@
     bytes_read = strlen(HDR2);
     rv = apr_socket_recv(newsock, buf, &bytes_read);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_recv()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_recv()", rv);
     }
     if (bytes_read != strlen(HDR2)) {
         fprintf(stderr, "wrong data read (3)\n");
@@ -588,10 +597,7 @@
         bytes_read = 1;
         rv = apr_socket_recv(newsock, buf, &bytes_read);
         if (rv != APR_SUCCESS) {
-            fprintf(stderr, "apr_socket_recv()->%d/%s\n",
-                    rv,
-                    apr_strerror(rv, buf, sizeof buf));
-            exit(1);
+            aprerr("apr_socket_recv()", rv);
         }
         if (bytes_read != 1) {
             fprintf(stderr, "apr_socket_recv()->%ld bytes instead of 1\n",
@@ -613,10 +619,7 @@
         bytes_read = 1;
         rv = apr_socket_recv(newsock, buf, &bytes_read);
         if (rv != APR_SUCCESS) {
-            fprintf(stderr, "apr_socket_recv()->%d/%s\n",
-                    rv,
-                    apr_strerror(rv, buf, sizeof buf));
-            exit(1);
+            aprerr("apr_socket_recv()", rv);
         }
         if (bytes_read != 1) {
             fprintf(stderr, "apr_socket_recv()->%ld bytes instead of 1\n",
@@ -638,10 +641,7 @@
     bytes_read = strlen(TRL1);
     rv = apr_socket_recv(newsock, buf, &bytes_read);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_recv()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_recv()", rv);
     }
     if (bytes_read != strlen(TRL1)) {
         fprintf(stderr, "wrong data read (5)\n");
@@ -658,10 +658,7 @@
     bytes_read = strlen(TRL2);
     rv = apr_socket_recv(newsock, buf, &bytes_read);
     if (rv != APR_SUCCESS) {
-        fprintf(stderr, "apr_socket_recv()->%d/%s\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_recv()", rv);
     }
     if (bytes_read != strlen(TRL2)) {
         fprintf(stderr, "wrong data read (7)\n");
@@ -678,10 +675,7 @@
         bytes_read = 1;
         rv = apr_socket_recv(newsock, buf, &bytes_read);
         if (rv != APR_SUCCESS) {
-            fprintf(stderr, "apr_socket_recv()->%d/%s\n",
-                    rv,
-                    apr_strerror(rv, buf, sizeof buf));
-            exit(1);
+            aprerr("apr_socket_recv()", rv);
         }
         if (bytes_read != 1) {
             fprintf(stderr, "apr_socket_recv()->%ld bytes instead of 1\n",
@@ -702,10 +696,7 @@
     bytes_read = 1;
     rv = apr_socket_recv(newsock, buf, &bytes_read);
     if (rv != APR_EOF) {
-        fprintf(stderr, "apr_socket_recv()->%d/%s (expected APR_EOF)\n",
-                rv,
-		apr_strerror(rv, buf, sizeof buf));
-        exit(1);
+        aprerr("apr_socket_recv() (expected APR_EOF)", rv);
     }
     if (bytes_read != 0) {
         fprintf(stderr, "We expected to get 0 bytes read with APR_EOF\n"
@@ -721,34 +712,56 @@
 
 int main(int argc, char *argv[])
 {
+    apr_pool_t *p;
+    apr_status_t rv;
+
 #ifdef SIGPIPE
     signal(SIGPIPE, SIG_IGN);
 #endif
 
-    /* Gee whiz this is goofy logic but I wanna drive sendfile right now, 
-     * not dork around with the command line!
-     */
-    if (argc >= 3 && !strcmp(argv[1], "client")) {
-        char *host = 0;
-        if (argv[3]) {
-            host = argv[3];
-        }	
-        if (!strcmp(argv[2], "blocking")) {
-            return client(BLK, host);
+    rv = apr_initialize();
+    if (rv != APR_SUCCESS) {
+        aprerr("apr_initialize()", rv);
+    }
+
+    atexit(apr_terminate);
+
+    rv = apr_pool_create(&p, NULL);
+    if (rv != APR_SUCCESS) {
+        aprerr("apr_pool_create()", rv);
+    }
+
+    if (argc >= 2 && !strcmp(argv[1], "client")) {
+        const char *host = NULL;
+        int mode = BLK;
+        int start_server = 0;
+        int i;
+
+        for (i = 2; i < argc; i++) {
+            if (!strcmp(argv[i], "blocking")) {
+                mode = BLK;
+            }
+            else if (!strcmp(argv[i], "timeout")) {
+                mode = TIMEOUT;
+            }
+            else if (!strcmp(argv[i], "nonblocking")) {
+                mode = NONBLK;
+            }
+            else if (!strcmp(argv[i], "startserver")) {
+                start_server = 1;
+            }
+            else {
+                host = argv[i];
+            }	
         }
-        else if (!strcmp(argv[2], "timeout")) {
-            return client(TIMEOUT, host);
-        }
-        else if (!strcmp(argv[2], "nonblocking")) {
-            return client(NONBLK, host);
-        }
+        return client(p, mode, host, start_server);
     }
     else if (argc == 2 && !strcmp(argv[1], "server")) {
-        return server();
+        return server(p);
     }
 
     fprintf(stderr, 
-            "Usage: %s client {blocking|nonblocking|timeout}\n"
+            "Usage: %s client {blocking|nonblocking|timeout} [startserver] [server-host]\n"
             "       %s server\n",
             argv[0], argv[0]);
     return -1;

Modified: trunk/contrib/apr/test/sockchild.c
===================================================================
--- trunk/contrib/apr/test/sockchild.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/sockchild.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -69,8 +69,14 @@
         
         exit((int)length);
     }
-    else if (!strcmp("write", argv[1])) {
+    else if (!strcmp("write", argv[1])
+             || !strcmp("write_after_delay", argv[1])) {
         apr_size_t length = strlen(DATASTR);
+
+        if (!strcmp("write_after_delay", argv[1])) {
+            apr_sleep(apr_time_from_sec(2));
+        }
+
         apr_socket_send(sock, DATASTR, &length);
 
         apr_socket_close(sock);

Modified: trunk/contrib/apr/test/testatomic.c
===================================================================
--- trunk/contrib/apr/test/testatomic.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testatomic.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -167,6 +167,17 @@
     ABTS_INT_EQUAL(tc, 27, y32);
 }
 
+static void test_add32_neg(abts_case *tc, void *data)
+{
+    apr_uint32_t oldval;
+    apr_uint32_t y32;
+
+    apr_atomic_set32(&y32, 23);
+    oldval = apr_atomic_add32(&y32, -10);
+    ABTS_INT_EQUAL(tc, 23, oldval);
+    ABTS_INT_EQUAL(tc, 13, y32);
+}
+
 static void test_inc32(abts_case *tc, void *data)
 {
     apr_uint32_t oldval;
@@ -194,7 +205,7 @@
 {
     apr_uint32_t y32;
     apr_uint32_t rv;
-    apr_uint32_t minus1 = -1;
+    apr_uint32_t minus1 = (apr_uint32_t)-1;
     char *str;
 
     apr_atomic_set32(&y32, 0);
@@ -207,8 +218,8 @@
 
 static void test_inc_neg1(abts_case *tc, void *data)
 {
-    apr_uint32_t y32 = -1;
-    apr_uint32_t minus1 = -1;
+    apr_uint32_t y32 = (apr_uint32_t)-1;
+    apr_uint32_t minus1 = (apr_uint32_t)-1;
     apr_uint32_t rv;
     char *str;
 
@@ -509,6 +520,7 @@
     abts_run_test(suite, test_casptr_equal_nonnull, NULL);
     abts_run_test(suite, test_casptr_notequal, NULL);
     abts_run_test(suite, test_add32, NULL);
+    abts_run_test(suite, test_add32_neg, NULL);
     abts_run_test(suite, test_inc32, NULL);
     abts_run_test(suite, test_set_add_inc_sub, NULL);
     abts_run_test(suite, test_wrap_zero, NULL);

Modified: trunk/contrib/apr/test/testdir.c
===================================================================
--- trunk/contrib/apr/test/testdir.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testdir.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -22,6 +22,7 @@
 #include "apr_errno.h"
 #include "apr_general.h"
 #include "apr_lib.h"
+#include "apr_thread_proc.h"
 #include "testutil.h"
 
 static void test_mkdir(abts_case *tc, void *data)
@@ -59,6 +60,73 @@
     ABTS_INT_EQUAL(tc, APR_DIR, finfo.filetype);
 }
 
+struct thread_data
+{
+    abts_case *tc;
+    apr_pool_t *pool;
+};
+
+static void *APR_THREAD_FUNC thread_mkdir_func(apr_thread_t *thd, void *data)
+{
+    struct thread_data *td = data;
+    apr_status_t s1, s2, s3, s4, s5;
+
+    s1 = apr_dir_make_recursive("data/prll/one/thwo/three",
+                                APR_FPROT_UREAD | APR_FPROT_UWRITE | APR_FPROT_UEXECUTE,
+                                td->pool);
+    s2 = apr_dir_make_recursive("data/prll/four/five/six/seven/eight",
+                                APR_FPROT_UREAD | APR_FPROT_UWRITE | APR_FPROT_UEXECUTE,
+                                td->pool);
+    s3 = apr_dir_make_recursive("data/prll/nine/ten",
+                                APR_FPROT_UREAD | APR_FPROT_UWRITE | APR_FPROT_UEXECUTE,
+                                td->pool);
+    s4 = apr_dir_make_recursive("data/prll/11/12/13/14/15/16/17/18/19/20",
+                                APR_FPROT_UREAD | APR_FPROT_UWRITE | APR_FPROT_UEXECUTE,
+                                td->pool);
+    s5 = apr_dir_make_recursive("data/fortytwo",
+                                APR_FPROT_UREAD | APR_FPROT_UWRITE | APR_FPROT_UEXECUTE,
+                                td->pool);
+
+    ABTS_INT_EQUAL(td->tc, APR_SUCCESS, s1);
+    ABTS_INT_EQUAL(td->tc, APR_SUCCESS, s2);
+    ABTS_INT_EQUAL(td->tc, APR_SUCCESS, s3);
+    ABTS_INT_EQUAL(td->tc, APR_SUCCESS, s4);
+    ABTS_INT_EQUAL(td->tc, APR_SUCCESS, s5);
+    return NULL;
+}
+
+static void test_mkdir_recurs_parallel(abts_case *tc, void *data)
+{
+    struct thread_data td1, td2, td3, td4;
+    apr_thread_t *t1, *t2, *t3, *t4;
+    apr_status_t s1, s2, s3, s4;
+
+    td1.tc = td2.tc = td3.tc = td4.tc = tc;
+    apr_pool_create(&td1.pool, p);
+    apr_pool_create(&td2.pool, p);
+    apr_pool_create(&td3.pool, p);
+    apr_pool_create(&td4.pool, p);
+
+    s1 = apr_thread_create(&t1, NULL, thread_mkdir_func, &td1, td1.pool);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, s1);
+    s2 = apr_thread_create(&t2, NULL, thread_mkdir_func, &td2, td2.pool);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, s2);
+    s3 = apr_thread_create(&t3, NULL, thread_mkdir_func, &td3, td3.pool);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, s3);
+    s4 = apr_thread_create(&t4, NULL, thread_mkdir_func, &td4, td4.pool);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, s4);
+
+    apr_thread_join(&s1, t1);
+    apr_thread_join(&s2, t2);
+    apr_thread_join(&s3, t3);
+    apr_thread_join(&s4, t4);
+
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, s1);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, s2);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, s3);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, s4);
+}
+
 static void test_remove(abts_case *tc, void *data)
 {
     apr_status_t rv;
@@ -91,6 +159,72 @@
 
     rv = apr_dir_remove("data/one", p);
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/one/thwo/three", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/one/thwo", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/one", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/four/five/six/seven/eight", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/four/five/six/seven", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/four/five/six", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/four/five", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/four", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/nine/ten", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/nine", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11/12/13/14/15/16/17/18/19/20", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11/12/13/14/15/16/17/18/19", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11/12/13/14/15/16/17/18", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11/12/13/14/15/16/17", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11/12/13/14/15/16", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11/12/13/14/15", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11/12/13/14", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11/12/13", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11/12", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll/11", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/prll", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_dir_remove("data/fortytwo", p);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
 }
 
 static void test_remove_notthere(abts_case *tc, void *data)
@@ -245,6 +379,7 @@
 
     abts_run_test(suite, test_mkdir, NULL);
     abts_run_test(suite, test_mkdir_recurs, NULL);
+    abts_run_test(suite, test_mkdir_recurs_parallel, NULL);
     abts_run_test(suite, test_remove, NULL);
     abts_run_test(suite, test_removeall_fail, NULL);
     abts_run_test(suite, test_removeall, NULL);

Modified: trunk/contrib/apr/test/testdll.dsp
===================================================================
--- trunk/contrib/apr/test/testdll.dsp	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testdll.dsp	2017-02-20 03:16:08 UTC (rev 9278)
@@ -311,6 +311,10 @@
 # End Source File
 # Begin Source File
 
+SOURCE=.\testskiplist.c
+# End Source File
+# Begin Source File
+
 SOURCE=.\testsleep.c
 # End Source File
 # Begin Source File

Copied: trunk/contrib/apr/test/testescape.c (from rev 9277, vendor/apache/apr/dist/test/testescape.c)
===================================================================
--- trunk/contrib/apr/test/testescape.c	                        (rev 0)
+++ trunk/contrib/apr/test/testescape.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -0,0 +1,275 @@
+/* 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 <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "apr_escape.h"
+#include "apr_strings.h"
+
+#include "abts.h"
+#include "testutil.h"
+
+static void test_escape(abts_case *tc, void *data)
+{
+    apr_pool_t *pool;
+    const char *src, *target;
+    const char *dest;
+    const void *vdest;
+    apr_size_t len, vlen;
+
+    apr_pool_create(&pool, NULL);
+
+    src = "Hello World &;`'\"|*?~<>^()[]{}$\\";
+    target = "Hello World \\&\\;\\`\\'\\\"\\|\\*\\?\\~\\<\\>\\^\\(\\)\\[\\]\\{\\}\\$\\\\";
+    dest = apr_pescape_shell(pool, src);
+    ABTS_ASSERT(tc,
+                apr_psprintf(pool, "shell escaped (%s) does not match expected output (%s)",
+                             dest, target),
+                (strcmp(dest, target) == 0));
+    apr_escape_shell(NULL, src, APR_ESCAPE_STRING, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+#if !(defined(OS2) || defined(WIN32))
+    /* Now try with newline, which is converted to a space on OS/2 and Windows.
+     */
+    src = "Hello World &;`'\"|*?~<>^()[]{}$\\\n";
+    target = "Hello World \\&\\;\\`\\'\\\"\\|\\*\\?\\~\\<\\>\\^\\(\\)\\[\\]\\{\\}\\$\\\\\\\n";
+    dest = apr_pescape_shell(pool, src);
+    ABTS_ASSERT(tc,
+                apr_psprintf(pool, "shell escaped (%s) does not match expected output (%s)",
+                             dest, target),
+                (strcmp(dest, target) == 0));
+    apr_escape_shell(NULL, src, APR_ESCAPE_STRING, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+#endif
+
+    src = "Hello";
+    dest = apr_punescape_url(pool, src, NULL, NULL, 0);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "Hello";
+    dest = apr_punescape_url(pool, src, NULL, NULL, 1);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "Hello%20";
+    dest = apr_punescape_url(pool, src, " ", NULL, 0);
+    ABTS_PTR_EQUAL(tc, NULL, dest);
+
+    src = "Hello%20World";
+    target = "Hello World";
+    dest = apr_punescape_url(pool, src, NULL, NULL, 0);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_unescape_url(NULL, src, APR_ESCAPE_STRING, NULL, NULL, 0, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "Hello+World";
+    target = "Hello World";
+    dest = apr_punescape_url(pool, src, NULL, NULL, 1);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_unescape_url(NULL, src, APR_ESCAPE_STRING, NULL, NULL, 1, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "Hello%20World";
+    target = "Hello%20World";
+    dest = apr_punescape_url(pool, src, NULL, " ", 0);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_unescape_url(NULL, src, APR_ESCAPE_STRING, NULL, " ", 0, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "Hello";
+    dest = apr_pescape_path_segment(pool, src);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "$-_.+!*'(),:@&=/~Hello World";
+    target = "$-_.+!*'(),:@&=%2f~Hello%20World";
+    dest = apr_pescape_path_segment(pool, src);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_path_segment(NULL, src, APR_ESCAPE_STRING, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "Hello";
+    dest = apr_pescape_path(pool, src, 0);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "$-_.+!*'(),:@&=/~Hello World";
+    target = "./$-_.+!*'(),:@&=/~Hello%20World";
+    dest = apr_pescape_path(pool, src, 0);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_path(NULL, src, APR_ESCAPE_STRING, 0, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "Hello";
+    dest = apr_pescape_path(pool, src, 1);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "$-_.+!*'(),:@&=/~Hello World";
+    target = "$-_.+!*'(),:@&=/~Hello%20World";
+    dest = apr_pescape_path(pool, src, 1);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_path(NULL, src, APR_ESCAPE_STRING, 1, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "Hello";
+    dest = apr_pescape_urlencoded(pool, src);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "$-_.+!*'(),:@&=/~Hello World";
+    target = "%24-_.%2b%21*%27%28%29%2c%3a%40%26%3d%2f%7eHello+World";
+    dest = apr_pescape_urlencoded(pool, src);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_urlencoded(NULL, src, APR_ESCAPE_STRING, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "Hello";
+    dest = apr_pescape_entity(pool, src, 0);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "\xFF<>&\'\"Hello World";
+    target = "\xFF<>&'"Hello World";
+    dest = apr_pescape_entity(pool, src, 0);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_entity(NULL, src, APR_ESCAPE_STRING, 0, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+#if !APR_CHARSET_EBCDIC
+    src = "Hello";
+    dest = apr_pescape_entity(pool, src, 1);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "\xFF<>&\'\"Hello World";
+    target = "&#255<>&'"Hello World";
+    dest = apr_pescape_entity(pool, src, 1);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_entity(NULL, src, APR_ESCAPE_STRING, 1, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "Hello";
+    dest = apr_punescape_entity(pool, src);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "\xFF<>&'"Hello World";
+    target = "\xFF<>&\'\"Hello World";
+    dest = apr_punescape_entity(pool, src);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_unescape_entity(NULL, src, APR_ESCAPE_STRING, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "ÿ<>&'"Hello World";
+    target = "\xFF<>&\'\"Hello World";
+    dest = apr_punescape_entity(pool, src);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_unescape_entity(NULL, src, APR_ESCAPE_STRING, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = " <>&'"Hello World";
+    target = " <>&\'\"Hello World";
+    dest = apr_punescape_entity(pool, src);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_unescape_entity(NULL, src, APR_ESCAPE_STRING, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+#endif
+
+    src = "Hello";
+    dest = apr_pescape_echo(pool, src, 0);
+    ABTS_PTR_EQUAL(tc, src, dest);
+
+    src = "\a\b\f\\n\r\t\v\"Hello World\"";
+    target = "\\a\\b\\f\\\\n\\r\\t\\v\"Hello World\"";
+    dest = apr_pescape_echo(pool, src, 0);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_echo(NULL, src, APR_ESCAPE_STRING, 0, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "\a\b\f\\n\r\t\v\"Hello World\"";
+    target = "\\a\\b\\f\\\\n\\r\\t\\v\\\"Hello World\\\"";
+    dest = apr_pescape_echo(pool, src, 1);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_echo(NULL, src, APR_ESCAPE_STRING, 1, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "\xFF\x00\xFF\x00";
+    target = "ff00ff00";
+    dest = apr_pescape_hex(pool, src, 4, 0);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_hex(NULL, src, 4, 0, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "\xFF\x00\xFF\x00";
+    target = "ff:00:ff:00";
+    dest = apr_pescape_hex(pool, src, 4, 1);
+    ABTS_STR_EQUAL(tc, target, dest);
+    apr_escape_hex(NULL, src, 4, 1, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, strlen(dest) + 1),
+            (len == strlen(dest) + 1));
+
+    src = "ff:00:ff:00";
+    target = "\xFF\x00\xFF\x00";
+    vdest = apr_punescape_hex(pool, src, 1, &vlen);
+    ABTS_ASSERT(tc, "apr_punescape_hex target!=dest", memcmp(target, vdest, 4) == 0);
+    ABTS_INT_EQUAL(tc, (int)vlen, 4);
+    apr_unescape_hex(NULL, src, APR_ESCAPE_STRING, 1, &len);
+    ABTS_ASSERT(tc,
+            apr_psprintf(pool, "size mismatch (%" APR_SIZE_T_FMT "!=%" APR_SIZE_T_FMT ")", len, (apr_size_t)4),
+            (len == 4));
+
+    apr_pool_destroy(pool);
+}
+
+abts_suite *testescape(abts_suite *suite)
+{
+    suite = ADD_SUITE(suite);
+
+    abts_run_test(suite, test_escape, NULL);
+
+    return suite;
+}

Modified: trunk/contrib/apr/test/testfmt.c
===================================================================
--- trunk/contrib/apr/test/testfmt.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testfmt.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -41,6 +41,17 @@
     ABTS_STR_EQUAL(tc, "0", buf);
 }
 
+static void time_t_fmt(abts_case *tc, void *data)
+{
+    char buf[100];
+    apr_time_t var = 1;
+
+    sprintf(buf, "%" APR_TIME_T_FMT, var);
+    ABTS_STR_EQUAL(tc, "1", buf);
+    apr_snprintf(buf, sizeof(buf), "%" APR_TIME_T_FMT, var);
+    ABTS_STR_EQUAL(tc, "1", buf);
+}
+
 static void off_t_fmt(abts_case *tc, void *data)
 {
     char buf[100];
@@ -141,6 +152,7 @@
 
     abts_run_test(suite, ssize_t_fmt, NULL);
     abts_run_test(suite, size_t_fmt, NULL);
+    abts_run_test(suite, time_t_fmt, NULL);
     abts_run_test(suite, off_t_fmt, NULL);
     abts_run_test(suite, pid_t_fmt, NULL);
     abts_run_test(suite, int64_t_fmt, NULL);

Modified: trunk/contrib/apr/test/testhash.c
===================================================================
--- trunk/contrib/apr/test/testhash.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testhash.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -32,12 +32,13 @@
 static void dump_hash(apr_pool_t *p, apr_hash_t *h, char str[][MAX_LTH]) 
 {
     apr_hash_index_t *hi;
-    char *val, *key;
-    apr_ssize_t len;
     int i = 0;
 
     for (hi = apr_hash_first(p, h); hi; hi = apr_hash_next(hi)) {
-        apr_hash_this(hi,(void*) &key, &len, (void*) &val);
+        const char *key = apr_hash_this_key(hi);
+        apr_ssize_t len = apr_hash_this_key_len(hi);
+        char *val = apr_hash_this_val(hi);
+
         str[i][0]='\0';
         apr_snprintf(str[i], MAX_LTH, "%sKey %s (%" APR_SSIZE_T_FMT ") Value %s\n",
                  str[i], key, len, val);

Modified: trunk/contrib/apr/test/testlib.dsp
===================================================================
--- trunk/contrib/apr/test/testlib.dsp	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testlib.dsp	2017-02-20 03:16:08 UTC (rev 9278)
@@ -311,6 +311,10 @@
 # End Source File
 # Begin Source File
 
+SOURCE=.\testskiplist.c
+# End Source File
+# Begin Source File
+
 SOURCE=.\testsleep.c
 # End Source File
 # Begin Source File

Modified: trunk/contrib/apr/test/testlockperf.c
===================================================================
--- trunk/contrib/apr/test/testlockperf.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testlockperf.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -35,11 +35,12 @@
 }
 #else /* !APR_HAS_THREADS */
 
-#define MAX_COUNTER 1000000
+#define DEFAULT_MAX_COUNTER 1000000
 #define MAX_THREADS 6
 
 static int verbose = 0;
 static long mutex_counter;
+static long max_counter = DEFAULT_MAX_COUNTER;
 
 static apr_thread_mutex_t *thread_lock;
 void * APR_THREAD_FUNC thread_mutex_func(apr_thread_t *thd, void *data);
@@ -58,7 +59,7 @@
 {
     int i;
 
-    for (i = 0; i < MAX_COUNTER; i++) {
+    for (i = 0; i < max_counter; i++) {
         apr_thread_mutex_lock(thread_lock);
         mutex_counter++;
         apr_thread_mutex_unlock(thread_lock);
@@ -70,7 +71,7 @@
 {
     int i;
 
-    for (i = 0; i < MAX_COUNTER; i++) {
+    for (i = 0; i < max_counter; i++) {
         apr_thread_rwlock_wrlock(thread_rwlock);
         mutex_counter++;
         apr_thread_rwlock_unlock(thread_rwlock);
@@ -120,7 +121,7 @@
     time_stop = apr_time_now();
     printf("microseconds: %" APR_INT64_T_FMT " usec\n",
            (time_stop - time_start));
-    if (mutex_counter != MAX_COUNTER * num_threads)
+    if (mutex_counter != max_counter * num_threads)
         printf("error: counter = %ld\n", mutex_counter);
 
     return APR_SUCCESS;
@@ -168,7 +169,7 @@
     time_stop = apr_time_now();
     printf("microseconds: %" APR_INT64_T_FMT " usec\n",
            (time_stop - time_start));
-    if (mutex_counter != MAX_COUNTER * num_threads)
+    if (mutex_counter != max_counter * num_threads)
         printf("error: counter = %ld\n", mutex_counter);
 
     return APR_SUCCESS;
@@ -216,7 +217,7 @@
     time_stop = apr_time_now();
     printf("microseconds: %" APR_INT64_T_FMT " usec\n",
            (time_stop - time_start));
-    if (mutex_counter != MAX_COUNTER * num_threads)
+    if (mutex_counter != max_counter * num_threads)
         printf("error: counter = %ld\n", mutex_counter);
 
     return APR_SUCCESS;
@@ -244,8 +245,11 @@
         exit(-1);
     }
         
-    while ((rv = apr_getopt(opt, "v", &optchar, &optarg)) == APR_SUCCESS) {
-        if (optchar == 'v') {
+    while ((rv = apr_getopt(opt, "c:v", &optchar, &optarg)) == APR_SUCCESS) {
+        if (optchar == 'c') {
+            max_counter = atol(optarg);
+        }
+        else if (optchar == 'v') {
             verbose = 1;
         }
     }

Modified: trunk/contrib/apr/test/testmmap.c
===================================================================
--- trunk/contrib/apr/test/testmmap.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testmmap.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -26,16 +26,16 @@
  * length on a platform?
  */
 #define PATH_LEN 255
-#define TEST_STRING "This is the MMAP data file."APR_EOL_STR
 
 #if !APR_HAS_MMAP
 static void not_implemented(abts_case *tc, void *data)
 {
-    ABTS_NOT_IMPL(tc, "User functions");
+    ABTS_NOT_IMPL(tc, "MMAP functions");
 }
 
 #else
 
+static char test_string[256]; /* read from the datafile */
 static apr_mmap_t *themmap = NULL;
 static apr_file_t *thefile = NULL;
 static char *file1;
@@ -69,6 +69,17 @@
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
 }
    
+static void read_expected_contents(abts_case *tc, void *data)
+{
+    apr_status_t rv;
+    apr_size_t nbytes = sizeof(test_string) - 1;
+
+    rv = apr_file_read(thefile, test_string, &nbytes);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+    test_string[nbytes] = '\0';
+    thisfsize = strlen(test_string);
+}
+
 static void test_file_open(abts_case *tc, void *data)
 {
     apr_status_t rv;
@@ -105,7 +116,7 @@
     ABTS_SIZE_EQUAL(tc, thisfsize, themmap->size);
 
     /* Must use nEquals since the string is not guaranteed to be NULL terminated */
-    ABTS_STR_NEQUAL(tc, themmap->mm, TEST_STRING, thisfsize);
+    ABTS_STR_NEQUAL(tc, themmap->mm, test_string, thisfsize);
 }
 
 static void test_mmap_delete(abts_case *tc, void *data)
@@ -127,7 +138,7 @@
 
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
     /* Must use nEquals since the string is not guaranteed to be NULL terminated */
-    ABTS_STR_NEQUAL(tc, addr, TEST_STRING + 5, thisfsize-5);
+    ABTS_STR_NEQUAL(tc, addr, test_string + 5, thisfsize-5);
 }
 #endif
 
@@ -136,10 +147,9 @@
     suite = ADD_SUITE(suite)
 
 #if APR_HAS_MMAP    
-    thisfsize = strlen(TEST_STRING);
-
     abts_run_test(suite, create_filename, NULL);
     abts_run_test(suite, test_file_open, NULL);
+    abts_run_test(suite, read_expected_contents, NULL);
     abts_run_test(suite, test_get_filesize, NULL);
     abts_run_test(suite, test_mmap_create, NULL);
     abts_run_test(suite, test_mmap_contents, NULL);

Modified: trunk/contrib/apr/test/testmutexscope.c
===================================================================
--- trunk/contrib/apr/test/testmutexscope.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testmutexscope.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+/* This program won't run or check correctly if assert() is disabled. */
+#undef NDEBUG
 #include <assert.h>
 #include <errno.h>
 #include <stdio.h>

Modified: trunk/contrib/apr/test/testpoll.c
===================================================================
--- trunk/contrib/apr/test/testpoll.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testpoll.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -42,6 +42,11 @@
 static apr_pollfd_t *pollarray_large;
 #endif
 
+/* default_pollset_impl can be overridden temporarily to control
+ * testcases which don't specify an implementation explicitly
+ */
+static int default_pollset_impl = APR_POLLSET_DEFAULT;
+
 static void make_socket(apr_socket_t **sock, apr_sockaddr_t **sa, 
                         apr_port_t port, apr_pool_t *p, abts_case *tc)
 {
@@ -287,7 +292,8 @@
 static void setup_pollset(abts_case *tc, void *data)
 {
     apr_status_t rv;
-    rv = apr_pollset_create(&pollset, LARGE_NUM_SOCKETS, p, 0);
+    rv = apr_pollset_create_ex(&pollset, LARGE_NUM_SOCKETS, p, 0,
+                               default_pollset_impl);
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
 }
 
@@ -492,7 +498,8 @@
     apr_pollfd_t pfd;
     apr_int32_t num;
 
-    rv = apr_pollset_create(&pollset, 5, p, 0);
+    rv = apr_pollset_create_ex(&pollset, 5, p, 0,
+                               default_pollset_impl);
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
 
     pfd.p = p;
@@ -769,6 +776,47 @@
     }
 }
 
+static void pollset_wakeup(abts_case *tc, void *data)
+{
+    apr_status_t rv;
+    apr_pollfd_t socket_pollfd;
+    apr_pollset_t *pollset;
+    apr_int32_t num;
+    const apr_pollfd_t *descriptors;
+
+    rv = apr_pollset_create_ex(&pollset, 1, p, APR_POLLSET_WAKEABLE,
+                               default_pollset_impl);
+    if (rv == APR_ENOTIMPL) {
+        ABTS_NOT_IMPL(tc, "apr_pollset_wakeup() not supported");
+        return;
+    }
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    /* send wakeup but no data; apr_pollset_poll() should return APR_EINTR */
+    rv = apr_pollset_wakeup(pollset);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_pollset_poll(pollset, -1, &num, &descriptors);
+    ABTS_INT_EQUAL(tc, APR_EINTR, rv);
+
+    /* send wakeup and data; apr_pollset_poll() should return APR_SUCCESS */
+    socket_pollfd.desc_type = APR_POLL_SOCKET;
+    socket_pollfd.reqevents = APR_POLLIN;
+    socket_pollfd.desc.s = s[0];
+    socket_pollfd.client_data = s[0];
+    rv = apr_pollset_add(pollset, &socket_pollfd);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    send_msg(s, sa, 0, tc);
+
+    rv = apr_pollset_wakeup(pollset);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+    rv = apr_pollset_poll(pollset, -1, &num, &descriptors);
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+    ABTS_INT_EQUAL(tc, 1, num);
+}
+
 static void justsleep(abts_case *tc, void *data)
 {
     apr_int32_t nsds;
@@ -868,6 +916,7 @@
     abts_run_test(suite, trigger_pollcb, NULL);
     abts_run_test(suite, timeout_pollcb, NULL);
     abts_run_test(suite, timeout_pollin_pollcb, NULL);
+    abts_run_test(suite, pollset_wakeup, NULL);
     abts_run_test(suite, close_all_sockets, NULL);
     abts_run_test(suite, pollset_default, NULL);
     abts_run_test(suite, pollcb_default, NULL);

Modified: trunk/contrib/apr/test/testproc.c
===================================================================
--- trunk/contrib/apr/test/testproc.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testproc.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -23,6 +23,10 @@
 
 #define TESTSTR "This is a test"
 
+#define PROC_CHILD_NAME TESTBINPATH "proc_child" EXTENSION
+
+static char *proc_child;
+
 static apr_proc_t newproc;
 
 static void test_create_proc(abts_case *tc, void *data)
@@ -50,7 +54,7 @@
     args[0] = "proc_child" EXTENSION;
     args[1] = NULL;
     
-    rv = apr_proc_create(&newproc, "../" TESTBINPATH "proc_child" EXTENSION, args, NULL, 
+    rv = apr_proc_create(&newproc, proc_child, args, NULL, 
                          attr, p);
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
 
@@ -126,7 +130,7 @@
     args[0] = "proc_child";
     args[1] = NULL;
 
-    rv = apr_proc_create(&newproc, "../" TESTBINPATH "proc_child" EXTENSION, args, NULL, 
+    rv = apr_proc_create(&newproc, proc_child, args, NULL, 
                          attr, p);
     ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
 
@@ -160,6 +164,7 @@
 {
     suite = ADD_SUITE(suite)
 
+    apr_filepath_merge(&proc_child, NULL, PROC_CHILD_NAME, 0, p);
     abts_run_test(suite, test_create_proc, NULL);
     abts_run_test(suite, test_proc_wait, NULL);
     abts_run_test(suite, test_file_redir, NULL);

Copied: trunk/contrib/apr/test/testskiplist.c (from rev 9277, vendor/apache/apr/dist/test/testskiplist.c)
===================================================================
--- trunk/contrib/apr/test/testskiplist.c	                        (rev 0)
+++ trunk/contrib/apr/test/testskiplist.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -0,0 +1,448 @@
+/* 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 "testutil.h"
+#include "apr.h"
+#include "apr_strings.h"
+#include "apr_general.h"
+#include "apr_pools.h"
+#include "apr_skiplist.h"
+#if APR_HAVE_STDIO_H
+#include <stdio.h>
+#endif
+#if APR_HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#if APR_HAVE_STRING_H
+#include <string.h>
+#endif
+
+static apr_pool_t *ptmp = NULL;
+static apr_skiplist *skiplist = NULL;
+
+/* apr_skiplist_add[_compare]() are missing in 1.5.x,
+ * so emulate them (not thread-safe!)...
+ */
+static apr_skiplist_compare current_comp;
+static int add_comp(void *a, void *b)
+{
+    return current_comp(a, b) < 0 ? -1 : +1;
+}
+static apr_skiplistnode *apr_skiplist_add_compare(apr_skiplist *sl, void *data,
+                                                  apr_skiplist_compare comp)
+{
+    current_comp = comp;
+    return apr_skiplist_insert_compare(sl, data, add_comp);
+}
+static apr_skiplistnode *apr_skiplist_add(apr_skiplist *sl, void *data)
+{
+    /* Ugly, really, but should work *as long as* the compare function is the
+     * first field of the (opaque) skiplist struct, this is the case for now :p
+     */
+    return apr_skiplist_add_compare(sl, data, *(apr_skiplist_compare*)sl);
+}
+
+static int skiplist_get_size(abts_case *tc, apr_skiplist *sl)
+{
+    size_t size = 0;
+    apr_skiplistnode *n;
+    for (n = apr_skiplist_getlist(sl); n; apr_skiplist_next(sl, &n)) {
+        ++size;
+    }
+    return size;
+}
+
+static void skiplist_init(abts_case *tc, void *data)
+{
+    apr_time_t now = apr_time_now();
+    srand((unsigned int)(((now >> 32) ^ now) & 0xffffffff));
+
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, apr_skiplist_init(&skiplist, p));
+    ABTS_PTR_NOTNULL(tc, skiplist);
+    apr_skiplist_set_compare(skiplist, (apr_skiplist_compare)strcmp,
+                                       (apr_skiplist_compare)strcmp);
+}
+
+static void skiplist_find(abts_case *tc, void *data)
+{
+    const char *val;
+
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "baton"));
+    val = apr_skiplist_find(skiplist, "baton", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "baton", val);
+}
+
+static void skiplist_dontfind(abts_case *tc, void *data)
+{
+    const char *val;
+
+    val = apr_skiplist_find(skiplist, "keynotthere", NULL);
+    ABTS_PTR_EQUAL(tc, NULL, (void *)val);
+}
+
+static void skiplist_insert(abts_case *tc, void *data)
+{
+    const char *val;
+    int i;
+
+    for (i = 0; i < 10; ++i) {
+        ABTS_PTR_EQUAL(tc, NULL, apr_skiplist_insert(skiplist, "baton"));
+        ABTS_TRUE(tc, 1 == skiplist_get_size(tc, skiplist));
+        val = apr_skiplist_find(skiplist, "baton", NULL);
+        ABTS_PTR_NOTNULL(tc, val);
+        ABTS_STR_EQUAL(tc, "baton", val);
+    }
+
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "foo"));
+    ABTS_TRUE(tc, 2 == skiplist_get_size(tc, skiplist));
+    val = apr_skiplist_find(skiplist, "foo", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "foo", val);
+
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "atfirst"));
+    ABTS_TRUE(tc, 3 == skiplist_get_size(tc, skiplist));
+    val = apr_skiplist_find(skiplist, "atfirst", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "atfirst", val);
+}
+
+static void skiplist_add(abts_case *tc, void *data)
+{
+    const char *val;
+    size_t i, n = skiplist_get_size(tc, skiplist);
+
+    for (i = 0; i < 100; ++i) {
+        n++;
+        ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "daton"));
+        ABTS_TRUE(tc, n == skiplist_get_size(tc, skiplist));
+        val = apr_skiplist_find(skiplist, "daton", NULL);
+        ABTS_PTR_NOTNULL(tc, val);
+        ABTS_STR_EQUAL(tc, "daton", val);
+
+        n++;
+        ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "baton"));
+        ABTS_TRUE(tc, n == skiplist_get_size(tc, skiplist));
+        val = apr_skiplist_find(skiplist, "baton", NULL);
+        ABTS_PTR_NOTNULL(tc, val);
+        ABTS_STR_EQUAL(tc, "baton", val);
+
+        n++;
+        ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "caton"));
+        ABTS_TRUE(tc, n == skiplist_get_size(tc, skiplist));
+        val = apr_skiplist_find(skiplist, "caton", NULL);
+        ABTS_PTR_NOTNULL(tc, val);
+        ABTS_STR_EQUAL(tc, "caton", val);
+
+        n++;
+        ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "aaton"));
+        ABTS_TRUE(tc, n == skiplist_get_size(tc, skiplist));
+        val = apr_skiplist_find(skiplist, "aaton", NULL);
+        ABTS_PTR_NOTNULL(tc, val);
+        ABTS_STR_EQUAL(tc, "aaton", val);
+    }
+}
+
+static void skiplist_destroy(abts_case *tc, void *data)
+{
+    apr_skiplist_destroy(skiplist, NULL);
+    ABTS_TRUE(tc, 0 == skiplist_get_size(tc, skiplist));
+}
+
+static void skiplist_size(abts_case *tc, void *data)
+{
+    const char *val;
+
+    ABTS_TRUE(tc, 0 == skiplist_get_size(tc, skiplist));
+
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "abc"));
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "ghi"));
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "def"));
+    val = apr_skiplist_find(skiplist, "abc", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "abc", val);
+    val = apr_skiplist_find(skiplist, "ghi", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "ghi", val);
+    val = apr_skiplist_find(skiplist, "def", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "def", val);
+
+    ABTS_TRUE(tc, 3 == skiplist_get_size(tc, skiplist));
+    apr_skiplist_destroy(skiplist, NULL);
+}
+
+static void skiplist_remove(abts_case *tc, void *data)
+{
+    const char *val;
+
+    ABTS_TRUE(tc, 0 == skiplist_get_size(tc, skiplist));
+
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "baton"));
+    ABTS_TRUE(tc, 1 == skiplist_get_size(tc, skiplist));
+    val = apr_skiplist_find(skiplist, "baton", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "baton", val);
+
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "baton"));
+    ABTS_TRUE(tc, 2 == skiplist_get_size(tc, skiplist));
+    val = apr_skiplist_find(skiplist, "baton", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "baton", val);
+
+    ABTS_TRUE(tc, apr_skiplist_remove(skiplist, "baton", NULL) != 0);
+    ABTS_TRUE(tc, 1 == skiplist_get_size(tc, skiplist));
+    val = apr_skiplist_find(skiplist, "baton", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "baton", val);
+
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "baton"));
+    ABTS_TRUE(tc, 2 == skiplist_get_size(tc, skiplist));
+    val = apr_skiplist_find(skiplist, "baton", NULL);
+    ABTS_PTR_NOTNULL(tc, val);
+    ABTS_STR_EQUAL(tc, "baton", val);
+
+    /* remove all "baton"s */
+    while (apr_skiplist_remove(skiplist, "baton", NULL))
+        ;
+    ABTS_TRUE(tc, 0 == skiplist_get_size(tc, skiplist));
+    val = apr_skiplist_find(skiplist, "baton", NULL);
+    ABTS_PTR_EQUAL(tc, NULL, val);
+}
+
+#define NUM_RAND (100)
+#define NUM_FIND (3 * NUM_RAND)
+static void skiplist_random_loop(abts_case *tc, void *data)
+{
+    char **batons;
+    apr_skiplist *sl;
+    const char *val;
+    int i;
+
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, apr_skiplist_init(&sl, ptmp));
+    apr_skiplist_set_compare(sl, (apr_skiplist_compare)strcmp,
+                                 (apr_skiplist_compare)strcmp);
+
+    batons = apr_palloc(ptmp, NUM_FIND * sizeof(char*));
+
+    for (i = 0; i < NUM_FIND; ++i) {
+        if (i < NUM_RAND) {
+            batons[i] = apr_psprintf(ptmp, "%.6u", rand() % 1000000);
+        }
+        else {
+            batons[i] = apr_pstrdup(ptmp, batons[i % NUM_RAND]);
+        }
+        ABTS_PTR_NOTNULL(tc, apr_skiplist_add(sl, batons[i]));
+        val = apr_skiplist_find(sl, batons[i], NULL);
+        ABTS_PTR_NOTNULL(tc, val);
+        ABTS_STR_EQUAL(tc, batons[i], val);
+    }
+
+    apr_pool_clear(ptmp);
+}
+
+typedef struct elem {
+    int b;
+    int a;
+} elem;
+
+
+static void add_int_to_skiplist(abts_case *tc, apr_skiplist *list, int n){
+    int* a = apr_skiplist_alloc(list, sizeof(int));
+    *a = n;
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(list, a));
+}
+
+static void add_elem_to_skiplist(abts_case *tc, apr_skiplist *list, elem n){
+    elem* a = apr_skiplist_alloc(list, sizeof(elem));
+    *a = n;
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(list, a));
+}
+
+static int comp(void *a, void *b){
+    return (*((int*) a) < *((int*) b)) ? -1 : 1;
+}
+
+static int scomp(void *a, void *b){
+    return (((elem*) a)->a < ((elem*) b)->a) ? -1 : 1;
+}
+
+static int ecomp(void *a, void *b)
+{
+    elem const * const e1 = a;
+    elem const * const e2 = b;
+    if (e1->a < e2->a) {
+        return -1;
+    }
+    else if (e1->a > e2->a) {
+        return +1;
+    }
+    else if (e1->b < e2->b) {
+        return -1;
+    }
+    else if (e1->b > e2->b) {
+        return +1;
+    }
+    else {
+        return 0;
+    }
+}
+
+static void skiplist_test(abts_case *tc, void *data) {
+    int test_elems = 10;
+    int i = 0, j = 0;
+    int *val = NULL;
+    elem *val2 = NULL;
+    apr_skiplist * list = NULL;
+    apr_skiplist * list2 = NULL;
+    apr_skiplist * list3 = NULL;
+    int first_forty_two = 42,
+        second_forty_two = 42;
+    apr_array_header_t *array;
+    elem t1, t2, t3, t4, t5;
+    t1.a = 1; t1.b = 1;
+    t2.a = 42; t2.b = 1;
+    t3.a = 42; t3.b = 2;
+    t4.a = 42; t4.b = 3;
+    t5.a = 142; t5.b = 1;
+
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, apr_skiplist_init(&list, ptmp));
+    apr_skiplist_set_compare(list, comp, comp);
+    
+    /* insert 10 objects */
+    for (i = 0; i < test_elems; ++i){
+        add_int_to_skiplist(tc, list, i);
+    }
+
+    /* remove all objects */
+    while ((val = apr_skiplist_pop(list, NULL))){
+        ABTS_INT_EQUAL(tc, *val, j++);
+    }
+
+    /* insert 10 objects again */
+    for (i = test_elems; i < test_elems+test_elems; ++i){
+        add_int_to_skiplist(tc, list, i);
+    }
+
+    j = test_elems;
+    while ((val = apr_skiplist_pop(list, NULL))){
+        ABTS_INT_EQUAL(tc, *val, j++);
+    }
+
+    /* empty */
+    val = apr_skiplist_pop(list, NULL);
+    ABTS_PTR_EQUAL(tc, val, NULL);
+
+    add_int_to_skiplist(tc, list, 42);
+    val = apr_skiplist_pop(list, NULL);
+    ABTS_INT_EQUAL(tc, *val, 42); 
+
+    /* empty */
+    val = apr_skiplist_pop(list, NULL);
+    ABTS_PTR_EQUAL(tc, val, NULL);
+
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_add(list, &first_forty_two));
+    add_int_to_skiplist(tc, list, 1);
+    add_int_to_skiplist(tc, list, 142);
+    ABTS_PTR_NOTNULL(tc, apr_skiplist_add(list, &second_forty_two));
+    val = apr_skiplist_peek(list);
+    ABTS_INT_EQUAL(tc, *val, 1);
+    val = apr_skiplist_pop(list, NULL);
+    ABTS_INT_EQUAL(tc, *val, 1);
+    val = apr_skiplist_peek(list);
+    ABTS_PTR_EQUAL(tc, val, &first_forty_two);
+    ABTS_INT_EQUAL(tc, *val, 42);
+    val = apr_skiplist_pop(list, NULL);
+    ABTS_PTR_EQUAL(tc, val, &first_forty_two);
+    ABTS_INT_EQUAL(tc, *val, 42);
+    val = apr_skiplist_pop(list, NULL);
+    ABTS_PTR_EQUAL(tc, val, &second_forty_two);
+    ABTS_INT_EQUAL(tc, *val, 42);
+    val = apr_skiplist_peek(list);
+    ABTS_INT_EQUAL(tc, *val, 142);
+
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, apr_skiplist_init(&list2, ptmp));
+    apr_skiplist_set_compare(list2, scomp, scomp);
+    add_elem_to_skiplist(tc, list2, t2);
+    add_elem_to_skiplist(tc, list2, t1);
+    add_elem_to_skiplist(tc, list2, t3);
+    add_elem_to_skiplist(tc, list2, t5);
+    add_elem_to_skiplist(tc, list2, t4);
+    val2 = apr_skiplist_pop(list2, NULL);
+    ABTS_INT_EQUAL(tc, val2->a, 1);
+    val2 = apr_skiplist_pop(list2, NULL);
+    ABTS_INT_EQUAL(tc, val2->a, 42);
+    ABTS_INT_EQUAL(tc, val2->b, 1);
+    val2 = apr_skiplist_pop(list2, NULL);
+    ABTS_INT_EQUAL(tc, val2->a, 42);
+    ABTS_INT_EQUAL(tc, val2->b, 2);
+    val2 = apr_skiplist_pop(list2, NULL);
+    ABTS_INT_EQUAL(tc, val2->a, 42);
+    ABTS_INT_EQUAL(tc, val2->b, 3);
+    val2 = apr_skiplist_pop(list2, NULL);
+    ABTS_INT_EQUAL(tc, val2->a, 142);
+    ABTS_INT_EQUAL(tc, val2->b, 1);
+
+    ABTS_INT_EQUAL(tc, APR_SUCCESS, apr_skiplist_init(&list3, ptmp));
+    apr_skiplist_set_compare(list3, ecomp, ecomp);
+    array = apr_array_make(ptmp, 10, sizeof(elem *));
+    for (i = 0; i < 10; ++i) {
+        elem *e = apr_palloc(ptmp, sizeof *e);
+        e->a = 4224;
+        e->b = i;
+        APR_ARRAY_PUSH(array, elem *) = e;
+        ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(list3, e));
+    }
+    for (i = 0; i < 5; ++i) {
+        elem *e = APR_ARRAY_IDX(array, i, elem *);
+        val2 = apr_skiplist_find(list3, e, NULL);
+        ABTS_PTR_EQUAL(tc, e, val2);
+        ABTS_TRUE(tc, apr_skiplist_remove(list3, e, NULL) != 0);
+    }
+    for (i = 0; i < 5; ++i) {
+        elem *e = APR_ARRAY_IDX(array, 9 - i, elem *);
+        val2 = apr_skiplist_find(list3, e, NULL);
+        ABTS_PTR_EQUAL(tc, e, val2);
+        ABTS_TRUE(tc, apr_skiplist_remove(list3, e, NULL) != 0);
+    }
+
+    apr_pool_clear(ptmp);
+}
+
+
+abts_suite *testskiplist(abts_suite *suite)
+{
+    suite = ADD_SUITE(suite)
+
+    apr_pool_create(&ptmp, p);
+
+    abts_run_test(suite, skiplist_init, NULL);
+    abts_run_test(suite, skiplist_find, NULL);
+    abts_run_test(suite, skiplist_dontfind, NULL);
+    abts_run_test(suite, skiplist_insert, NULL);
+    abts_run_test(suite, skiplist_add, NULL);
+    abts_run_test(suite, skiplist_destroy, NULL);
+    abts_run_test(suite, skiplist_size, NULL);
+    abts_run_test(suite, skiplist_remove, NULL);
+    abts_run_test(suite, skiplist_random_loop, NULL);
+
+    abts_run_test(suite, skiplist_test, NULL);
+
+    apr_pool_destroy(ptmp);
+
+    return suite;
+}
+

Modified: trunk/contrib/apr/test/testsock.c
===================================================================
--- trunk/contrib/apr/test/testsock.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testsock.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -23,6 +23,8 @@
 #include "apr_lib.h"
 #include "apr_strings.h"
 #include "apr_poll.h"
+#define APR_WANT_BYTEFUNC
+#include "apr_want.h"
 
 static void launch_child(abts_case *tc, apr_proc_t *proc, const char *arg1, apr_pool_t *p)
 {
@@ -67,14 +69,21 @@
 {
     apr_status_t rv;
     apr_sockaddr_t *sa;
+    int rc;
 
     rv = apr_sockaddr_info_get(&sa, NULL, APR_UNSPEC, 80, 0, p);
     APR_ASSERT_SUCCESS(tc, "Problem generating sockaddr", rv);
 
+    rc = apr_sockaddr_is_wildcard(sa);
+    ABTS_INT_NEQUAL(tc, 0, rc);
+
     rv = apr_sockaddr_info_get(&sa, "127.0.0.1", APR_UNSPEC, 80, 0, p);
     APR_ASSERT_SUCCESS(tc, "Problem generating sockaddr", rv);
     ABTS_STR_EQUAL(tc, "127.0.0.1", sa->hostname);
 
+    rc = apr_sockaddr_is_wildcard(sa);
+    ABTS_INT_EQUAL(tc, 0, rc);
+
     rv = apr_sockaddr_info_get(&sa, "127.0.0.1", APR_UNSPEC, 0, 0, p);
     APR_ASSERT_SUCCESS(tc, "Problem generating sockaddr", rv);
     ABTS_STR_EQUAL(tc, "127.0.0.1", sa->hostname);
@@ -318,7 +327,11 @@
     if (rv == APR_SUCCESS && sa) {
         /* sa should now be a v4-mapped IPv6 address. */
         char buf[128];
+        int rc;
 
+        rc = apr_sockaddr_is_wildcard(sa);
+        ABTS_INT_NEQUAL(tc, 0, rc);
+
         memset(buf, 'z', sizeof buf);
         
         APR_ASSERT_SUCCESS(tc, "could not get IP address",
@@ -339,8 +352,8 @@
 
     APR_ASSERT_SUCCESS(tc, "create subpool", apr_pool_create(&subp, p));
 
-    if ((ld = setup_socket(tc)) != APR_SUCCESS)
-        return;
+    ld = setup_socket(tc);
+    if (!ld) return;
 
     APR_ASSERT_SUCCESS(tc,
                        "get local address of bound socket",
@@ -427,6 +440,54 @@
     apr_pool_destroy(subp);
 }
 
+/* Make sure that setting a connected socket non-blocking works
+ * when the listening socket was non-blocking.
+ * If APR thinks that non-blocking is inherited but it really
+ * isn't, this testcase will fail.
+ */
+static void test_nonblock_inheritance(abts_case *tc, void *data)
+{
+    apr_status_t rv;
+    apr_socket_t *sock;
+    apr_socket_t *sock2;
+    apr_proc_t proc;
+    char buffer[10];
+    apr_size_t length;
+    int tries;
+
+    sock = setup_socket(tc);
+    if (!sock) return;
+
+    rv = apr_socket_opt_set(sock, APR_SO_NONBLOCK, 1);
+    APR_ASSERT_SUCCESS(tc, "Could not make listening socket nonblocking", rv);
+
+    launch_child(tc, &proc, "write_after_delay", p);
+
+    tries = 10;
+    while (tries--) {
+        rv = apr_socket_accept(&sock2, sock, p);
+        if (!APR_STATUS_IS_EAGAIN(rv)) {
+            break;
+        }
+        apr_sleep(apr_time_from_msec(50));
+    }
+    APR_ASSERT_SUCCESS(tc, "Problem with receiving connection", rv);
+
+    rv = apr_socket_opt_set(sock2, APR_SO_NONBLOCK, 1);
+    APR_ASSERT_SUCCESS(tc, "Could not make connected socket nonblocking", rv);
+
+    length = sizeof buffer;
+    rv = apr_socket_recv(sock2, buffer, &length);
+    ABTS_ASSERT(tc, "should have gotten EAGAIN", APR_STATUS_IS_EAGAIN(rv));
+
+    wait_child(tc, &proc);
+
+    rv = apr_socket_close(sock2);
+    APR_ASSERT_SUCCESS(tc, "Problem closing connected socket", rv);
+    rv = apr_socket_close(sock);
+    APR_ASSERT_SUCCESS(tc, "Problem closing socket", rv);
+}
+
 abts_suite *testsock(abts_suite *suite)
 {
     suite = ADD_SUITE(suite)
@@ -440,6 +501,7 @@
     abts_run_test(suite, test_timeout, NULL);
     abts_run_test(suite, test_print_addr, NULL);
     abts_run_test(suite, test_get_addr, NULL);
+    abts_run_test(suite, test_nonblock_inheritance, NULL);
 
     return suite;
 }

Modified: trunk/contrib/apr/test/teststr.c
===================================================================
--- trunk/contrib/apr/test/teststr.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/teststr.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -16,7 +16,6 @@
 
 #include "testutil.h"
 
-#include <assert.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>

Modified: trunk/contrib/apr/test/testtable.c
===================================================================
--- trunk/contrib/apr/test/testtable.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testtable.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -57,6 +57,25 @@
     ABTS_STR_EQUAL(tc, "bar", val);
 }
 
+static void table_getm(abts_case *tc, void *data)
+{
+    const char *orig, *val;
+    apr_pool_t *subp;
+
+    apr_pool_create(&subp, p);
+
+    orig = "bar";
+    apr_table_setn(t1, "foo", orig);
+    val = apr_table_getm(subp, t1, "foo");
+    ABTS_PTR_EQUAL(tc, orig, val);
+    ABTS_STR_EQUAL(tc, "bar", val);
+    apr_table_add(t1, "foo", "baz");
+    val = apr_table_getm(subp, t1, "foo");
+    ABTS_STR_EQUAL(tc, "bar,baz", val);
+
+    apr_pool_destroy(subp);
+}
+
 static void table_set(abts_case *tc, void *data)
 {
     const char *val;
@@ -187,6 +206,7 @@
     abts_run_test(suite, array_clear, NULL);
     abts_run_test(suite, table_make, NULL);
     abts_run_test(suite, table_get, NULL);
+    abts_run_test(suite, table_getm, NULL);
     abts_run_test(suite, table_set, NULL);
     abts_run_test(suite, table_getnotthere, NULL);
     abts_run_test(suite, table_add, NULL);

Modified: trunk/contrib/apr/test/testutil.h
===================================================================
--- trunk/contrib/apr/test/testutil.h	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/test/testutil.h	2017-02-20 03:16:08 UTC (rev 9278)
@@ -64,6 +64,7 @@
 abts_suite *testdir(abts_suite *suite);
 abts_suite *testdso(abts_suite *suite);
 abts_suite *testdup(abts_suite *suite);
+abts_suite *testescape(abts_suite *suite);
 abts_suite *testenv(abts_suite *suite);
 abts_suite *testfile(abts_suite *suite);
 abts_suite *testfilecopy(abts_suite *suite);
@@ -102,5 +103,6 @@
 abts_suite *testud(abts_suite *suite);
 abts_suite *testuser(abts_suite *suite);
 abts_suite *testvsn(abts_suite *suite);
+abts_suite *testskiplist(abts_suite *suite);
 
 #endif /* APR_TEST_INCLUDES */

Modified: trunk/contrib/apr/threadproc/netware/thread.c
===================================================================
--- trunk/contrib/apr/threadproc/netware/thread.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/threadproc/netware/thread.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -77,7 +77,7 @@
                                apr_pool_t *pool)
 {
     apr_status_t stat;
-    long flags = NX_THR_BIND_CONTEXT;
+    unsigned long flags = NX_THR_BIND_CONTEXT;
     char threadName[NX_MAX_OBJECT_NAME_LEN+1];
     size_t stack_size = APR_DEFAULT_STACK_SIZE;
 
@@ -120,8 +120,8 @@
         /* void(*start_routine)(void *arg) */ (void (*)(void *)) dummy_worker,
         /* void *arg */                       (*new),
         /* int priority */                    NX_PRIO_MED,
-        /* NXSize_t stackSize */              stack_size,
-        /* long flags */                      NX_CTX_NORMAL,
+        /* size_t stackSize */                stack_size,
+        /* unsigned long flags */             NX_CTX_NORMAL,
         /* int *error */                      &stat);
 
     stat = NXContextSetName(
@@ -130,7 +130,7 @@
 
     stat = NXThreadCreate(
         /* NXContext_t context */     (*new)->ctx,
-        /* long flags */              flags,
+        /* unsigned long flags */     flags,
         /* NXThreadId_t *thread_id */ &(*new)->td);
 
     if (stat == 0)

Modified: trunk/contrib/apr/threadproc/win32/proc.c
===================================================================
--- trunk/contrib/apr/threadproc/win32/proc.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/threadproc/win32/proc.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -465,8 +465,8 @@
     new->err = attr->parent_err;
 
     if (attr->detached) {
-        /* If we are creating ourselves detached, Then we should hide the
-         * window we are starting in.  And we had better redfine our
+        /* If we are creating ourselves detached, then we should hide the
+         * window we are starting in.  And we had better redefine our
          * handles for STDIN, STDOUT, and STDERR. Do not set the
          * detached attribute for Win9x. We have found that Win9x does
          * not manage the stdio handles properly when running old 16
@@ -853,6 +853,7 @@
                 rv = apr_get_os_error();
                 CloseHandle(attr->user_token);
                 attr->user_token = NULL;
+                LeaveCriticalSection(&proc_lock);
                 return rv;
             }
             rv = CreateProcessAsUserW(attr->user_token,

Modified: trunk/contrib/apr/threadproc/win32/signals.c
===================================================================
--- trunk/contrib/apr/threadproc/win32/signals.c	2017-02-20 03:10:44 UTC (rev 9277)
+++ trunk/contrib/apr/threadproc/win32/signals.c	2017-02-20 03:16:08 UTC (rev 9278)
@@ -31,7 +31,7 @@
 /* Windows only really support killing process, but that will do for now. 
  *
  * ### Actually, closing the input handle to the proc should also do fine 
- * for most console apps.  This definately needs improvement...
+ * for most console apps.  This definitely needs improvement...
  */
 APR_DECLARE(apr_status_t) apr_proc_kill(apr_proc_t *proc, int signal)
 {



More information about the Midnightbsd-cvs mailing list