Add apache-apr 1.2.12 source.
Change-Id: Ia5307b7bb6b27ab5646c27c6dce0cceaacb1978d
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ff6170f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,31 @@
+/build
+/source/build
+*.mode1v3
+*.pbxuser
+*.pbxindex/
+!user.pbxuser
+/*.log
+*.user
+*.ncb
+*.suo
+*.pdb
+*.pdf
+*.html
+*.idb
+*.o
+*.lo
+*.a
+*.so
+*.so.0
+*.la
+.deps
+.libs
+*.pyc
+.DS_Store
+# Emacs and other editor backup files
+*~
+
+# builds on Windows
+Debug/
+Release/
+release/
diff --git a/CHANGES b/CHANGES
new file mode 100644
index 0000000..bb9c989
--- /dev/null
+++ b/CHANGES
@@ -0,0 +1,2228 @@
+ -*- coding: utf-8 -*-
+Changes for APR 1.2.12
+
+ *) Numerous fixes to the test/ framework, including better handling of
+ long size_t comparisons and more consistent Makefile.(in|win) setup
+ for authoring new tests. [William Rowe]
+
+ *) Win32 build fixes including a Makefile.win scheme, fixes for 64P
+ model x86_64 compiles and VC8 builds. [William Rowe]
+
+ *) Fix --disable-ipv6 build on platforms with getifaddrs().
+ PR 39199. [Joe Orton]
+
+ *) Fix DSO-related crash on z/OS caused by incorrect memory
+ allocation. [David Jones <oscaremma gmail.com>]
+
+ *) Define apr_ino_t in such a way that it doesn't change definition
+ based on the library consumer's -D'efines to the filesystem.
+ [Lucian Adrian Grijincu <lucian.grijincu gmail.com>]
+
+ *) Implement apr_atomic_casptr() for z/OS.
+ [David Jones <oscaremma gmail.com>]
+
+ *) Fill in apr_fileinfo_t member st_csize on Netware and Unix (PR 41678),
+ and refine the file times down to apr_time_t resolution if supported
+ by a st_atimensec or st_atim.tv_nsec value by the OS. Additional
+ msec implementations are possible if exposed through autoconf.
+ [William Rowe, Nicklas Edmundsson <nikke acc.umu.se>]
+
+ *) Fix apr_socket_recvfrom() to ensure the peer's port and address
+ is returned through the "from" parameter on Unix and Win32.
+ [Joe Orton, William Rowe]
+
+ *) The WIN32 cleanup routine for shared memory segments could wrongly
+ return unknown errors and leak a open handle.
+ [Joe Mudd <Joe.Mudd sas.com>]
+
+ *) apr_procattr_io_set() on Windows: Set non-blocking pipe handles
+ to a default timeout of 0, following the Unix default. No effect
+ on pipe handles configured to block. PR 43522.
+ [Eric Covener <covener gmail.com>]
+
+ *) apr_file_write() on Windows: Fix return code when writing to a non-
+ blocking pipe would have blocked. PR 43563.
+ [Eric Covener <covener gmail.com>]
+
+ *) Cause apr_file_dup2() on Win32 to update the MSVCRT psuedo-stdio
+ handles for fd-based and FILE * based I/O. [William Rowe]
+
+ *) Revert Win32 to the 1.2.8 behavior of apr_proc_create() for any
+ of the three stdio streams which are not initialized, through either
+ apr_procattr_io_set() or apr_procattr_child_XXX_set(), when given a
+ procattr_t with one or two streams which were initialized through
+ apr_procattr_child_XXX_set(). Once again, these do not inherit the
+ parent process stdio stream to WIN32 child processes (passing
+ INVALID_HANDLE_VALUE instead) as on Unix. Note APR 1.3.0 adopts
+ the Unix behavior of inheriting any uninitialized streams as the
+ parent's corresponding stdio stream, in such cases. [William Rowe]
+
+Changes for APR 1.2.11
+
+ *) Fix handling of EINTR from read() in apr_generate_random_bytes()
+ on platforms with /dev/random. PR 39790. [Joe Orton]
+
+ *) Win32 apr_file_read: Correctly handle completion-based read-to-EOF.
+ [Steven Naim <steven.naim googlemail.com>]
+
+ *) Fixed Win32 regression of stdout inheritance in apr_proc_create.
+ [William Rowe]
+
+Changes for APR 1.2.10
+
+ *) Solve WinNT inherited pipe leaks by mutexing apr_proc_create calls,
+ on WinNT (not WinCE, nor 9x) so that we toggle the inherited state
+ of the stdin/out/err pipes. All other file handles are treated as
+ not-inherited until apr_file_dup2'ed a std handle of this process,
+ or while they are used by apr_proc_create. [William Rowe]
+
+ *) Define the Mac OS/X filesystem_encoding as utf-8 (in previous
+ releases the interpretation would vary). [Erik Huelsmann
+ <ehuels gmail.com>]
+
+ *) Fix day of year (tm_day) calculation for July. The bug only affects
+ Windows builds. PR 42953. [Davi Arnaut]
+
+ *) Fix LFS detection when building over NFS. The mode must be
+ specified when O_CREAT is in the flags to open().
+ PR 42821. [Rainer Jung <rainer.jung kippdata.de>]
+
+ *) Avoid overwriting the hash_mutex table for applications that
+ incorrectly calls apr_atomic_init(). PR 42760. [Davi Arnaut]
+
+ *) Allow IPv6 connectivity test to fail, avoiding a potentially fatal
+ error. [Davi Arnaut]
+
+ *) The MinGW Windows headers effectively redefines WINADVAPI from
+ __stdcall to empty which results in a link failure when wincrypt.h
+ is placed after an include to apr_private.h.
+ PR 42293. [Curt Arnold]
+
+ *) Define SEM_FAILED if it isn't already defined, as the proc mutex
+ code already does it. Also search for the sem_open function in
+ the realtime library. (This fixes HP-UX sem_open detection).
+ [Davi Arnaut]
+
+ *) Define the _HPUX_SOURCE feature test macro to obtain maximum
+ functionality. Fixes broken sendfile with LFS support on HP-UX.
+ PR 42261. [Davi Arnaut]
+
+Changes for APR 1.2.9
+
+ *) Stop invoking the testshm* helpers upon 'make test' invocation.
+ [Kurt Miller <kurt intricatesoftware.com>]
+
+ *) Register a cleanup only if APR_FILE_NOCLEANUP was not flagged in
+ apr_file_mktemp. [Brian J. France <list firehawksystems.com>]
+
+ *) Numerous build fixes for non-GCC builds and GCC builds on Win32,
+ as well as WinCE builds. [Davi Arnaut <davi haxent.com.br>,
+ Curt Arnold <carnold apache.org>, John Mark Vandenberg,
+ Kouhei Sutou <kou cozmixng.org>, William Rowe]
+
+ *) Discard file buffers when running cleanups for exec.
+ PR 41119. [Davi Arnaut <davi haxent.com.br>, Bojan Smojver]
+
+ *) If apr_proc_create() fails to exec in the fork()ed child, call
+ _exit() not exit() to avoid running atexit()-registered functions
+ in the child. PR 30913. [Joe Orton]
+
+ *) Improve thread safety of assorted file_io functions.
+ PR 42400. [Davi Arnaut <davi haxent.com.br>]
+
+ *) Fix file pointer position calculation in apr_file_writev() on
+ buffered file. PR 40963. [Davi Arnaut <davi haxent.com.br>]
+
+ *) Fix formatting of unsigned integers larger than 2^63 in the
+ vformatter/apr_*printf. PR 42250.
+ [Wynn Wilkes <wynn bungeelabs.com>]
+
+ *) Fix possible EFAULT failures in apr_socket_sendfile() on 32-bit
+ Solaris with LFS enabled. PR 39463. [Joe Orton, Joseph Tam
+ <tam math.ubc.ca>]
+
+ *) Fix deadlock in apr_file_gets() for a file opened with both the
+ APR_BUFFERED and APR_XTHREAD flags. [Bojan Smojver, Joe Orton]
+
+Changes for APR 1.2.8
+
+ *) Correctly retrieve 'empty' environment values with apr_env_get
+ on Win32 (e.g. "VAR="), and added validation to testall suite.
+ PR 40764. [Issac Goldstand <margol beamartyr.net>]
+
+ *) APR_FIND_APR macro no longer checks /usr/local/apache2/.
+ PR 40842. [Colm MacCárthaigh]
+
+ *) Portably check for EEXIST in mktemp code. PR 40818
+ [Kenneth Golomb <KGolomb TradeCard.com>]
+
+ *) Fix apr_snprintf/apr_vsnprintf return value to not count the
+ NUL terminator in the overflow case. PR 39996.
+ [Michal Luczaj <regenrecht o2.pl>]
+
+ *) Provide folding in autogenerated .manifest files for Win32 builders
+ using VisualStudio 2005 [William Rowe]
+
+ *) Fix detection of pthread cross-process robust mutexes.
+ PR 39833. [Tsuyoshi SASAMOTO <nazonazo miobox.jp>]
+
+ *) NetBSD: Avoid leaving zombie process when using apr_signal()
+ to ignore SIGCHLD. PR 36750. [Todd Vierling <tv pobox.com>]
+
+ *) Fix apr_socket_sendv() for platforms without writev.
+ PR 38822. [Joe Orton]
+
+ *) Avoid issues using >2Gb of data per call with sendfile() on
+ 64-bit Linux platforms. [Joe Orton]
+
+Changes for APR 1.2.7
+
+ *) Netware - add missing apu_version.c parsing for apu_version_string()
+ to the Netware specific builds. Unix platforms support this API
+ since 0.9.1. [Brad Nicholes]
+
+ *) Fix a regression in the updated win32 apr_file_read with timeouts
+ since 1.2.6 which would fail to return the bytes read in specific
+ edge cases. [William Rowe]
+
+Changes for APR 1.2.6
+
+ *) Fully test the detected libuuid or libc based uuid_create or
+ uuid_generate function against the detected uuid.h, uuid/uuid.h,
+ or sys/uuid.h (using only the first-found .h examined in that order)
+ for correct compilation. Resolves various apr_os_uuid issues on
+ multiple environments. [William Rowe]
+
+ *) Prevent detection of robust mutex support with glibc 2.4,
+ fixing APR_LOCK_PROC_PTHREAD locks. PR 38442. [Joe Orton]
+
+ *) Correct bug in kqueue backend for apr_pollset where we would
+ erroneously indicate that a socket was readable or writeable.
+ [Garrett Rooney]
+
+ *) Make the filePtr in apr_file_t an apr_off_t on Unix, to avoid issues
+ truncating offsets down to 32 bits on large file systems.
+ [Garrett Rooney]
+
+ *) Fix seeks with files opened in xthread mode for append on win32.
+ [M Joonas Pihlaja <jpihlaja cc.helsinki.fi>, Garrett Rooney]
+
+ *) Keep testpipe.c from hanging on win32. [Garrett Rooney]
+
+ *) Cause apr_file_write_full on win32 to consider the timeout value set by
+ apr_file_pipe_timeout_set. PR 30182
+ [<eholyat olf.com>]
+
+ *) Fix assertion from double close of a handle with a rwlock on win32.
+ [Evgueni Brevnov <evgueni.brevnov gmail.com>]
+
+ *) Fix EOF handling for unbuffered reads on win32.
+ [Konstantin Sharenkov <Konstantin.Sharenkov enterra-inc.com>]
+
+ *) Documented that apr_stat and apr_dir_read can return APR_INCOMPLETE,
+ and how to determine which parts of the resulting apr_finfo_t can be
+ used in such a case.
+ [Garrett Rooney]
+
+ *) Fix passing "" as an argument to the program started by apr_proc_create
+ on Win32.
+ [Philip Martin <philip codematters.co.uk>
+
+ *) Bugfix for apr_pollset_poll() on systems that implement pollsets
+ using select(2): properly compute the number of signalled desciptors
+ when one or more of them are both readable and writable.
+ [Dror Shilo <Dror.Shilo ericom.com>, Gerry <gerry everythingsucks.co.uk>]
+
+ *) Fix apr_file_seek() to catch write failures when flushing
+ pending writes for a buffered file. [Joe Orton]
+
+Changes for APR 1.2.2
+
+ *) Fix crash in apr_dir_make_recursive() for relative path
+ when the working directory has been deleted. [Joe Orton]
+
+ *) Win32: fix apr_proc_mutex_trylock() to handle WAIT_TIMEOUT,
+ returning APR_EBUSY. [Ronen Mizrahi <ronen@tversity.com>]
+
+ *) Fix apr_socket_opt_set() issue where TCP_NODELAY would be
+ set when TCP_DEFER_ACCEPT was set. [Brian Pane]
+
+ *) Allow TCP_NODELAY and TCP_CORK to be set concurrently on
+ Linux 2.6 and later. [Joe Orton]
+
+ *) Fix apr_socket_addr_get(,APR_REMOTE,) after a non-blocking
+ connection is completed. PR 32737. [Joe Orton]
+
+ *) Fix apr_file_gets() and apr_file_read() to catch write failures
+ when flushing pending writes for a buffered file. [Joe Orton]
+
+ *) Fix apr_file_write() infinite loop on write failure for buffered
+ files. [Erik Huelsmann <ehuels gmail.com>]
+
+ *) Fix error handling where apr_uid_* and apr_gid_* could return
+ APR_SUCCESS in failure cases. PR 34053 continued. [Joe Orton]
+
+Changes for APR 1.2.1
+
+ *) Refactor Win32 condition variables code to address bugs 27654, 34336.
+ [Henry Jen <henryjen ztune.net>, E Holyat <eholyat yahoo.com>]
+
+Changes for APR 1.2.0
+
+ *) If getpwuid_r or getgrgid_r set their results to NULL, it is an error.
+ PR 34053. [Paul Querna]
+
+ *) Switch to lazy initialization of the pollset that's used within
+ apr_file_t on platforms where apr_wait_for_io_or_timeout() doesn't
+ use poll(2). (This fixes a performance problem observed in httpd-2.x
+ on OS X due to the use of poll now being disabled by default on that
+ platform.) [Brian Pane]
+
+ *) Fix Pollset corruption on Solaris 10. [Paul Querna]
+
+ *) Add %pt support to apr_snprintf() for printing an apr_os_thread_t
+ in hex format. [Jeff Trawick]
+
+ *) Support APR_SO_SNDBUF and APR_SO_RCVBUF on Windows. PR 32177.
+ [Sim <sgobbi datamanagement.it>, Jeff Trawick]
+
+ *) Fix apr_table_overlap()'s handling of tables allocated from
+ different pools. [Joe Schaefer <joe+gmane sunstarsys.com>]
+
+ *) Add support for uuid_generate on OS X 10.4. [Paul Querna]
+
+ *) Include the C preprocessor flags in --cflags for pkg-config.
+ [Paul Querna]
+
+ *) Fix issue with poll() followed by net I/O yielding EAGAIN on
+ Mac OS 10.4 (Darwin 8). [Wilfredo Sanchez]
+
+Changes for APR 1.1.1
+
+ *) Disable sendfile support for S/390 only in kernel versions < 2.4.0.
+ [Joe Orton]
+
+ *) Fix posix rwlock detection on Darwin. [Aaron Bannert]
+
+ *) Build fix for Multicast support on HP-UX 11.00 and Tru64 [Joe Orton]
+
+ *) Fix libapr.rc for Win32 builds [William Rowe]
+
+ *) Rewrite apr_file_writev_full using apr_file_write_full. [Paul Querna]
+
+ *) Use APR_RING_CONCAT for moving dead list in KQueue, sys_epoll, and
+ Event Ports. [Paul Querna]
+
+ *) find_apr.m4: Try installed APR before bundled copy if --with-apr not
+ passed to configure. [Justin Erenkrantz]
+
+Changes for APR 1.1.0
+
+ *) Added apr_procattr_user_set and apr_procattr_group_set
+ setting the user and group for new processes. [Mladen Turk]
+
+ *) Add APR Multicast functions; including support for
+ Source-Specific Multicast from Colm MacCárthaigh. [Paul Querna]
+
+ *) Add a build script to create a solaris package. [Graham Leggett]
+
+ *) Add support for APR_TCP_DEFER_ACCEPT. [Paul Querna]
+
+ *) Rename the apr_file_permissions macros (APR_UREAD, APR_UWRITE etc.)
+ to have prefix APR_FPROT_ (old names kept for compatibility).
+ [Stas Bekman]
+
+ *) Emit the run-time link path option in apr-config after installation
+ if the user is linking with libtool. [Justin Erenkrantz]
+
+ *) Add apr_file_writev_full to ensure an entire iovec is writen to a file.
+ [Paul Querna]
+
+ *) Remove the runtime test for Sendfile versions on FreeBSD. PR 25718.
+ [Mike Silbersack <silby silby.com>, Paul Querna]
+
+ *) Rename the apr_file_open macros (APR_READ, APR_WRITE, etc.) to
+ have prefix APR_FOPEN_ (old names kept for compatibility).
+ [Stas Bekman]
+
+ *) Added apr_os_uuid_get() support for Linux via libuuid and for modern
+ BSDs which have uuid_create as part of their libc. [Paul Querna]
+
+ *) Added Solaris 10 'Event Ports' as a backend for APR Pollset. This
+ backend also supports the APR_POLLSET_THREADSAFE flag. [Paul Querna]
+
+ *) Added the APR_POLLSET_THREADSAFE flag. This allows multiple threads
+ to call the Pollset Add or Remove functions in a thread safe manner.
+ Currently only EPoll and KQueue support this flag. [Paul Querna]
+
+ *) Split poll/unix/poll.c into separate files for each Poll or Pollset
+ implementation. [Paul Querna]
+
+ *) Rewrite apr_file_printf to handle arbitrary length strings.
+ PR 28029. [Chris Knight <Christopher.D.Knight nasa.gov>,
+ Garrett Rooney <rooneg electricjellyfish.net>]
+
+Changes for APR 1.0.2
+
+ *) [NetWare] Fixed some type mismatches in threadproc/netware/proc.c and
+ locks/netware/thread_mutex.c that prevented APR from building with the
+ latest release of the LibC SDK. [Brad Nicholes]
+
+Changes for APR 1.0.1
+
+ *) apr_password_get(): Fix the check for buffer overflow. [Jeff Trawick]
+
+ *) Fix HUP return codes in pollset when using KQueue.
+ [Paul Querna]
+
+ *) Prevent unbounded memory use during repeated operations on a hash table.
+ [Julian Foad <julianfoad btopenworld.com>
+
+ *) Moved repository to SVN
+ [Hackathon]
+
+ *) jlibtool: Ignore '-export-symbols-regexp' option.
+ [Justin Erenkrantz]
+
+ *) fix apr_file_dup and apr_file_dup2 win32 implementations
+ to create a mutex [Steve Hay <steve.hay uk.radan.com>]
+
+ *) Makes the threads to behave like on posix. If the thread is created
+ without APR_DETACH expect that the thread_join will be called, so don't
+ close the handle in advance, if the thread has already finished.
+ [Mladen Turk]
+
+ *) The apr/test/Makefile.win is missing a target to build a
+ readchild.exe that test is depending on but is never built.
+ [Mladen Turk]
+
+ *) Improve apr_file_gets() performance on buffered files. [Justin Erenkrantz]
+
+ *) Win32: Fix bug in apr_socket_sendfile that interferred with
+ Win32 LSPs. PR 23982 [Jan Bilek, Bill Stoddard]
+
+ *) Win32: Fix bug tracking the file pointer on a file opened for
+ overlapped/APR_XTHREAD io. [Bill Stoddard]
+
+Changes with APR 1.0
+
+ *) Only install apr-$MAJOR-config and add appropriate detection code to
+ find_apr.m4 (APR_FIND_APR). [Max Bowsher <maxb ukf.net>]
+
+ *) Remove APR_STATUS_IS_SUCCESS() macro. [Justin Erenkrantz]
+
+ *) apr_proc_create() on Unix: Remove unnecessary check for read
+ access to the working directory of the child process.
+ PR 30137. [Jeremy Chadwick <apache jdc.parodius.com>]
+
+ *) Add jlibtool - enabled with '--enable-experimental-libtool' option.
+ [Justin Erenkrantz]
+
+ *) Add support for KQueue and sys_epoll to apr_pollset. [Paul Querna]
+
+ *) Support threading on FreeBSD 5.x where kern.osreldate >= 502102.
+ [Craig Rodrigues <rodrigc crodrigues.org>]
+
+ *) Add an RPM spec file derived from Fedora Core.
+ [Graham Leggett, Joe Orton]
+
+ *) Fix apr_threadattr_detach_set() on Mac OS X. PR 28472.
+ [INOUE Seiichiro <inoue ariel-networks.com>]
+
+ *) Change default inter-process locking mechanisms: POSIX semaphores
+ and pthread cross-process mutexes are not used by default; on
+ Solaris, fcntl locks are used by default. [Joe Orton]
+
+ *) Add apr_threadattr_guardsize_set() for overriding the default stack
+ guard area size for created created by apr_thread_create().
+ [Joe Orton]
+
+ *) Add apr_shm_remove() function for removing a named shared
+ memory segment. [Amit Athavale <amit_athavale persistent.co.in>]
+
+ *) Add apr_strtoff() function for converting numeric strings into
+ apr_off_t values. [André Malo <nd perlig.de>, Joe Orton]
+
+ *) Fix stack overflow with IPv6 apr_socket_accept() on Win32.
+ PR 28471. [inoue <inoue ariel-networks.com>]
+
+ *) Add new functions apr_signal_block, apr_signal_unblock to block/unblock
+ the delivery of a particular signal. [Madhusudan Mathihalli]
+
+ *) Add support for developers to use their own hashing function with
+ apr_hash_make_custom. [Ami Ganguli <hse_ami yahoo.co.uk>]
+
+ *) Support "large files" by default on 32-bit Unix platforms which
+ implement the LFS standard. [Joe Orton]
+
+ *) Add apr_threadattr_stacksize_set() for overriding the default
+ stack size for threads created by apr_thread_create().
+ [Jeff Trawick]
+
+ *) The whole codebase was relicensed and is now available under
+ the Apache License, Version 2.0 (http://www.apache.org/licenses).
+ [Apache Software Foundation]
+
+ *) Switch to a single, top-level make. [Greg Stein]
+
+ *) new error status APR_STATUS_IS_ENOTENOUGHENTROPY, Doxygen fixes
+ [Sander Temme <sander at temme dot net]
+
+ *) Add apr_socket_type_get() for retrieving the type (e.g., stream)
+ of the socket. [Philippe M. Chiasson]
+
+ *) Removed deprecated interface apr_proc_other_child_check()
+ that behaved differently between win32 and unix.
+ The unix behavor is now accomplished with
+ apr_proc_other_child_refresh_all(APR_OC_REASON_RESTART)
+ The win32 behavor is now accomplished with
+ apr_proc_other_child_refresh_all(APR_OC_REASON_RUNNING)
+
+ *) Removed apr_socket_opt_{get|set}(..., APR_SO_TIMEOUT) which
+ was deprecated in favor of apr_socket_timeout_{get|set}().
+
+ *) Change i386 FreeBSD to use the asm routines in apr_atomic.h
+ to overcome issues with the FreeBSD atomic functions return
+ type on i386. [David Reid]
+
+ *) Added new versions of the apr_atomic functions for
+ use with 32-bit ints [Brian Pane]
+
+ *) The following deprecated interfaces have been removed:
+
+ apr_accept -> apr_socket_accept
+ apr_allocator_get_mutex -> apr_allocator_mutex_get
+ apr_allocator_get_owner -> apr_allocator_owner_get
+ apr_allocator_set_max_free -> apr_allocator_max_free_set
+ apr_allocator_set_mutex -> apr_allocator_mutex_set
+ apr_allocator_set_owner -> apr_allocator_owner_set
+ apr_atomic_add -> apr_atomic_add32
+ apr_atomic_cas -> apr_atomic_cas32
+ apr_atomic_dec -> apr_atomic_dec32
+ apr_atomic_inc -> apr_atomic_inc32
+ apr_atomic_read -> apr_atomic_read32
+ apr_atomic_set -> apr_atomic_set32
+ apr_bind -> apr_socket_bind
+ apr_compare_groups -> apr_gid_compare
+ apr_compare_users -> apr_uid_compare
+ apr_connect -> apr_socket_connect
+ apr_current_userid -> apr_uid_current
+ apr_explode_localtime -> apr_time_exp_lt
+ apr_explode_time -> apr_time_exp_tz
+ apr_filename_of_pathname -> apr_filepath_name_get
+ apr_file_set_inherit -> apr_file_inherit_set
+ apr_file_unset_inherit -> apr_file_inherit_unset
+ apr_getsocketopt -> apr_socket_opt_get
+ apr_get_groupid -> apr_gid_get
+ apr_get_groupname -> apr_gid_name_get
+ apr_get_home_directory -> apr_uid_homepath_get
+ apr_get_userid -> apr_uid_get
+ apr_get_username -> apr_uid_name_get
+ apr_group_name_get -> apr_gid_name_get
+ apr_implode_gmt -> apr_time_exp_gmt_get
+ apr_is_fnmatch -> apr_fnmatch_test
+ apr_listen -> apr_socket_listen
+ apr_lstat -> apr_stat
+ apr_pool_get_abort -> apr_pool_abort_get
+ apr_pool_get_parent -> apr_pool_parent_get
+ apr_pool_set_abort -> apr_pool_abort_set
+ apr_pool_sub_make -> apr_pool_create_ex
+ apr_proc_other_child_read -> apr_proc_other_child_alert
+ apr_recv -> apr_socket_recv
+ apr_recvfrom -> apr_socket_recvfrom
+ apr_send -> apr_socket_send
+ apr_sendfile -> apr_socket_sendfile
+ apr_sendto -> apr_socket_sendto
+ apr_sendv -> apr_socket_sendv
+ apr_setsocketopt -> apr_socket_opt_set
+ apr_shutdown -> apr_socket_shutdown
+ apr_signal_get_description -> apr_signal_description_get
+ apr_sockaddr_ip_set -> apr_sockaddr_info_get
+ apr_sockaddr_port_get -> (access directly)
+ apr_sockaddr_port_set -> apr_sockaddr_info_get
+ apr_socket_create_ex -> apr_socket_create
+ apr_socket_set_inherit -> apr_socket_inherit_set
+ apr_socket_unset_inherit -> apr_socket_inherit_unset
+ FNM_NOMATCH -> APR_FNM_NOMATCH
+ FNM_NOESCAPE -> APR_FNM_NOESCAPE
+ FNM_PATHNAME -> APR_FNM_PATHNAME
+ FNM_PERIOD -> APR_FNM_PERIOD
+ FNM_CASE_BLIND -> APR_FNM_CASE_BLIND
+ MAX_SECONDS_TO_LINGER -> APR_MAX_SECONDS_TO_LINGER
+
+ The following interfaces have function argument changes:
+
+ apr_mmap_dup
+ apr_socket_create
+
+ The following header files have been removed:
+
+ apr_compat.h
+
+Changes with APR 0.9.5
+
+ *) Fix apr_snprintf() to respect precision for small floating point
+ numbers. PR 29621. [Artur Zaprzala <zybi talex.pl>]
+
+ *) Add command type APR_SHELLCMD_ENV for creating a process
+ which is started by the shell and which inherits the parent's
+ environment variables. [Jeff Trawick]
+
+ *) Don't try to enable run-time linking on AIX < 4.2, as this
+ results in invalid linker options being used. PR 29170.
+ [Jeff Trawick]
+
+ *) Don't assume getnameinfo() can handle IPv4-mapped IPv6 addresses
+ on any platforms.
+ [Jeff Trawick, Joe Orton, Colm MacCárthaigh <colm stdlib.net>]
+
+ *) Support setuid, setgid and sticky file permissions bits on Unix.
+ [André Malo]
+
+ *) Fix sign error in apr_file_seek(APR_END).
+ [Greg Hudson <ghudson MIT.EDU>]
+
+ *) Provide workaround for socklen_t declaration problem with 64-bit
+ build on HP-UX. Stop setting a PA-RISC-specific compile option
+ on ia64. Look for -mt thread option, which is used with HP-UX
+ vendor compiler on ia64. [Jeff Trawick, based on idea from
+ Madhusudan Mathihalli]
+
+ *) Return an error instead of silently failing when apr_poll() is
+ used with file descriptors >= FD_SETSIZE. (Unix systems with
+ no native poll()) [Jeff Trawick, Brad Nicholes]
+
+ *) Fix handling of negative numbers in apr_strtoi64() on platforms
+ without strtoll. [Joe Orton]
+
+ *) Fix printing apr_int64_t values smaller than LONG_MIN on 32-bit
+ platforms in apr_vformatter. [Joe Orton]
+
+ *) Fix apr_socket_opt_set with APR_IPV6_V6ONLY flag. Fixes httpd
+ Listen IPv6 socket behavior on FreeBSD 5.x, OpenBSD, NetBSD.
+ [Justin Erenkrantz]
+
+ *) Fix apr_time_exp_get() for dates in 2038.
+ [Philip Martin <philip codematters.co.uk>]
+
+ *) Add APR_LARGEFILE flag to allow opening files with the
+ O_LARGEFILE flag; not recommended for general use, see
+ include/apr_file_io.h. [Joe Orton]
+
+ *) Various build fixes: thread_rwlock.c on some Solaris platforms
+ (PR 22990); filestat.c on ReliantUnix (PR 22990); config.status
+ on IRIX (PR 19251). [Various]
+
+ *) Use NI_NAMEREQD instead of NI_NUMERICHOST in
+ APR_CHECK_GETNAMEINFO_IPV4_MAPPED. PR 24469. [Justin Erenkrantz]
+
+ *) Ensure that apr_sockaddr_info_get() does not return anything
+ other than AF_INET and AF_INET6 addresses. [Joe Orton]
+
+ *) Clarify that apr_dir_read() does not guarantee order of returned
+ entries as previously claimed. [Joe Orton]
+
+ *) The whole codebase was relicensed and is now available under
+ the Apache License, Version 2.0 (http://www.apache.org/licenses).
+ [Apache Software Foundation]
+
+ *) Define apr_off_t as long rather than as off_t on platforms with a
+ 32-bit off_t to prevent incompatibility with packages such as
+ Perl which redefine the size of off_t via _FILE_OFFSET_BITS on
+ some platforms. [Ben Reser <ben reser.org>]
+
+ *) apr_socket_connect(): allow app to make subsequent call on
+ non-blocking socket. [Jeff Trawick]
+
+ *) Add apr_os_pipe_put_ex(), which allows the caller to tell APR
+ to establish a cleanup on the pipe. [Jeff Trawick, Brad Nicholes]
+
+ *) Fix make_exports.awk to work with apr-iconv. [Justin Erenkrantz]
+
+Changes with APR 0.9.4
+
+ *) win32: fix apr_file_dup() and apr_file_dup2() to dup the
+ ungetchar member [Stas Bekman]
+
+ *) Preserve leading '../' segments as when merging to an empty and
+ unrooted path - fixes a bug observed in SVN with Win32/Netware/OS2.
+ [Mike Pilato <cmpilato collab.net>, William Rowe]
+
+ *) Work around a bug in Darwin when calling getnameinfo() on IPv4-mapped
+ IPv6-addresses. [Colm MacCárthaigh <colm stdlib.net>, Jeff Trawick,
+ Justin Erenkrantz]
+
+ *) Add apr_temp_dir_get() for getting the most suitable temp directory
+ [Mike Pilato <cmpilato collab.net>, Thom May]
+
+ *) Modify apr_sockaddr_info_get to call the resolver when we
+ do not have a hostname. Also, fix bugs in the getaddrinfo()
+ implementation.
+ [Colm MacCárthaigh <colm stdlib.net>, Justin Erenkrantz]
+
+ *) Change the behavior of unix process 'trylock's to return
+ APR_ENOTIMPL instead of segfaulting, consistent with the
+ other lock implementations. [William Rowe]
+
+ *) Fix a subtle race where the ownership of a unix nested
+ thread lock could be corrupted when the prior owner released
+ the lock with another thread waiting on the same lock.
+ [William Rowe]
+
+ *) apr_socket_data_set(): allow the same key to be used for
+ multiple sockets in the same pool. [Jeff Trawick]
+
+ *) Add new table function apr_table_compress() and replace
+ red-black trees with mergesort in apr_table_overlap()
+ [Joe Schaefer <joe+gmane sunstarsys.com>, Brian Pane]
+
+ *) Win32: Adopt Brian Havard's OS/2 rwlock implementation for
+ Windows [Marc Adkins, Bill Stoddard]
+
+ *) Add apr_proc_mutex_lockfile() for retrieving the name of the
+ file associated with a mutex. [Jeff Trawick]
+
+ *) Don't require the lock file name to be passed into
+ apr_proc_mutex_child_init() or apr_global_mutex_child_init().
+ This allows child init to work when the lock file was a temp
+ file created by APR. (The problem only occurred with flock-
+ based mutexes.) [Jeff Trawick]
+
+ *) When using a temporary file for flock- and fcntl-based mutexes,
+ don't let the file be deleted on close. For flock-based mutexes,
+ this corrects a fatal problem, since the file would disappear
+ when a program was spawned and cleanup-for-exec was performed,
+ and a subsequent attempt to perform child process mutex
+ initialization would fail. For fcntl-based mutexes, this was a
+ very minor issue that resulted in a failing unlink() when the
+ file was closed, since fcntl lock initialization always removes
+ the file immediately. [Jeff Trawick]
+
+ *) When writing to pipes with a timeout set, handle the situation
+ where the kernel says the pipe is writable but an attempt to
+ write <= PIPE_BUF bytes gets EAGAIN. APR will now write whatever
+ data will fit. APR applications that relied on the atomic nature
+ of relatively small pipe write requests may be affected.
+ PR 20295 [Mark Street <mark faime.demon.co.uk>, Jeff Trawick]
+
+ *) Define _THREAD_SAFE for all compilations on AIX. Previously
+ those of us who used the vendor compiler had it defined
+ implicitly and others did not. The difference became obvious
+ with the recent thread safety fixes to apr_password_validate().
+ PR 20420 [Jeff Trawick]
+
+ *) For apr_proc_detach(APR_PROC_DETACH_FOREGROUND), don't treat
+ a setsid() failure as fatal, as the usual cause is that the
+ caller is already a process group leader. PR 18519
+ [Jeff Trawick]
+
+ *) Fix some problems with non-blocking socket handling on unix
+ that resulted in infinite timeouts being used for non-blocking
+ sockets with apr_socket_connect() and some read/write calls.
+ [Jeff Trawick]
+
+ *) Fix a bug in socket timeout handling on unix that left the
+ socket non-blocking after disabling the timeout.
+ [Jacob Craig Lewallen <jlewalle cs.ucr.edu>]
+
+ *) Added flag APR_FILE_ATTR_HIDDEN for manipulating the "hidden"
+ file attribute on Windows and OS/2. [Branko Čibej]
+
+ *) SECURITY [CAN-2003-0245]: Fixed a bug that could be triggered
+ remotely through mod_dav and possibly other mechanisms, causing
+ an Apache child process to crash. The crash was first reported
+ by David Endler <DEndler iDefense.com> and was researched and
+ fixed by Joe Orton <jorton redhat.com>. Details will be released
+ on 30 May 2003.
+
+ *) apr_proc_wait(): Handle interrupted waitpid(2) calls by calling
+ it repeatedly until it succeeds or fails with errno other than
+ EINTR. This hides this UNIX-specific behavior from APR clients.
+
+ *) Removed the solaris-specific atomic code, due to licence
+ concerns (it was MPL 1.0, and the author could not be contacted)
+ [Ian Holsman]
+
+ *) apr_file_gets(): Return APR_SUCCESS if any characters are
+ returned. Any I/O errors or EOF will be reported on the
+ next call. Callers that are coded to expect returned
+ data + APR_EOF when there is no final newline are affected
+ by this change. [Jeff Trawick]
+
+ *) apr_proc_create() on Unix: Make the APR_SHELLCMD mode work
+ when there is more than one program argument passed in.
+ [Jeff Trawick]
+
+ *) Add --cc and --cpp flags to apr-config. [Jeff Trawick]
+
+ *) Don't segfault trying to close a file in error paths of flock
+ and fcntl mutex creation. PR 19036 [Jeff Trawick]
+
+ *) Add %pT support to apr_snprintf() for printing an apr_os_thread_t.
+ [Jeff Trawick]
+
+ *) Add APR_TCP_NODELAY_INHERITED & APR_O_NONBLOCK_INHERITED to apr.hw
+ [Allan Edwards]
+
+ *) Add APR_UINT64_T_HEX_FMT. [Jeff Trawick]
+
+ *) Add parameter to APR_SUBDIR_CONFIG to drop options passed to configure
+ before the subdir's configure is invoked.
+ [Jeff Trawick, Justin Erenkrantz]
+
+ *) Implement APR_SO_RCVBUF socket option on Unix.
+ [Adam Sussman <myddryn vishnu.vidya.com>]
+
+ *) Don't add the math library (-lm) if the modf() function
+ is already available via libc. [Roy Fielding]
+
+ *) Solaris cc: Don't use the -mt option for threaded builds. That
+ is for non-Posix threading, and the use of it prevented us from
+ linking with -lpthread, which in turn caused weird problems for
+ APR applications. [Kristofer Spinka <kspinka style.net>]
+
+ *) OS/2: apr_stat() fixes - When a character device is stat'ed,
+ fill in finfo.name if it was asked for. Return APR_INCOMPLETE
+ when appropriate. Addresses httpd incident [CAN-2003-0134].
+ [Brian Havard]
+
+Changes with APR 0.9.3
+
+ *) Don't enable posixsem, at build time, on systems where sem_t *
+ won't "fit" into an int (sizeof-wise). Also, better error handling
+ when we fail to create a posixsem. PR 17186 [Scott Herod
+ <sherod pillardata.com>, Jim Jagielski]
+
+ *) Default hpux 10.x to disable threading, since if it exists at all
+ the pthread implementation should not be trusted, while hpux 10
+ had its own threads implementation that is no longer supported.
+ PR 9457 [William Rowe]
+
+ *) Fix error in apr-config when symlinks are involved.
+ [Garrett Rooney <rooneg electricjellyfish.net>]
+
+Changes with APR 0.9.2
+
+ *) Numerous bug fixes for file and socket inheritence by child
+ processes on Unix, correcting bugs that affected the correct
+ behavior of apr_[file|socket]_inherit_[un]set() API.
+ [Bjoern A. Zeeb <bz zabbadoz.net>, William Rowe, Joe Orton]
+
+ *) Define APR_UINT64_T_FMT and APR_UINT64_T_FMT_LEN.
+ Define APR_INT64_T_FMT_LEN on Windows and Netware. [Branko Čibej]
+
+ *) Correct apr_file_gets() on OS2 and Win32 so that '\r's are no longer
+ eaten, and apr_file_gets() -> apr_file_puts() moves the contents
+ uncorrupted. [William Rowe]
+
+ *) Alter Win32's handling of the apr_proc_t hproc member, so that we
+ close that system handle wherever an apr function would invoke the
+ final waitpid() against a zombie process on Unix. [William Rowe]
+
+ *) APR_MAX_SECONDS_TO_LINGER and APR_FNM_* #defines replace their
+ old undecorated names (missing APR_ prefix). The old names will
+ disappear with APR 1.0.0.
+ [Craig Rodrigues <rodrigc@attbi.com>, William Rowe]
+
+
+ *) When generating a semaphore name for posixsem locking, try to
+ be a little more robust (and unique). [Jim Jagielski]
+
+ *) Add functions apr_env_get, apr_env_set and apr_env_delete for
+ manipulating the environment. [Branko Čibej]
+
+ *) Fix APR_LAYOUT to work with layout files with no preceding blank lines
+ and emit errors when layout is not found. PR 15679.
+ [Justin Erenkrantz]
+
+ *) Add functions apr_filepath_list_split and apr_filepath_list_merge
+ for managing search paths. [Branko Čibej]
+
+ *) Introduce Release mode debugging symbols for Win32 builds of apr.
+ All library builds gain /Zi for debug symbols (which are discarded
+ at link time if some flavor of the /debug flag isn't passed to link)
+ and .dll builds gain .pdb symbols. [Allen Edwards, William Rowe]
+
+ *) Add two new proc attributes to improve diagnostics for
+ apr_proc_create() failures on platforms where fork()+exec() is used.
+ See the doc for apr_procattr_child_errfn_set() and
+ apr_procattr_error_check_set(). [Jeff Trawick]
+
+ *) Rename rules.mk to apr_rules.mk and make apr_rules.mk be installed.
+ [Thom May]
+
+ *) Fix a bug in apr_proc_create() that could cause a new child process
+ to run the parent's code if setrlimit() fails. [Jeff Trawick]
+
+ *) Disable apr_socket_sendfile() on 64-bit AIX to avoid an apparent
+ system problem. PR 11408. [Jeff Trawick]
+
+ *) Add --includedir flag to apr-config. [Justin Erenkrantz]
+
+ *) Only include sys/syslimits.h if we don't have limits.h
+ [Craig Rodrigues <rodrigc@attbi.com>, Garrett Rooney
+ <rooneg@electricjellyfish.net>, Thom May]
+
+ *) Allow apr-config to work in symlinked install directories when
+ 'realpath' is available. [Justin Erenkrantz]
+
+ *) Namespace protect the header files in include/arch
+ [Thom May]
+
+ *) Add function apr_filepath_encoding and associated constants.
+ [Branko Čibej]
+
+ *) Allow apr_hash to have greater than int number of elements.
+ [Justin Erenkrantz]
+
+ *) Allow generation of dependencies by non-GCC compilers.
+ [Justin Erenkrantz]
+
+ *) Prevent obscenely large values of precision in apr_vformatter
+ from clobbering a buffer. [Sander Striker, Jim Jagielski]
+
+ *) limit the renames performed in apr_rename.pl to the most recent renames.
+ [Thom May]
+
+ *) Changed apr_mmap_dup() and friends so that there's no longer any
+ is_owner concept on the mmaped region, but rather something more
+ along the lines of a reference count. This allows the old apr_mmap_t
+ to still be used safely when the new apr_mmap_t is in a disjoint pool.
+ [Cliff Woolley, Sander Striker]
+
+ *) Fix a bug in apr_hash_merge() which caused the last entry in the
+ overlay hash to be lost. PR 10522 [Jeff Trawick]
+
+ *) Add DougM's apr_rename.pl script into helpers, and update for the new
+ batch of updates [Thom May]
+
+ *) Renames done (deprecated functions wrapped):
+ apr_filename_of_pathname -> apr_filepath_name_get
+ apr_get_groupid -> apr_gid_get
+ apr_get_groupname -> apr_gid_name_get
+ apr_compare_groups -> apr_gid_compare
+ apr_parse_addr_port -> apr_port_addr_parse
+ apr_shutdown -> apr_socket_shutdown
+ apr_bind -> apr_socket_bind
+ apr_listen -> apr_socket_listen
+ apr_accept -> apr_socket_accept
+ apr_connect -> apr_socket_connect
+ apr_send -> apr_socket_send
+ apr_sendv -> apr_socket_sendv
+ apr_sendto -> apr_socket_sendto
+ apr_implode_gmt -> apr_time_exp_gmt_get
+ apr_get_home_directory -> apr_uid_homepath_get
+ apr_get_userid -> apr_uid_get
+ apr_current_userid -> apr_uid_current
+ apr_compare_users -> apr_uid_compare
+ apr_get_username -> apr_uid_name_get
+ apr_recvfrom -> apr_socket_recvfrom
+ apr_sendfile -> apr_socket_sendfile
+ apr_recv -> apr_socket_recv
+ [Thom May]
+
+ *) Add APR_IPV6_V6ONLY socket option. [Jeff Trawick]
+
+ *) Update timeout algorithm in free_proc_chain. If a subprocess
+ did not exit immediately, the thread would sleep for 3 seconds
+ before checking the subprocess exit status again. In a very
+ common case when the subprocess was an HTTP server CGI script,
+ the CGI script actually exited a fraction of a second into the 3
+ second sleep, which effectively limited the server to serving one
+ CGI request every 3 seconds across a persistent connection.
+ [Bill Stoddard, Kai.Risku@arrak.fi]
+
+ *) Update doxygen tags. [Justin Erenkrantz]
+
+ *) NetWare: implemented a file IO path context scheme to directly
+ reference directory paths and files in the file system rather
+ than having to traverse the file system on every stat() or
+ open() call. (Performance enhancement) [Brad Nicholes]
+
+ *) ReliantUnix: recognize that dlsym() is in libdl and dlopen() is in
+ libc. The check is generic so maybe this fixes some other system.
+ PR 14189 [Jeff Trawick]
+
+ *) Win32: Fix APR_APPEND file i/o. [Bill Stoddard]
+
+ *) Fix a problem retrieving the remote socket address for sockets
+ created via apr_os_sock_put() or apr_os_sock_make(). [Jeff Trawick]
+
+ *) Add recognition of and socket API support for the SCTP protocol.
+ [Randall Stewart <randall@stewart.chicago.il.us>]
+
+ *) Win32: apr_shutdown was not honoring apr_shutdown_how_e and
+ always shutting down the socket for read. This could result
+ in Apache HTTPD 2.0 clients getting early connection closures
+ because lingering_close() was broken. [Bill Stoddard, Allan Edwards]
+
+ *) Add apr_atomic_casptr() to support atomic compare-and-swap
+ of pointers [Brian Pane]
+
+ *) Add apr_socket_create_ex() to allow protocol to be specified for the
+ socket. With APR 1.0, this function will be removed and apr_socket_create()
+ will have the additional parameter.
+ [Randall Stewart <randall@stewart.chicago.il.us>]
+
+ *) Fix the detection of INT64_C() when defined in <stdint.h>.
+ [Joe Orton <joe@manyfish.co.uk>]
+
+ *) Don't use whitespace before preprocessor directives in the configure
+ logic. Such whitespace breaks with some older preprocessors; a
+ particularly nasty break occurs on Tru64 4.0f where APR_CHECK_DEFINE
+ will always succeed. [Joe Orton <joe@manyfish.co.uk>]
+
+ *) Add APR_IPV4_ADDR_OK flag to apr_sockaddr_info_get() to allow
+ apps to avoid lookup of IPv6 address if IPv4 address is sufficient.
+ (New APR_IPV6_ADDR_OK flag is similar.) [Jeff Trawick]
+
+ *) Disable IPv6 support on Darwin. The current IPv6 support has a
+ problem in getnameinfo() which breaks certain applications.
+ [Sander Temme <sctemme@covalent.net>, Jeff Trawick]
+
+ *) Support for SCO OpenServer Release 5 [Kean Johnston <jkj@caldera.com>]
+
+ *) Faster (inline and mutex-free) implementations of all apr_atomic
+ operations for Linux/x86 (requires a 486 or later; to enable,
+ configure APR with --enable-nonportable-atomics=yes ) [Brian Pane]
+
+ *) Add --bindir option to apr-config. [Justin Erenkrantz]
+
+ *) Begin to rehash the test suite. There is now a new test program called
+ testall. This program currently runs testtime and teststr with the
+ CuTest framework. The stand-alone programs for testtime and teststr
+ can be built, but only if a special flag is specified when building.
+ [Ryan Bloom]
+
+ *) Fix a broken check for a failure to read from the random device file.
+ PR 12615 [tenthumbs@cybernex.net]
+
+ *) Print informative link errors on Darwin. [Justin Erenkrantz]
+
+Changes with APR 0.9.1
+
+ *) Fixed usage of alloca in apr_poll() on Tru64
+ [Dave Hill <ddhill@zk3.dec.com>]
+
+ *) Running "make check" in the toplevel directory or the test/ directory
+ will build and run all test programs. [Aaron Bannert]
+
+ *) Add apr_array_pop(). [Justin Erenkrantz]
+
+ *) Fixed the native SPARC v8plus version of apr_atomic_dec
+ to match the semantics of the default C version [Brian Pane]
+
+Changes with APR 0.9.0
+
+ *) If the length argument to apr_snprintf is 0, then we should return the
+ length that the string would be if we actually were going to fill it out.
+ However, if the length argument is 0, we can also accept a NULL string.
+ Also, added a test case for this. [Ryan Bloom]
+
+ *) Printing a string with apr_snprintf can seg fault, if a precision is
+ specified for the string, and the string being printed doesn't have a
+ trailing '\0'. Fix that seg fault by not calling strlen if a precision
+ is specified when printing a string. Also add a test to the test suite
+ for this case.
+ [R Samuel Klatchko <rsk@brightmail.com>]
+
+ *) handle leak related to threads on Windows2000/XP
+ [INOUE Seiichiro <inoue@ariel-networks.com>]
+
+ *) Includes moved to INCLUDEDIR/apr-{major} (e.g. /usr/include/apr-0)
+ [Greg Stein]
+
+ *) libtool versioning is used to give the library sonames a real
+ value. The libraries will be libapr-{major}.so.0.{minor}.{patch}
+ [Greg Stein]
+
+ *) Fix apr_tokenize_to_argv() to remove the escape character
+ (backslash) from the argument tokens. PR 11793 [Paul J. Reder]
+
+ *) Add APR_PARSE_ARGUMENTS and APR_LAYOUT macros for better layout
+ support. [Thom May]
+
+ *) Add parallel-apr layout which utilizes the major version number in
+ directories and library names. [Justin Erenkrantz]
+
+ *) Add a version number to the library name (e.g. libapr-1.so) so
+ that apps can do things like: -lapr-1 or -lapr-2, depending on
+ which version they want to use and link against. [Greg Stein]
+
+ *) Add --version to apr-config so that apps can retrieve the version
+ information of the (installed) APR. [Greg Stein]
+
+ *) Remove the APRVARS system; apps should use apr-config. [Greg Stein]
+
+ *) EBCDIC: fix compile failure in strings/apr_strings.c in
+ httpd-2.0.40 with the following error message:
+ CANNOT COMPILE apr_strtoi64(), only ASCII and EBCDIC supported
+
+ *) In apr_signal_thread() remove synchronous signals from the mask
+ passed to sigwait(). It is never valid for them to be there.
+ Some platforms silently ignore them, some return EINVAL, some
+ don't process it as desired. [Jeff Trawick]
+
+ *) Change config.nice generation to always expand variables.
+ [Justin Erenkrantz]
+
+ *) Renamed apr_strtoll()/apr_atoll() to follow int64 convention,
+ so these new helpers are apr_strtoi64/apr_atoi64(), since
+ 'll' (long long) is a nonportable and aspecific construct.
+ Used ac/m4 tests to choose the appropriate fn behind strtoi64.
+ [William Rowe]
+
+ *) don't perform a strlen on that name value without checking for NULL
+ first (in getopt)
+ [David Waite <mass@akuma.org>, Ian Holsman]
+
+ *) Added apr_strtoll() and apr_atoll() to strings lib.
+ [Shantonu Sen <ssen@apple.com>, Wilfredo Sanchez]
+
+ *) Added a lightweight internal index to apr_table_t to speed up
+ table lookup operations [Brian Pane]
+
+ *) initalize handle members to invalid before calling createprocess
+ on win32 [Rob Saccoccio <robs@fastcgi.com>]
+
+ *) Removed apr/i18n to apr-util/xlate for inclusion of apr-iconv
+ as required by missing libiconv. [William Rowe]
+
+ *) Removed apr/md5 and apr/uuid into apr-util/crypto. [William Rowe]
+
+ *) Add APR_BUFFERED support to apr_os_file_put(). [Justin Erenkrantz]
+
+ *) Fix misinterpretation of timeout for select() on Win32/Netware.
+ Identified by [TANAKA Koichi <tanaka@ariel-networks.com>]
+
+ *) Re-write apr_poll() on Unix. This improves the performance by
+ giving the user back control over the memory in the pollset.
+ [Ryan Bloom]
+
+ *) Added APR_LIMIT_NOFILE option to apr_procattr_limit_set() to
+ control the file descriptor limit on platforms that support
+ RLIMIT_NOFILE. [Brian Pane]
+
+ *) FreeBSD: change apr_sendfile to accomodate a 4.6 kernel patch.
+ [Greg Ames]
+
+ *) Faster code for the apr_table get/set functions [Brian Pane]
+
+ *) Fix the userid functions on Irix to handle the way that Irix
+ reports a failure from getpwnam_r(). PR 10095.
+ [Robert I. Cowles <ric@cs.uregina.ca>, Jeff Trawick]
+
+ *) apr_table_do() and apr_table_vdo() now return an int rather than
+ void to indicate whether or not any of its iterations returned 0.
+ [Cliff Woolley]
+
+ *) Fix the definition of union semun so that it is valid on systems
+ where sizeof(long) != sizeof(int). This resolves a hang on
+ HP-UX/Itanium.
+ [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
+
+ *) Correct shared library support on Darwin to not fatally error out
+ when a shared library does not exist. [Justin Erenkrantz]
+
+ *) Added optimized atomic CAS support for Linux/x86 (available only
+ when APR is configured with --enable-nonportable-atomics=yes)
+ [Brian Pane]
+
+ *) Fix a compile error in the EGD support in rand.c on older Solaris
+ versions. PR 9976 [Jim Morris <jmorris@sunflower.com>]
+
+ *) Fixed apr_file_seek() to unset the eof_hit flag. [Stas Bekman]
+
+ *) Removed --disable-atomics flag and added --enable-nonportable-atomics,
+ thereby defaulting to portable binaries on those systems that could
+ be optimized at the expense of portability. PR: 9507 [Aaron Bannert]
+
+ *) Added 2 additional lock functions: apr_proc_mutex_name and
+ apr_proc_mutex_defname which returns the type name of the mutex
+ (eg: "sysvsem") as well as the default mutex type (APR_LOCK_DEFAULT).
+ Mostly useful under Unix were the locktypes are selectable.
+ [Jim Jagielski]
+
+ *) Fixed apr_generate_random_bytes() for Win32 on Win NT or 9x by
+ dropping the 0x40 bit (CRYPT_SILENT) for earlier OS'es.
+ PR 9286 [William Rowe]
+
+ *) Added --with-devrandom=[DEV] configure flag which allows a particular
+ "/dev/random"-compatible device to be specified, overriding the
+ default search path (/dev/random then /dev/arandom then /dev/urandom).
+ Also, if --with-egd=<path> is specified, it now implies
+ --without-devrandom. [Cliff Woolley]
+
+ *) Darwin/Mac OS X: Don't leave zombie processes when the app calls
+ apr_signal(SIGCHLD, SIG_IGN). This fixes a problem with Apache's
+ mod_cgid. PR 9168. [Jeff Trawick]
+
+ *) Win32: Fix bug where apr_sendfile() was incorrectly returning
+ APR_SUCCESS on a TransmitFile call that was interrupted by
+ the client closing its end of the connection. Always call
+ GetOverlappedResults() to get results of async TransmitFile()
+ completion notification. [Bill Stoddard]
+
+ *) Renamed APR_XtOffset -> APR_OFFSET and APR_XtOffsetOf -> APR_OFFSETOF.
+ [Cliff Woolley]
+
+ *) Cygwin: the unix version of apr_file_open() must respect the
+ APR_BINARY flag if the underlying platform requires it (in
+ which case we assume O_BINARY is defined). PR 9185.
+ [Cliff Woolley]
+
+ *) Linux, AIX: Use crypt_r() instead of crypt() because the native
+ crypt() is not thread-safe. The misuse of crypt() led to
+ intermittent failures with Apache basic authentication when crypt
+ passwords were being used. [Jeff Trawick]
+
+ *) AIX: Global mutexes don't need an intraprocess mutex when SysV
+ sems are used for the crossprocess mutex.
+ Darwin: The same optimization was applied for Posix sems.
+ [Jeff Trawick]
+
+ *) Fix a problem with global mutexes on OS/390 when something other
+ than the default mechanism (SysV sem) was used. The mutexes didn't
+ necessarily block out other threads in the same process.
+ [Jeff Trawick]
+
+ *) Fixed apr_strfsize formatting of values over 1 gig
+ [Matsuzaki Yoshinobu <maz@iij.ad.jp>]
+
+ *) Renamed --disable-atomics as --disable-optimized-atomics,
+ since it doesn't really disable the atomics. [Aaron Bannert]
+
+ *) Converted apr_pcalloc to a macro [Brian Pane]
+
+ *) Fixed APR_STATUS_IS_ETIMEDOUT macro.
+ [Dagfinn Aarvaag <dagfinn.aarvaag@beepscience.com>]
+
+ *) Add --disable-atomics switch to override our handcoded assembly
+ optimizations. Note that this has no effect if your operating
+ system has a userspace atomic interface. [Justin Erenkrantz]
+
+ *) Remove Linux atomic support since it does not have a usable
+ userspace atomic interface. [Justin Erenkrantz]
+
+ *) Don't require that the DNS can map 127.0.0.1 when checking for
+ the presence/usability of getnameinfo(). PR 7642. [Jeff Trawick]
+
+ *) Remove APR_WANT_SIGNAL from apr_want.h because code must include
+ apr_signal.h in order to get consistent definitions. [Roy Fielding]
+
+ *) Don't try to use /dev/zero and mmap on platforms that don't
+ support that (such as HP-UX). PR 8537. [Justin Erenkrantz]
+
+ *) Reduce the number of apr_sendfile calls on AIX and OS/390 by
+ remembering when the kernel tells us the next one will block.
+ [Jeff Trawick]
+
+ *) Reduce the number of apr_sendfile calls on FreeBSD by remembering
+ when the kernel tells us the next one will block. [Greg Ames]
+
+ *) To support modules like PHP, which implement their own
+ loaded extensions, Darwin needs to place their public
+ symbols in the global table. [Marko Karppinen <markonen@php.net>,
+ Jim Jagielski]
+
+ *) Rename apr_get_groupname to apr_group_name_get.
+ [Thom May <thom@planetarytramp.net>]
+
+ *) Allow VPATH builds to properly build dependencies and switch to
+ a .deps dependency model to mimic httpd-2.0. [Justin Erenkrantz]
+
+ *) Tru64: Stop leaving zombies in APR apps like mod_cgid which
+ tell APR to ignore SIGCHLD.
+ [Dave Hill <David.D.Hill@Compaq.com>]
+
+ *) Ensure that the ATOMIC_HASH can not be negative.
+ [Joe Orton <jorton@redhat.com>]
+
+ *) Fix a problem with eof reporting with Unix file I/O on
+ unbuffered files. [Stas Bekman <stas@stason.org>]
+
+ *) Rename apr_explode_time to apr_time_exp_tz.
+ [Thom May <thom@planetarytramp.net>]
+
+ *) Rename apr_explode_localtime to apr_time_exp_lt.
+ [Thom May <thom@planetarytramp.net>]
+
+ *) Set precompiler for Solaris atomics when using GNU binutils.
+ PR 7876. [solomon@conceptshopping.com (Marvin Solomon)]
+
+ *) AIX: Fix breakage with 64-bit builds on versions of AIX prior
+ to 5L. PR 7957 [Jeff Trawick]
+
+ *) On socket write functions (apr_sendfile, apr_send, apr_sendv),
+ added a select to wait for writability on the socket if the
+ previous write was incomplete. [Jeff Trawick, Brian Pane]
+
+ *) Deprecated the apr_lock.h API. Please see the following files
+ for the improved thread and process locking and signaling:
+ apr_proc_mutex.h, apr_thread_mutex.h, apr_thread_rwlock.h,
+ apr_thread_cond.h, and apr_global_mutex.h. [Aaron Bannert]
+
+ *) Fix some daylight savings time breakage on (at least) AIX,
+ Solaris, and HP-UX. [Jeff Trawick]
+
+ *) Added support for Posix semaphores (sem_open, et.al.) for mutex
+ locking. We use named semaphores in this implementation. The
+ default priority is between pthread and sysvsem.
+ [Jim Jagielski]
+
+ *) Get flock-based mutexes to work in apps like Apache. Use the
+ same permissions on flock- and fcntl-based mutexes as Apache
+ 1.3. [Jeff Trawick]
+
+ *) Fix apr-config so that it will not attempt to cd to a non-existent
+ directory. [Justin Erenkrantz]
+
+ *) Change the ordering of the apr_lock implementation method to
+ better match what's done in Apache 1.3. The ordering is
+ now (highest to lowest): pthread -> sysvsem -> fcntl -> flock.
+ [Jim Jagielski]
+
+ *) Improve detection of the INT64_C macro to prevent problems
+ with HP-UX's ANSI C compiler. PR 8932. [Justin Erenkrantz]
+
+ *) Make sure gethostbyname() can handle 255.255.255.255 if we
+ are to trust it to handle numeric address strings in
+ apr_sockaddr_info_get(). This fixes a problem on HP-UX
+ which led to an assertion failure at Apache startup when
+ using vhosts. [Jeff Trawick]
+
+ *) Don't mask SIGUSR2 [Jin Hong <jinh@cnet.com>]
+
+ *) Load libraries if they not MH_BUNDLE, but if they are not, it
+ just attempts to link them as shared libs.
+ [Pier Fumagalli <pier@betaversion.org>]
+
+ *) apr_atomic_dec now returns a zero value if the value of
+ the atomic is zero, non-zero otherwise [Ian Holsman]
+
+ *) When opening a file, only create an internal thread mutex
+ if APR_XTHREAD is set. [Brian Pane]
+
+ *) Move the kill_conditions enum in apr_thread_proc.h into the
+ APR namespace. kill_after_timeout et al have been renamed
+ appropriately (e.g., APR_KILL_AFTER_TIMEOUT). [Jeff Trawick]
+
+ *) Fix a segfault in apr_thread_rwlock_destroy() on Win32.
+ [INOUE Seiichiro <inoue@ariel-networks.com>]
+
+ *) configure now checks to see if we can change DNS timeout values
+ [Ian Holsman]
+
+ *) Fix a bug in apr_file_seek() on Unix when using buffered
+ files. PR 10003 [Jeff Trawick]
+
+ *) Small table performance optimization: eliminate the
+ zero-fill of newly allocated elements when expanding
+ a table's size. [Brian Pane]
+
+ *) Allow APR to install its generated libtool(s) via the
+ --with-installbuilddir option (defaults to ${datadir}/build).
+ [Justin Erenkrantz]
+
+ *) renames: apr_ansi_time_to_apr_time becomes apr_time_ansi_put
+ ap_exploded_time_t becomes apr_time_exp_t
+ [Thom May <thom@planetarytramp.net>]
+
+ *) Add the APR_FILE_NOCLEANUP flag to apr_file_open().
+ Adding the flag will prevent the file from being closed
+ when the pool passed in on apr_file_open() is destroyed.
+ This feature is useful when using apr_os_file_get|put()
+ to manage the apr_os_file_t in apr_file_t (ie, file handle
+ caching in the HTTP server) [Bill Stoddard]
+
+ *) Win32: Fix APR_XTHREAD problems in apr_file_read()
+ and apr_file_write(). Multiple threads were using the
+ same overlapped structure and io event handle created
+ in the open call, which could cause unpredictable
+ file i/o results. [Bill Stoddard]
+
+ *) Win32: apr_proc_mutex_trylock and apr_proc_mutex_lock were
+ incorrectly returning APR_BUSY if the lock was previously
+ held by a thread that exited before releasing the lock
+ (ie, if the process holding the lock segfaults). The MSDN
+ doc says when WaitForSingleObject returns WAIT_ABANDONED,
+ the calling thread takes ownership of the mutex, so these
+ two routines should return APR_SUCCESS in this case, not
+ APR_BUSY. [Bill Stoddard]
+
+ *) Added a new m4 function APR_EXPAND_VAR that will iteratively
+ interpolate the contents of a variable, such as $sysconfdir,
+ for use in a borne script. [Aaron Bannert]
+
+ *) apr-atomic support for old-sparc's and gas on solaris
+ [Dale Ghent <daleg@elemental.org>, jean-frederic clere, Ian Holsman]
+
+ *) Change apr_proc_detach to take a parameter that can enable/disable
+ automatic forking (aka, to "daemonize").
+ [Jos Backus <josb@cncdsl.com>, Aaron Bannert]
+
+ *) Implement apr_global_lock_foo() on Win32
+ [Bill Stoddard]
+
+ *) Fix select() argument call when waiting for IO. PR 9674.
+ [David MacKenzie <djm@pix.net>]
+
+ *) Add a new lock API (apr_global_mutex_t) to provide guaranteed
+ cross-process AND cross-thread mutual exclusion. [Aaron Bannert]
+
+ *) Note: We are in the process of deprecating the apr_lock.h API.
+ The new and improved lock/synchronization APIs now reside
+ in apr_thread_mutex.h, apr_proc_mutex.h, apr_thread_rwlock.h,
+ and apr_thread_cond.h. [Aaron Bannert]
+
+ *) Enable autoconf 2.52{f,g} build support.
+ [Blair Zajac <blair@orcaware.com>]
+
+ *) Added new functions for atomic operations. These are experimental
+ at the moment, so use in apps is discouraged [Ian Holsman]
+
+ *) Correct serious problems with the Win32 apr_file_dup2
+ and apr_file_open_stdxxx() fns. [William Rowe]
+
+ *) Begin implementation of the WinCE port.
+ [Mladen Turk <mturk@mappingsoft.com>]
+
+ *) Disable SHMEM_MMAP_ZERO on HPUX 11.x where it is not supported.
+ Use SHMEM_SHMGET_ANON instead. [Aaron Bannert]
+
+ *) Fix a few attempts to add to a void * ptr in the Unix shared
+ memory support code. PR #9710 Per Ekman [pek@pdc.kth.se]
+
+ *) In the Linux apr_sendfile(), fix the types of some parameters
+ to apr_send() and apr_recv(). Breakage was seen in 64-bit mode
+ on s/390. PR #9712 [Neale.Ferguson@SoftwareAG-usa.coom]
+
+ *) added APR_PROGRAM_ENV and APR_PROGRAM_PATH options for starting
+ processes via apr_proc_create() [Greg Stein]
+
+ *) Deprecated apr_pool_free_blocks_num_bytes() [Sander Striker]
+
+ *) Add --enable-pool-debug to make it easier for people to
+ enable pool debug mode. Removed the APR_POOL_DEBUG_VERBOSE
+ define that was previously being used. [Sander Striker]
+
+ *) Changed the apr_file_dup2() function prototype. It can only
+ take and reuse an apr_file_t*, and will no longer create one
+ if *new_file == NULL (use apr_file_dup() for that). [Aaron Bannert]
+
+ *) Implemented name-based shared memory on Unix. [Aaron Bannert]
+
+ *) Fix spelling mistakes in APRDesign.
+ [Blair Zajac <blair@orcaware.com>]
+
+ *) Ensure that apr_file_mktemp creates the temp file if it isn't there.
+ [John Sterling <sterling@covalent.net>]
+
+ *) Make sure to pre-mark anon SysV shared memory segments as
+ removed. [Jim Jagielski]
+
+ *) Add --with-efence to allow usage of Electric Fence.
+ [Justin Erenkrantz]
+
+ *) Updated the pools debug code. Check if a pool is still
+ valid on the most common apr_pool_xxx functions.
+ Fix the way APR_POOL_DEBUG_VERBOSE was using stderr.
+ Make the output somewhat nicer in this debug mode. [Sander Striker]
+
+ *) Add new define APR_POOL_DEBUG_VERBOSE which spits out info
+ about pool creation/destruction [Ian Holsman]
+
+ *) Fix GMT offset adjustments for platforms that do not have native
+ GMT offset adjustments. [Jon Travis <jtravis@covalent.net>]
+
+ *) Add new apr_shm_t API and remove old apr_shmem_t API. The new
+ API handles both anonymous and name-based shared memory. Anonymous
+ shared memory segments are only usable on systems with process
+ inheritance, and so the new API with name-based segments is
+ usable on platforms like Win32. [Aaron Bannert and William Rowe
+ with much help from Justin Erenkrantz and Sander Striker]
+
+ *) Add --with-egd to support EGD-compatible entropy gatherers for
+ those platforms without native support. [Justin Erenkrantz]
+
+ *) apr_lock_create() and apr_proc_mutex_create() now have an
+ additional parameter for specifying the lock mechanism.
+ apr_lock_create_np() and apr_proc_mutex_create_np() have been
+ removed. [Jeff Trawick]
+
+ *) Change the prototype of apr_thread_exit() so that the apr_status_t
+ is no longer a pointer. It was difficult and sometimes hazardous
+ to return a apr_status_t* at times, and this allows us to return
+ the APR_* error codes directly. [Aaron Bannert]
+
+ *) Add apr_sockaddr_equal() for comparing APR sockaddrs.
+ [Jeff Trawick]
+
+ *) Win32: apr_sendfile() should return APR_ENOTIMPL if
+ oslevel < WINNT. [Bill Stoddard]
+
+ *) Put new pools code in place which allows applications to
+ switch off locking on pools operations in case a pool is
+ guaranteed to never being used in more than one thread
+ at the same time. We've seen a significant performance
+ improvement over the old code. [Sander Striker]
+
+ *) Add apr-config - a shell script to allow third-party programs
+ easy access to APR configuration parameters. [Justin Erenkrantz]
+
+ *) Add find_apr.m4 to allow third-party programs that use APR to
+ have a standard m4 macro for detection. [Greg Stein]
+
+ *) SEGV in apr_table_overlap [Brian Pane]
+
+ *) apr_array_copy speedup by removing the zero-fill [Brian Pane]
+
+ *) Fix build breakage on systems with getaddrinfo() but not
+ gai_strerror() (e.g., RedHat 5.2). [Jeff Trawick]
+
+ *) Fix a problem in Unix apr_file_dup() which caused 0 to be returned
+ by the first read. [Stas Bekman <stas@stason.org>]
+
+ *) Fix a buglet that caused APR_FILE_BASED_SHM to be set inadvertently
+ on some platforms (e.g., Linux, AIX). [Jeff Trawick]
+
+ *) Speed up apr_table operations by using a cache/checksum and a
+ red-black tree in the overlay.
+ [Brian Pane <bpane@pacbell.net>, Cliff Woolley]
+
+ *) Speed up apr_pool_userdata_set[n] by letting hash_set figure out
+ the strings length. [Brian Pane <bpane@pacbell.net>]
+
+ *) New function apr_mmap_dup. This is called in the mmap_setaside.
+ [Brian Pane <bpane@pacbell.net>]
+
+ *) Speed up the apr_hash_t implementation's handling of APR_HASH_KEY_STRING.
+ [Brian Pane <bpane@pacbell.net>]
+
+ *) Tweak apr_gethostname() so that it detects truncation of the
+ name and returns an error. [Jeff Trawick]
+
+ *) Fix bug in Darwin DSO code. [Sander Temme]
+
+ *) Fix apr_setup_signal_thread() to grab the right error code from
+ a sigprocmask() failure. This only affects platforms that use
+ sigprocmask() in lieu of pthread_sigmask(). [Jeff Trawick]
+
+ *) Fix the Unix HAVE_POLL flavor of apr_poll_socket_mask() so that
+ it doesn't segfault. Avoid some wasted storage in a poll-related
+ APR structure. [INOUE Seiichiro <inoue@ariel-networks.com>]
+
+ *) Fix apr_setup_signal_thread() so that threads don't block
+ synchronous signals (e.g., SIGSEGV). It is a programming error
+ to do so, and some platforms (e.g., Solaris, AIX) don't call any
+ registered signal handler when such signals are blocked.
+ [Jeff Trawick]
+
+ *) Change the apr_table_elts macro so that it provides access via
+ a const pointer instead of a non-const pointer.
+ [Brian Pane <bpane@pacbell.net>]
+
+ *) Use strerror_r() where available, since strerror() isn't always
+ thread-safe. Example systems where strerror() isn't thread-safe:
+ Linux+glibc, AIX [Jeff Trawick]
+
+ *) Fix some file cleanup problems in apr_proc_create() which could
+ result in the pipes for stdin/stdout/stderr being closed
+ immediately. [Jeff Trawick]
+
+ *) New functions apr_hash_[merge|copy], change to overlay fn
+ so that it calls merge, which does a inline iteration instead
+ of calling the iterator function. [Brian Pane <bpane@pacbell.net>]
+
+ *) Introduce the apr_pool_userdata_setn() variant that doesn't
+ strdup the key. Allows both the _setn() and _set() variant to
+ accept NULL for the cleanup. [Brian Pane <bpane@pacbell.net>]
+
+ *) Re-vamp the apr_proc_wait and apr_proc_wait_all functions. We
+ now return the exit code from the program and a reason that the
+ program died, either normal exit or signalled.
+ [Jeff Trawick and Ryan Bloom]
+
+ *) Implement portable accessors for proc mutex. These are equivalent
+ to apr_os_lock_get/set, but they work for apr_proc_mutex_t types
+ instead. [Aaron Bannert]
+
+ *) Added a new parameter to apr_thread_mutex_init(). Now, by default,
+ thread mutexes are not nested (sometimes called "recursive"). To
+ enable nested mutexes, a flag must be passed to the init script.
+ Non-nested mutexes are much faster than nested ones.
+ [Aaron Bannert]
+
+ *) read_with_timeout in apr/file_io/win32/readwrite.c incorrectly
+ returned APR_SUCCESS instead of APR_EOF when PeekNamedPipe failed
+ and the result from GetLastError() was ERROR_BROKEN_PIPE. Because
+ of this, the pipe wasn't closed as soon as it could be.
+ [Tim Costello <tim.costello@zcmgroup.com.au>]
+
+ *) Fix a problem in the Win32 pipe creation code called by
+ apr_proc_create(): It didn't register cleanups for either the
+ read or the write ends of the pipe, so file handles (and event
+ handles for pipes with asynchronous I/O mode set) are never
+ closed. [Tim Costello <tim.costello@zcmgroup.com.au>]
+
+ *) Add support for QNX 6. [J.T. Conklin <jtc@acorntoolworks.com>]
+
+ *) We now create exports.c and export_vars.h, which in turn create
+ exports.c. From this we generate two more files with different
+ purposes: apr.exp - list of exported symbols; and exports.lo
+ (exports.o) - an object file that can be linked with an executable
+ to force resolution of all apr symbols. [Aaron Bannert]
+
+ *) Add the apr_thread_cond_timedwait function to the condition
+ variable API. [Aaron Bannert]
+
+ *) Fixed apr_file_mktemp on systems without mkstemp (Win32, etc).
+ [Mladen Turk, Cliff Woolley]
+
+ *) Fix a segfault in apr_poll_clear on Unix. Also fix the logic
+ for the case where there are multiple events ORed together in
+ the events list. [Jamshid Mahdavi <mahdavi@volera.com>]
+
+ *) Files opened on Unix with the flag APR_DELONCLOSE are now
+ not unlinked until they are actually closed, rather than as
+ soon as they're opened. The old approach worked but made
+ handling temp files harder. [Cliff Woolley]
+
+ *) Fix potential segfault when closing a file on Unix. If
+ apr_file_close() was called and it failed, it would not
+ deregister the file cleanup. Therefore the cleanup would
+ be run again later on a now-invalid descriptor. [Cliff Woolley]
+
+ *) Introduce apr_pool_lock for debugging, in combination with
+ ALLOC_USE_MALLOC + DEBUG_WITH_MPROTECT. Only implemented
+ on Win32 today, very effective for debugging pool constness.
+ [William Rowe]
+
+ *) Optimize apr_pstrcat by caching lengths of first 6 strings
+ [Brian Pane <bpane@pacbell.net>]
+
+ *) Add pool accessors to the apr_thread_mutex_t datatype.
+ [Aaron Bannert <aaron@clove.org>]
+
+ *) Add the apr_file_mktemp function. This creates and opens a
+ temporary file, for use by the program. This file is created
+ delete_on_close. The initial implementation only works on
+ Unix, but Windows is coming soon. [Ryan Bloom]
+
+ *) Make the unix version of apr_proc_wait_all_procs a simple wrapper
+ around apr_proc_wait, and which extracts the exit code from the
+ status returned by waitpid.
+ [Kevin Pilch-Bisson <kevin@pilch-bisson.net>]
+
+ *) Add process locking API to APR. [Aaron Bannert <aaron@clove.org>]
+
+ *) Add condition variables for Windows. [Ryan Bloom]
+
+ *) Add condition variables to the APR set of locking functions.
+ This does Unix, and provides stubs for all other platforms.
+ [Aaron Bannert <aaron@clove.org>]
+
+ *) Don't search for IPv6 names in apr_sockaddr_info_get() if the
+ application doesn't specify the family (i.e., the application
+ passes in AF_UNSPEC) and APR isn't built with IPv6 support.
+ [Jeff Trawick]
+
+ *) Fix the API for the apr_proc_create() call on Win32. Several
+ bad assumptions are gone, including a mismatch between unix and
+ win32, where win32 was defaulting to create detached. Also fixes
+ the apr_proc_t's pid member to a real pid (identity that works
+ across processes) instead of the handle (which is a new hproc
+ member value.) [William Rowe]
+
+ *) Modify the external apr_filepath_get() fn to take a flags arg,
+ currently only for APR_FILEPATH_NATIVE. This returns c:\foo
+ format on Win32, and should do the same on OS2, or sys\vol:\foo
+ on Netware. Primarily for internals, but possibly useful to
+ others (and it mirrors some of the other apr_filepath_*() calls.)
+ [William Rowe]
+
+ *) Add the new thread read/write lock API to APR.
+ [Aaron Bannert <aaron@clove.org>]
+
+ *) Add the new thread mutex lock API to APR.
+ [Aaron Bannert <aaron@clove.org>]
+
+ *) Cache GMT offset on platforms that don't store it in the tm struct.
+ This offset is normalized to be independent of daylight savings
+ time. [Brian Pane <bpane@pacbell.net>]
+
+ *) Initial support for cygwin. [Stipe Tolj <tolj@wapme-systems.de>]
+
+ *) Fix a problem with buffered files on Unix. [Brian Havard]
+
+ *) Fix the bungling of getaddrinfo() error codes. [Jeff Trawick]
+
+ *) Add an apr_thread_once function to APR. This allows a
+ program to ensure that a function is only called once.
+ [Ryan Bloom]
+
+ *) APR Documentation is now in Doxygen format.
+ [Ian Holsman]
+
+ *) Get apr_ungetc() to work with buffered files on Unix.
+ [Jeff Trawick]
+
+ *) Fixed apr_filepath_root on Unix [William Rowe, Cliff Woolley].
+
+ *) Rename XtOffset to APR_XtOffset. This namespace protection
+ is important to keep from conflicting with other packages.
+ [Perl]
+
+ *) Introduce a new --disable-ipv6 option to disable IPv6 support.
+ [Sterling Hughes <sterling@designmultimedia.com>, Jeff
+ Trawick]
+
+ *) Fix the new shared memory code. We need to pass a pointer to
+ an apr_file_t to apr_file_open. Also, apr_os_file_get returns
+ a status value, not the OS file descriptor. [Ryan Bloom]
+
+ *) Fix the new shared memory configure script. The APR_DECIDE
+ macros go in order, so the last set of dependancies that are
+ met are the ones used. That means that when using those macros,
+ options should be listed with the least desirable option first,
+ and the most desirable last. The new shared memory routines did
+ the opposite, so we chose the wrong shared memory option on Linux.
+ [Ryan Bloom]
+
+ *) Move the necessary shared memory code from MM into APR and remove
+ our dependency upon MM. [Justin Erenkrantz]
+
+ *) Get apr_lock_file and apr_unlock_file working on Windows 9x.
+ [Mladen Turk, Bill Stoddard]
+
+ *) Make all APR pools be allocated out of the permanent pool.
+ This brings APR pools back to a tree structure. There are
+ no longer any way to create a pool that is not a decendant
+ of the permanent_pool. [Ryan Bloom]
+
+ *) Wrap all functions in APR_DECLARE macro.
+ [Sterling Hughes <sterling@designmultimedia.com>]
+
+ *) Non-blocking connects shouldn't be calling connect a second
+ time. According to Single Unix, a non-blocking connect has
+ succeeded when the select pops successfully. It has failed
+ if the select failed. The second connect was causing 502's
+ in the httpd-proxy. [John Barbee barbee@veribox.net]
+
+ *) Fix apr_dir_rewind() for Win32 to avoid returning a bogus error.
+ [Jeff Trawick, William Rowe]
+
+ *) Detect required libraries first. This minimizes the libraries
+ needed in apr_hints.m4. [Justin Erenkrantz]
+
+ *) Support the AIX, glibc2, and Solaris variants of gethostby{name|addr}_r.
+ Use gethostbyaddr_r function when available.
+ [Sterling Hughes <sterling@designmultimedia.com>]
+
+ *) Add new socket option, APR_INCOMPLETE_READ, that should be
+ set when you expect the first non-blocking read to fail with
+ EAGAIN. Setting APR_INCOMPLETE_READ prior to calling apr_read
+ will cause select() to be called first to wait for bytes
+ to read. [Brian Pane, Dean Gaudet]
+
+ *) Better installation. This makes us install the APRVARS file,
+ as well as MM. [Ryan Bloom]
+
+ *) Provide new number conversion functions apr_itoa, apr_ltoa, and
+ apr_off_t_toa, and inline code in inet_ntop4, to reduce CPU
+ consumption. [Brian Pane]
+
+ *) Updated APR to pass the thread worker_function prototype
+ (apr_thread_start_t) two parameters, the apr private data
+ (apr_thread_t*) and the application private data (void*).
+ Applications' worker_thread() routines may use apr_thread_pool_get
+ to access the pool (implemented using APR_POOL_*_ACCESSOR() macros.)
+ [Aaron Bannert <aaron@ebuilt.com>]
+
+ *) Add Solaris 8's sendfilev() support. This requires the following
+ patches from Sun: 111297 (Sparc), 111298 (x86). You'll need the
+ other patches listed in the patch description. [Justin Erenkrantz]
+
+ *) Close file descriptor when we are done with fcntl or flock-based
+ cross-process lock. Otherwise, we leak descriptors.
+ [Justin Erenkrantz]
+
+ *) Fix a possible data corruption problem with the use of getpwnam_r() on
+ all platforms where that function is used.
+ Use getpwnam_r() and getgrgid_r() instead of getpwnam() and getgrgid()
+ with threaded builds on glibc (2.1, at least) to avoid thread safety
+ issues. [Jeff Trawick]
+
+ *) Added apr_lock_tryacquire. It will attempt to acquire the lock, but
+ will not block if it can not acquire the lock. Returns APR_EBUSY if
+ acquistion can not happen. [Justin Erenkrantz]
+
+ *) Added an inherit flag to apr_socket_create and other socket creation
+ functions. This allows APR programs to specify that a socket should
+ be passed to any child processes that are created. The inherit flag
+ is only meaningful if programs use apr_process_create(). This
+ also adds a couple of macros that allow APR types to set and unset
+ the inherit flag. [Ryan Bloom]
+
+ *) apr_connect()on Windows: Handle timeouts and returning the proper
+ status code when a connect is in progress. [Bill Stoddard]
+
+ *) apr_connect() on Unix: Handle EINTR during connect(). Handle timeouts.
+ [Jeff Trawick]
+
+ *) Handle the weird case where getpwnam() returns NULL but errno is zero.
+ [Jeff Trawick]
+
+ *) Add apr_file_flags_get() which returns the flags that were originally
+ passed in to apr_file_open(). [Cliff Woolley]
+
+ *) Added APR_HAS_XTHREAD_FILES macro that indicates whether or not the
+ platform handles files opened in APR_XTHREAD mode natively. Currently
+ only Win32 has such native support. [Cliff Woolley]
+
+ *) Fix gmt offset handling on Solaris. Apache log messages now show
+ local time again. PR #7902 [Taketo Kabe <kabe@sra-tohoku.co.jp>]
+
+ *) apr_pstrcat() optimizations [Doug MacEachern, Jeff Trawick]
+
+ *) Make the apr_pool_is_ancestor logic public. This is required for
+ some new logic that is going into HTTPD. I have left the join logic
+ in that function debug only. [Ryan Bloom]
+
+ *) Clean up Win32 locks when the pool goes away.
+ [Justin Erenkrantz, Jeff Trawick]
+
+ *) Implement apr_get_home_directory for Win32. [William Rowe]
+
+ *) Complete the implementation of LARGEFILE support on Win32, although
+ the mmap semantics still need a touch of work. [William Rowe]
+
+ *) Fix the APR_XTHREAD support, and apr_sendfile mechanics, so we can
+ handle cross-threaded file handles on Win32. [William Rowe]
+
+ *) Implement APR_READWRITE locks on Unix with POSIX rwlocks.
+ Introduce new apr_lock_acquire_rw() function which takes in
+ APR_READER or APR_WRITER. [Justin Erenkrantz]
+
+ *) Add apr_open_stdin. This mirrors apr_open_stderr, except it works
+ on stdin. [Aaron Bannert <abannert@ebuilt.com>]
+
+ *) Add apr_strtok(), a thread-safe flavor of strtok() which has the
+ same interface as strtok_r(). [Jeff Trawick]
+
+ *) Add other child support to Win32 [Bill Stoddard]
+
+ *) Other-child registrations are automatically removed when the
+ associated pool is destroyed. This avoids garbage in the list
+ of registrations when a pool with a registration is freed.
+ [Jeff Trawick]
+
+ *) Allow LTFLAGS to be overridden by the configure command-line
+ (default="--silent") and introduce LT_LDFLAGS. [Roy Fielding]
+
+ *) Add memory code kindly donated to APR by
+ Elrond <elrond@samba-tng.org>
+ Luke Kenneth Casson Leighton <lkcl@samba-tng.org>
+ Sander Striker <striker@samba-tng.org>
+ [David Reid]
+
+ *) Fix a problem with the FreeBSD flavor of apr_sendfile() where we
+ could return APR_EAGAIN+bytes_sent. [Jeff Trawick]
+
+ *) Fix a problem on unixware where clearing h_errno wouldn't work.
+ Use set_h_errno() instead. PR #7651 [Jeff Trawick]
+
+ *) Add the test and build directories (when present) to the recursive
+ make process, being sure that they are run last. test is only done
+ recursively for make *clean targets. [Roy Fielding]
+
+ *) Make the apr_mmap_create() function use the native_flags variable.
+ This allows us to actually create WRITEABLE MMAPs.
+ [Ed Korthof <ed@apache.org>]
+
+ *) Completely revamp configure so that it preserves the standard make
+ variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving
+ the configure additions to EXTRA_* variables. Also, allow the user
+ to specify NOTEST_* values for all of the above, which eliminates the
+ need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting
+ of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to
+ avoid pointless duplications. Fix the order in which flags are given
+ on the compile and link lines. [Roy Fielding]
+
+ *) Fix DSO code on HP/UX. We have to use == not =, and it makes more
+ sense to actually return errno, so that the return code means
+ something. [Ryan Bloom]
+
+ *) Clean up conditionals in unix DSO code so that we decide based on
+ the dynamic loading implementation, which we noticed at configure
+ time, instead of by operating system.
+ [Wilfredo Sanchez]
+
+ *) Add DSO support for dyld platforms (Darwin/Mac OS and OpenStep).
+ [Wilfredo Sanchez]
+
+ *) Amend the time code to better deal with time zones.
+ [David Reid]
+
+ *) Carefully select an appropriate native type for apr_int64_t and
+ define its format as APR_INT64_T_FMT and literal using APR_INT64_C().
+ [Justin Erenkrantz, William Rowe]
+
+ *) Make clean, distclean, and extraclean consistently according to the
+ Gnu makefile guidelines. [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
+
+ *) Initial implementation of of apr_filepath (get/set/parse_root and
+ merge) for Windows. [William Rowe]
+
+ *) Cleaned up implementation of of apr_filepath (get/set/parse_root
+ and merge) for Unix. [Greg Stein, William Rowe]
+
+ *) Fixup the --enable-libtool option. This allows the test directory
+ to compile again. The test directory still doesn't work when
+ APR is configured without libtool. [Ryan Bloom]
+
+ *) If we don't have sigwait() in the system, see if sigsuspend() is
+ available, and use that instead. [Wilfredo Sanchez]
+
+ *) Make libtool optional at configure time. This is done with
+ --disable-libtool. [Ryan Bloom]
+
+ *) Recognize systems where the TCP_NODELAY setting is inherited from
+ the listening socket, and optimize apr_setsockopt(APR_TCP_NODELAY)
+ accordingly. [Jeff Trawick]
+
+ *) Recognize the presence of getnameinfo() on Tru64. [David Reid]
+
+ *) Allow APR to be installed. [Ryan Bloom]
+
+ *) Generate config.nice for easy re-run of configure. [Roy Fielding]
+
+ *) Define preprocessor flags in CPPFLAGS instead of CFLAGS and
+ bring some sanity to the compiler command-lines. [Roy Fielding]
+
+ *) Use the dso/aix subdirectory for older versions of AIX and fix
+ a number of bugs in the dso code in that directory.
+ [Victor Orlikowski]
+
+ *) Allow libtool 1.3b to be used. [Victor Orlikowski]
+
+ *) Misc. Win32 fixes: Set the pool pointer in apr_sockaddr_t
+ structures created with the apr_socket_t to prevent segfault
+ in certain apps. Flush unwritten buffered data when the file
+ is closed. [Jeff Trawick]
+
+ *) Win32: Get APR to compile with MSVC 5.0 (a.k.a. VC97).
+ PR #7489 [Jeff Trawick]
+
+ *) First draft implementation of apr_filepath (get/set/parse_root
+ and merge) for Unix. [William Rowe]
+
+ *) Add apr_ipsubnet_create() and apr_ipsubnet_test() for testing
+ whether or not an address is within a subnet. [Jeff Trawick]
+
+ *) Add apr_sendto and apr_recvfrom for Unix. Start of adding UDP
+ support. [David Reid]
+
+ *) Add a method to get the password from the system for a given
+ user. [John Barbee <jbarbee@covalent.net>]
+
+ *) Change the include path order, so that we look for included files
+ in the APR paths first, and the system paths second.
+ [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
+
+ *) Add a with-sendfile option, so that people on platforms without a
+ sendfile implementation for APR can easily disable it from the
+ configure line. [Ryan Bloom]
+
+ *) Change the check for netinet/tcp.h to work around an issue with
+ that header file on IRIX 6.5 which prevented it from being
+ detected. PR #6459 [Jeff Trawick]
+
+ *) Introduce apr_get_userid to return a named user's apr_uid_t and
+ apr_gid_t across platforms [Cliff Woolley, William Rowe]
+
+ *) In apr_shm_init(), check the retcode from mm_malloc(). Previously,
+ we segfaulted here if mm_malloc() failed to get a lock. An example
+ error scenario is when the lock file lives on a filesystem which
+ doesn't support locking. [Jeff Trawick]
+
+ *) Name protected the autoconf macros defined by APR. Moved the
+ REENTRANCY_FLAGS settings into apr_hints.m4. Inlined the
+ APR_PREPARE_MM_DIR macro because it could only be used once.
+ Removed the unused macros MY_TRY_RUN, MY_TRY_RUN_NATIVE, and
+ AC_USE_FUNCTION. Added some macro comments. [Roy Fielding]
+
+ *) Cope with BSDi installations where the default make has been
+ replaced with GNU make. [Joe Orton <joe@manyfish.co.uk>]
+
+ *) Changed apr/helpers to apr/build to be consistent with other Apache
+ source trees. Added make variables to rules.mk.in that point to the
+ builders directory and its scripts. Updated buildconf, configure.in,
+ and Makefile.in files to create and use the new scripts. Moved scandoc
+ to scandoc.pl and its default.pl template to scandoc_template.pl.
+ [Roy Fielding]
+
+ *) Updated config.guess and config.sub to GNU libtool 1.3.5 features,
+ with the Apache additions for OS/390 and OS/2 emx. [Roy Fielding]
+
+ *) Moved hints.m4, apr_common.m4, and helpers/apr-conf.m4 into the
+ new build directory as apr_hints.m4, apr_common.m4, apr_network.m4,
+ and apr_threads.m4. [Roy Fielding]
+
+ *) Get apr_sendfile() working on HP-UX. This gets APR to build on
+ HP-UX without having to turn off APR_HAS_SENDFILE. [Jeff Trawick]
+
+ *) Force FreeBSD to compile without threads by default. To enable
+ threads, use --enable-threads on the configure line.
+ [Ryan Bloom]
+
+ *) Purge system password buffer before returning from apr_password_get.
+ No longer abuses bufsize argument on return. [William Rowe]
+
+ *) Moved the prototypes for apr_snprintf and apr_vsnprintf to the
+ apr_strings.h header, from apr_lib.h. This location makes more
+ sense. [Ryan Bloom]
+
+ *) Added the APR_TRY_COMPILE_NO_WARNING configure macro for testing a
+ compile with -Werror as well as the APR_CHECK_ICONV_INBUF macro to
+ test for annoying iconv prototype differences.
+ [Jeff Trawick, Roy Fielding]
+
+ *) Fix a problem with configure on NetBSD. We must include sys/types.h
+ for some platforms. [jun-ichiro hagino <itojun@kame.net>]
+
+ *) Some fixes in the Win32 time support.
+ (IsLeapYear): New macro for quickly figgerin' out if a given year is a
+ leap year. (SystemTimeToAprExpTime): Perform the calculation of
+ tm_yday. Also, negate the sign of the tm_gmtoff field to be
+ consistent with Unix platforms and APR header file comments.
+ [Mike Pilato]
+
+ *) Implement WinNT Unix'ish permissions. [William Rowe]
+
+ *) Corrected an OS2'ism of apr_get_home_directory. OS2 now returns the
+ proper directory, including the user's name.
+
+ *) Removed private os2errno.h and integrated the OS2 network error codes
+ into apr_errno.h for optimized error tests (APR_STATUS_IS_EFOO(rv)).
+ [William Rowe]
+
+ *) Moved inclusion of <os2.h> header from multiple modules into apr.h
+ [William Rowe]
+
+ *) Added apr_compare_users() and apr_compare_groups() for more complex
+ apr_uid_t and apr_gid_t structures. Enabled both .user and .group
+ results from WinNT/2000 stat/getfileinfo, but expect to find that
+ .group is 'None' in most cases. [William Rowe]
+
+ *) Replace configure --with-optim option by using the environment
+ variable OPTIM instead. This is needed because configure options
+ do not support multiple flags separated by spaces. [Roy Fielding]
+
+ *) Eliminate the APR_SIG* aliases for standard signal names,
+ since they serve no useful purpose. [Roy Fielding]
+
+ *) Abstracted apr_get_username and apr_get_groupname for unix and win32.
+ Modified Win32 apr_uid_t and apr_gid_t to use PSIDs, and elimintated
+ the uid_t and gid_t definitions. [William Rowe]
+
+ *) Radically refactored apr_stat/lstat/getfileinfo/dir_read for Win32
+ to assure we are retrieving what we expect to retrieve, and reporting
+ the correct result (APR_SUCCESS or APR_INCOMPLETE). The potential
+ for a bit more optimization still remains. [William Rowe]
+
+ *) While we have the future opportunity to cache the apr_stat'ed file
+ handle for a very fast open (dup handle) on Win32, patched to close
+ that file after a stat always. Needs a new semantic before we leave
+ handles dangling when the user intends to rm. [William Rowe]
+
+ *) Correct Win32 apr_stat/lstat/getfileinfo/dir_read to all zero out
+ the finfo buffer on success (or incomplete success). [William Rowe]
+
+ *) Fix Win32/Unix apr_lstat to throw the .valid bit APR_FINFO_LINK to
+ indicate we attempted to open the link. Only the .filetype APR_LNK
+ reflects if the file found was, in fact, a link. [William Rowe]
+
+ *) Fixed apr_open and apr_rename to function on Win9x.
+ [Mike Pilato <cmpilato@collab.net>]
+
+ *) Add apr_open_stdout. This mirrors apr_open_stderr, except it works
+ on stdout. [Mike Pilato <cmpilato@collab.net>]
+
+ *) Fix bug in file_io/unix/dir.c. There is no such thing as a dirent,
+ it must be a struct dirent.
+ [Kevin Pilch-Bisson <kevin@pilch-bisson.net>]
+
+ *) Fix the configure script so that we can build from a different
+ directory. [Kevin Pilch-Bisson <kevin@pilch-bisson.net>]
+
+ *) Introduce the wanted flag argument to the apr_stat/lstat/getfileinfo
+ family of functions. This change allows the user to determine what
+ platform-specific file information is retrieved, to optimize both
+ portability and performance. [William Rowe]
+
+ *) Fix make depend. [Ryan Bloom]
+
+ *) All dso implementations now register a cleanup to unload the DSO
+ when it is loaded. If the pool is removed, we really do need to
+ remove the DSO. In the past, different platforms behaved differently
+ it this respect. [Ryan Bloom]
+
+ *) Add linkage declarations to the DSO code.
+ [Gregory Nicholls <gnicholls@level8.com>]
+
+ *) Some adjustment of hints.m4 setting flags (used to check if null
+ first) and added some verbosity. [Jim Jagielski]
+
+ *) Specify APR_DECLARE to some of the APR functions. This helps linking
+ on some operating systems. [Gregory Nicholls <gnicholls@level8.com>]
+
+ *) Libtool'ized APR and converted all the makefiles to share rules
+ from helpers/rules.mk. [Greg Stein]
+
+ *) Remove a warning on FreeBSD. FreeBSD defines TCP_NO_PUSH, but we
+ don't actually use it. This causes os_cork to be defined but not
+ used. This patch keeps us from defining os_cork and os_uncork on
+ FreeBSD. [Ryan Bloom]
+
+ *) Keep apr_terminate from seg faulting on terminate. This is
+ happening on systems that do not NULL out locks when they are
+ destroyed. To keep this from happening, we set the locks to
+ NULL after destroying them in apr_terminate, and we have to
+ check for NULL in free_blocks.
+ [Allan Edwards and Gregory Nicholls <gnicholls@level8.com>]
+
+ *) Remove the ability to allocate memory out of a NULL pool.
+ [Ryan Bloom]
+
+ *) Add an APR_GET_POOL macro to get a pool from any APR type that has
+ a pool. This requires that ALL apr types put the pool as the first
+ field in their structure. [Ryan Bloom]
+
+ *) Begin to remove the ability to allocate out of NULL pools. The first
+ problem to solve, is that we need an apr_lock in order to allocate
+ pools, so that we can lock things out when allocating. So, how do we
+ allocate locks without a pool to allocate from? The answer is to create
+ a global_apr_pool, which is a bootstrapping pool. There should NEVER
+ be a sub-pool off this pool, and it is static to an APR file. This is
+ only used to allow us to allocate the locks cleanly, without using the
+ NULL pool hack. [Ryan Bloom]
+
+ *) Fix a logic error in the poll code when implemented using select.
+ [Nick Caruso <ncaruso@gamesville.com>]
+
+ *) FreeBSD does not support sendfile() in combination with threads
+ before version 4.2. We no longer even try to support it.
+ [Ryan Bloom]
+
+ *) On FreeBSD, it is possible for the first call to sendfile to
+ get EAGAIN, but still send some data. This means that we cannot
+ call sendfile and then check for EAGAIN, and then wait and call
+ sendfile again. If we do that, then we are likely to send the
+ first chunk of data twice, once in the first call and once in the
+ second. If we are using a timed write, then we check to make sure
+ we can send data before trying to send it. [Ryan Bloom]
+
+ *) Cleanup to help Apache support programs build cleanly.
+ [Cliff Woolley <cliffwoolley@yahoo.com>]
+
+ *) Cleanup some compiler warnings on Solaris
+ [Dale Ghent <daleg@elemental.org>]
+
+ *) apr_getaddrinfo() can now return multiple addresses for a host
+ via the next field in apr_sockaddr_t. [Jeff Trawick]
+
+ *) Tighten up the check for getaddrinfo(). If it can't figure out
+ the appropriate address family for 127.0.0.1, it fails.
+ Unfortunately, Tru64 fails this test so we won't do IPv6 on
+ Tru64. [Jeff Trawick]
+
+ *) Rename apr_opendir to apr_dir_open. [Ryan Bloom]
+
+ *) apr_snprintf()'s %pI format string now takes apr_sockaddr_t *
+ instead of sockaddr_in *. [Jeff Trawick]
+
+ *) Fix a bug in apr_accept() for Win32 and Unix where the local
+ apr_sockaddr_t in the new connected socket was not initialized
+ properly. This could result in a bad string for apr_get_ipaddr(),
+ among other things. [Jeff Trawick]
+
+ *) Add apr_getnameinfo(), a replacement for apr_get_hostname() which
+ supports IPv6 and will be friendlier for use with eventual
+ SOCK_DGRAM support. apr_get_hostname() is gone. [Jeff Trawick]
+
+
+Changes with APR a9
+
+ *) Removed the iconv implementation from the i18n/unix/iconv branch.
+ This now resides in the apr-iconv repository, and will be ported
+ over time to use native apr types (e.g. apr_dso) for portability.
+
+ *) Only support IPv6 if we have sockaddr_in and a working
+ getaddrinfo(). [Jeff Trawick]
+
+ *) Add apr_parse_addr_port() for parsing the hostname:port portion
+ of URLs and similar strings. [Jeff Trawick]
+
+ *) Add Win32 MMAP support [William Rowe]
+
+ *) Allow the APR programmer to specify if the MMAP is read-only or
+ write-able.
+ [Ryan Bloom and Will Rowe]
+
+ *) Check more carefully for getaddrinfo(). Accept those that
+ require <netdb.h> to be included (e.g., Tru64). Reject those that
+ fail a very basic operational test (e.g., AIX). [Jeff Trawick]
+
+ *) Add apr_make_os_sock() for constructing a fully-capable APR
+ socket. [Jeff Trawick]
+
+ *) Make APR's shared memory routines always allocate enough memory
+ for the requested segment, the MM internal types, and the APR
+ internal types.
+ [Ryan Bloom]
+
+ *) Add APR_SIZE_T_FMT. Get the other APR_xx_T_FMT variables
+ defined properly on AIX. [Jeff Trawick]
+
+ *) network API changes: get rid of apr_get_socket_inaddr(),
+ apr_get_remote_name(), and apr_get_local_name() [Jeff Trawick]
+
+ *) Add a step at configure time to create a file at the top-level,
+ apr.exports, which lists every function exported by APR. The
+ file is generated by a script in helpers, that reads each header
+ file.
+ [Ryan Bloom]
+
+ *) Lock config changes: Detect SysV sem capability by the presence of
+ sempaphore functions, not by the presence of union semun. New
+ config variable apr_lock_method can override autodetection of the
+ apr_lock implementation method. For now, hints.m4 uses it to select
+ SysV semaphores for OS/390. New config variable
+ apr_process_lock_is_global specifies that the selected inter-process
+ lock method is sufficient for APR_LOCKALL (i.e., it blocks all
+ threads and processes). For now, hints.m4 turns on this flag for
+ OS/390. [Jeff Trawick]
+
+ *) Get APR_OFF_T_FMT defined properly on Solaris Sparc.
+ [Jeff Trawick]
+
+
+Changes with APR a8
+
+ *) Change the name of the sa_len field in apr_sockaddr_t to salen.
+ Some platforms have a macro named sa_len.
+ [Tony Finch]
+
+ *) apr_set_port(), apr_get_port(), apr_set_ipaddr(), and apr_get_ipaddr()
+ now take apr_sockaddr_t as a parameter instead of apr_socket_t +
+ apr_interface_e. This will allow the same routines to be used with
+ datagram APIs to be added later. Note that code which calls
+ apr_set_ipaddr() should probably be changed to call apr_getaddrinfo()
+ for protocol independence. [Jeff Trawick]
+
+ *) apr_create_tcp_socket() has been removed. Use apr_create_socket()
+ instead. [Jeff Trawick]
+
+ *) Source was moved from the apache-2.0 repository. For all CHANGES
+ prior to this time, please see the apache-2.0 repository
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..6f0142f
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,297 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+
+APACHE PORTABLE RUNTIME SUBCOMPONENTS:
+
+The Apache Portable Runtime includes a number of subcomponents with
+separate copyright notices and license terms. Your use of the source
+code for the these subcomponents is subject to the terms and
+conditions of the following licenses.
+
+From strings/apr_fnmatch.c, include/apr_fnmatch.h, misc/unix/getopt.c,
+file_io/unix/mktemp.c, strings/apr_strings.c:
+
+/*
+ * Copyright (c) 1987, 1993, 1994
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+
+From network_io/unix/inet_ntop.c, network_io/unix/inet_pton.c:
+
+/* Copyright (c) 1996 by Internet Software Consortium.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ * SOFTWARE.
+
+From dso/aix/dso.c:
+
+ * Based on libdl (dlfcn.c/dlfcn.h) which is
+ * Copyright (c) 1992,1993,1995,1996,1997,1988
+ * Jens-Uwe Mager, Helios Software GmbH, Hannover, Germany.
+ *
+ * Not derived from licensed software.
+ *
+ * Permission is granted to freely use, copy, modify, and redistribute
+ * this software, provided that the author is not construed to be liable
+ * for any results of using the software, alterations are clearly marked
+ * as such, and this notice is not modified.
+
+From strings/apr_strnatcmp.c, include/apr_strings.h:
+
+ strnatcmp.c -- Perform 'natural order' comparisons of strings in C.
+ Copyright (C) 2000 by Martin Pool <mbp@humbug.org.au>
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..fe6ad50
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,124 @@
+
+srcdir=@srcdir@
+VPATH=@srcdir@
+top_srcdir=@apr_srcdir@
+top_blddir=@apr_builddir@
+
+#
+# APR (Apache Portable Runtime) library Makefile.
+#
+CPP = @CPP@
+
+# get substituted into some targets
+APR_MAJOR_VERSION=@APR_MAJOR_VERSION@
+
+#
+# Macros for supporting directories
+#
+INCDIR=./include
+OSDIR=$(top_srcdir)/include/arch/@OSDIR@
+DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@
+INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) -I$(top_srcdir)/include
+
+#
+# Macros for target determination
+#
+CLEAN_SUBDIRS= test
+INSTALL_SUBDIRS=@INSTALL_SUBDIRS@
+
+TARGET_LIB = lib@APR_LIBNAME@.la
+APR_PCFILE = apr-$(APR_MAJOR_VERSION).pc
+APR_CONFIG = apr-$(APR_MAJOR_VERSION)-config
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+#
+# Rules for building specific targets, starting with 'all' for
+# building the entire package.
+#
+TARGETS = $(TARGET_LIB) export_vars.c apr.exp
+
+# bring in rules.mk for standard functionality
+@INCLUDE_RULES@
+@INCLUDE_OUTPUTS@
+
+CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.c .make.dirs \
+ build/apr_rules.out
+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 \
+ build/pkg/pkginfo
+EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in \
+ build-outputs.mk build/ltcf-c.sh build/ltmain.sh build/libtool.m4
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+bindir=@bindir@
+libdir=@libdir@
+includedir=@includedir@
+installbuilddir=@installbuilddir@
+
+# Create apr-config script suitable for the install tree
+apr-config.out: $(APR_CONFIG)
+ sed 's,^\(location=\).*$$,\1installed,' < $(APR_CONFIG) > $@
+
+# Create apr_rules.mk suitable for the install tree
+build/apr_rules.out: build/apr_rules.mk
+ sed 's,^\(apr_build.*=\).*$$,\1$(installbuilddir),' < build/apr_rules.mk > $@
+
+install: $(TARGET_LIB) apr-config.out build/apr_rules.out
+ $(APR_MKDIR) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(DESTDIR)$(installbuilddir) \
+ $(DESTDIR)$(libdir)/pkgconfig $(DESTDIR)$(includedir)
+ $(INSTALL_DATA) $(top_blddir)/include/apr.h $(DESTDIR)$(includedir)
+ for f in $(top_srcdir)/include/apr_*.h; do \
+ $(INSTALL_DATA) $${f} $(DESTDIR)$(includedir); \
+ done
+ $(LIBTOOL) --mode=install $(INSTALL) -m 755 $(TARGET_LIB) $(DESTDIR)$(libdir)
+ $(INSTALL_DATA) apr.exp $(DESTDIR)$(libdir)/apr.exp
+ $(INSTALL_DATA) apr.pc $(DESTDIR)$(libdir)/pkgconfig/$(APR_PCFILE)
+ for f in libtool shlibtool; do \
+ if test -f $${f}; then $(INSTALL) -m 755 $${f} $(DESTDIR)$(installbuilddir); fi; \
+ done
+ $(INSTALL) -m 755 $(top_srcdir)/build/mkdir.sh $(DESTDIR)$(installbuilddir)
+ for f in make_exports.awk make_var_export.awk; do \
+ $(INSTALL_DATA) $(top_srcdir)/build/$${f} $(DESTDIR)$(installbuilddir); \
+ done
+ $(INSTALL_DATA) build/apr_rules.out $(DESTDIR)$(installbuilddir)/apr_rules.mk
+ $(INSTALL) -m 755 apr-config.out $(DESTDIR)$(bindir)/$(APR_CONFIG)
+ @if [ $(INSTALL_SUBDIRS) != "none" ]; then \
+ for i in $(INSTALL_SUBDIRS); do \
+ ( cd $$i ; $(MAKE) DESTDIR=$(DESTDIR) install ); \
+ done \
+ fi
+
+$(TARGET_LIB): $(OBJECTS)
+ $(LINK) @lib_target@ $(ALL_LIBS)
+
+exports.c: $(HEADERS)
+ $(APR_MKEXPORT) $(HEADERS) > $@
+
+export_vars.c: $(HEADERS)
+ $(APR_MKVAREXPORT) $(HEADERS) > $@
+
+apr.exp: exports.c export_vars.c
+ @echo "#! lib@APR_LIBNAME@.so" > $@
+ @echo "* This file was AUTOGENERATED at build time." >> $@
+ @echo "* Please do not edit by hand." >> $@
+ $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
+ $(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.c | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@
+
+dox:
+ doxygen $(top_srcdir)/docs/doxygen.conf
+
+gcov:
+ @build/run-gcov.sh
+
+test: check
+check: $(TARGET_LIB)
+ (cd test && $(MAKE) check)
+
+etags:
+ etags `find . -name '*.[ch]'`
+
+# DO NOT REMOVE
+docs: $(INCDIR)/*.h
diff --git a/Makefile.win b/Makefile.win
new file mode 100644
index 0000000..51b3165
--- /dev/null
+++ b/Makefile.win
@@ -0,0 +1,176 @@
+# Makefile.win for Win32 APR alone
+#
+# Targets are:
+#
+# buildall - compile everything
+# checkall - run APR regression tests
+# install - compile everything
+# clean - mop up everything
+#
+# You can override the build mechansim, choose only one;
+#
+# USEMAK=1 - compile from exported make files
+# USEDSW=1 - compile from .dsw / .dsp VC6 projects
+# USESLN=1 - compile from converted .sln / .vcproj VC7+ files
+#
+# Define ARCH to your desired preference (your PATH must point
+# to the correct compiler tools!) Choose only one;
+#
+# ARCH="Win32 Release"
+# ARCH="Win32 Debug"
+# ARCH="Win32 ReleaseNT"
+# ARCH="Win32 DebugNT"
+# ARCH="x64 Release"
+# ARCH="x64 Debug"
+#
+# For example;
+#
+# nmake -f Makefile.win PREFIX=C:\APR buildall checkall installall clean
+#
+
+!IF EXIST("apr.sln") && ([devenv /help > NUL 2>&1] == 0) \
+ && !defined(USEMAK) && !defined(USEDSW)
+USESLN=1
+USEMAK=0
+USEDSW=0
+!ELSEIF EXIST("apr.mak") && !defined(USEDSW)
+USESLN=0
+USEMAK=1
+USEDSW=0
+!ELSE
+USESLN=0
+USEMAK=0
+USEDSW=1
+!ENDIF
+
+PREFIX=..\apr-dist
+
+!IF [$(COMSPEC) /c cl /nologo /? | find "x64" >NUL ] == 0
+ARCH=x64 Release
+!ELSE
+ARCH=Win32 Release
+!ENDIF
+
+!MESSAGE ARCH = $(ARCH)
+!MESSAGE PREFIX = $(PREFIX) (install path)
+
+
+# Utility and Translation things, nothing here for the user
+#
+!IF "$(ARCH)" == "Win32 Release"
+SLNARCH=Release|Win32
+ARCHOSPATH=Release
+LIBSOSPATH=LibR
+!ELSEIF "$(ARCH)" == "Win32 Debug"
+SLNARCH=Debug|Win32
+ARCHOSPATH=Debug
+LIBSOSPATH=LibD
+!ELSEIF "$(ARCH)" == "Win32 ReleaseNT"
+SLNARCH=ReleaseNT|Win32
+ARCHOSPATH=NT\Release
+LIBSOSPATH=NT\LibR
+!ELSEIF "$(ARCH)" == "Win32 DebugNT"
+SLNARCH=DebugNT|Win32
+ARCHOSPATH=NT\Debug
+LIBSOSPATH=NT\LibD
+!ELSEIF "$(ARCH)" == "x64 Release"
+SLNARCH=Release|x64
+ARCHOSPATH=x64\Release
+LIBSOSPATH=x64\LibR
+!ELSEIF "$(ARCH)" == "x64 Debug"
+SLNARCH=Debug|x64
+ARCHOSPATH=x64\Debug
+LIBSOSPATH=x64\LibD
+!ENDIF
+
+!IFNDEF MAKEOPT
+# Only default the behavior if MAKEOPT= is omitted
+!IFDEF _NMAKE_VER
+# Microsoft NMake options
+MAKEOPT=-nologo
+!ELSEIF "$(MAKE)" == "make"
+# Borland make options? Not really supported (yet)
+MAKEOPT=-s -N
+!ENDIF
+!ENDIF
+
+
+all: buildall checkall
+
+!IF $(USEMAK) == 1
+
+clean:
+ $(MAKE) $(MAKEOPT) -f Makefile.win ARCH="$(ARCH)" \
+ CTARGET=CLEAN buildall
+
+buildall:
+ $(MAKE) $(MAKEOPT) -f apr.mak CFG="apr - $(ARCH)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f libapr.mak CFG="libapr - $(ARCH)" RECURSE=0 $(CTARGET)
+ cd build
+ $(MAKE) $(MAKEOPT) -f apr_app.mak CFG="apr_app - $(ARCH)" RECURSE=0 $(CTARGET)
+ $(MAKE) $(MAKEOPT) -f libapr_app.mak CFG="libapr_app - $(ARCH)" RECURSE=0 $(CTARGET)
+ cd ..
+
+!ELSEIF $(USESLN) == 1
+
+clean:
+ -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libapr_app
+ -devenv apr.sln /useenv /clean "$(SLNARCH)" /project libapr
+ -devenv apr.sln /useenv /clean "$(SLNARCH)" /project apr_app
+ -devenv apr.sln /useenv /clean "$(SLNARCH)" /project apr
+
+buildall:
+ devenv apr.sln /useenv /build "$(SLNARCH)" /project apr
+ devenv apr.sln /useenv /build "$(SLNARCH)" /project apr_app
+ devenv apr.sln /useenv /build "$(SLNARCH)" /project libapr
+ devenv apr.sln /useenv /build "$(SLNARCH)" /project libapr_app
+
+!ELSE
+# $(USEDSP) == 1
+
+clean:
+ -msdev apr.dsw /USEENV /MAKE "libapr_app - $(ARCH)" /CLEAN
+ -msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)" /CLEAN
+ -msdev apr.dsw /USEENV /MAKE "apr_app - $(ARCH)" /CLEAN
+ -msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)" /CLEAN
+
+buildall:
+ @msdev apr.dsw /USEENV /MAKE "apr - $(ARCH)"
+ @msdev apr.dsw /USEENV /MAKE "apr_app - $(ARCH)"
+ @msdev apr.dsw /USEENV /MAKE "libapr - $(ARCH)"
+ @msdev apr.dsw /USEENV /MAKE "libapr_app - $(ARCH)"
+
+!ENDIF
+
+
+checkapr:
+ cd test
+ $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=static \
+ OUTDIR=$(LIBSOSPATH) check
+ $(MAKE) $(MAKEOPT) -f Makefile.win MODEL=dynamic \
+ OUTDIR=$(ARCHOSPATH) check
+ cd ..
+
+checkall: checkapr
+
+
+install:
+ echo Y >.y
+ echo A >.A
+ @if NOT EXIST "$(PREFIX)\." mkdir "$(PREFIX)"
+ @if NOT EXIST "$(PREFIX)\bin\." mkdir "$(PREFIX)\bin"
+ @if NOT EXIST "$(PREFIX)\include\." mkdir "$(PREFIX)\include"
+ @if NOT EXIST "$(PREFIX)\lib\." mkdir "$(PREFIX)\lib"
+ copy CHANGES "$(PREFIX)\CHANGES.txt" <.y
+ copy LICENSE "$(PREFIX)\LICENSE.txt" <.y
+ copy NOTICE "$(PREFIX)\NOTICE.txt" <.y
+ xcopy include\*.h "$(PREFIX)\include\" /d < .a
+ copy $(LIBSOSPATH)\apr-1.lib "$(PREFIX)\lib\" <.y
+ copy $(LIBSOSPATH)\apr-1.pdb "$(PREFIX)\lib\" <.y
+ copy $(ARCHOSPATH)\libapr-1.lib "$(PREFIX)\lib\" <.y
+ copy $(ARCHOSPATH)\libapr-1.exp "$(PREFIX)\lib\" <.y
+ copy $(ARCHOSPATH)\libapr-1.dll "$(PREFIX)\bin\" <.y
+ copy $(ARCHOSPATH)\libapr-1.pdb "$(PREFIX)\bin\" <.y
+ del .y
+ del .a
+
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..129db55
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,9 @@
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+Portions of this software were developed at the National Center
+for Supercomputing Applications (NCSA) at the University of
+Illinois at Urbana-Champaign.
+
+This software contains code derived from the RSA Data Security
+Inc. MD5 Message-Digest Algorithm.
diff --git a/NWGNUmakefile b/NWGNUmakefile
new file mode 100644
index 0000000..87ba30a
--- /dev/null
+++ b/NWGNUmakefile
@@ -0,0 +1,401 @@
+#
+# Declare the sub-directories to be built here
+#
+
+SUBDIRS = \
+ build \
+ $(APU_WORK) \
+ $(EOLIST)
+
+#
+# Get the 'head' of the build environment. This includes default targets and
+# paths to tools
+#
+
+include $(APR_WORK)\build\NWGNUhead.inc
+
+#
+# build this level's files
+
+#
+# Make sure all needed macro's are defined
+#
+
+#
+# These directories will be at the beginning of the include list, followed by
+# INCDIRS
+#
+XINCDIRS += \
+ $(APR)/include \
+ $(APR)/include/arch/NetWare \
+ $(APR)/include/arch/unix \
+ $(APR)/memory/unix \
+ $(APR)/random/unix \
+ $(APRUTIL)/xml \
+ $(EOLIST)
+
+#
+# These flags will come after CFLAGS
+#
+XCFLAGS += \
+ $(EOLIST)
+
+#
+# These defines will come after DEFINES
+#
+XDEFINES += \
+ $(EOLIST)
+
+#
+# These flags will be added to the link.opt file
+#
+XLFLAGS += \
+ $(EOLIST)
+
+#
+# These values will be appended to the correct variables based on the value of
+# RELEASE
+#
+ifeq "$(RELEASE)" "debug"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "noopt"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "release"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+#
+# These are used by the link target if an NLM is being generated
+# This is used by the link 'name' directive to name the nlm. If left blank
+# TARGET_nlm (see below) will be used.
+#
+NLM_NAME = aprlib
+
+#
+# This is used by the link '-desc ' directive.
+# If left blank, NLM_NAME will be used.
+#
+NLM_DESCRIPTION = Apache Portability Runtime Library $(VERSION_STR)
+
+#
+# This is used by the '-threadname' directive. If left blank,
+# NLM_NAME Thread will be used.
+#
+NLM_THREAD_NAME =
+#
+# If this is specified, it will override VERSION value in
+# $(APR_WORK)\build\NWGNUenvironment.inc
+#
+NLM_VERSION =
+
+#
+# If this is specified, it will override the default of 64K
+#
+NLM_STACK_SIZE =
+
+#
+# If this is specified it will be used by the link '-entry' directive
+#
+NLM_ENTRY_SYM = _LibCPrelude
+
+#
+# If this is specified it will be used by the link '-exit' directive
+#
+NLM_EXIT_SYM = _LibCPostlude
+
+#
+# If this is specified it will be used by the link '-check' directive
+#
+NLM_CHECK_SYM =
+
+#
+# If this is specified it will be used by the link '-flags' directive
+#
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+
+#
+# If this is specified it will be linked in with the XDCData option in the def
+# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
+# be disabled by setting APACHE_UNIPROC in the environment
+#
+XDCDATA =
+
+#
+# Declare all target files (you must add your files here)
+#
+
+#
+# If there is an NLM target, put it here
+#
+TARGET_nlm = \
+ $(OBJDIR)/aprlib.nlm \
+ $(EOLIST)
+
+#
+# If there is an LIB target, put it here
+#
+TARGET_lib = \
+ $(OBJDIR)/aprlib.lib \
+ $(EOLIST)
+
+#
+# These are the OBJ files needed to create the NLM target above.
+# Paths must all use the '/' character
+#
+FILES_nlm_objs = \
+ $(OBJDIR)/libprews.o \
+ $(EOLIST)
+
+#
+# These are the LIB files needed to create the NLM target above.
+# These will be added as a library command in the link.opt file.
+#
+FILES_nlm_libs = \
+ libcpre.o \
+ $(APRLIB) \
+ $(APRUTLIB) \
+ $(APULDAPLIB) \
+ $(XMLLIB) \
+ $(EOLIST)
+
+#
+# These are the modules that the above NLM target depends on to load.
+# These will be added as a module command in the link.opt file.
+#
+FILES_nlm_modules = \
+ Libc \
+ $(EOLIST)
+
+# Include the Winsock libraries if Winsock is being used
+ifndef USE_STDSOCKETS
+FILES_nlm_modules += ws2_32 \
+ $(EOLIST)
+endif
+
+#If the LDAP support is defined then add the auto-load modules
+ifneq "$(LDAPSDK)" ""
+FILES_nlm_modules += \
+ lldapsdk \
+ lldapssl \
+ $(EOLIST)
+endif
+
+#
+# If the nlm has a msg file, put it's path here
+#
+FILE_nlm_msg =
+
+#
+# If the nlm has a hlp file put it's path here
+#
+FILE_nlm_hlp =
+
+#
+# If this is specified, it will override $(NWOS)\copyright.txt.
+#
+FILE_nlm_copyright =
+
+#
+# Any additional imports go here
+#
+FILES_nlm_Ximports = \
+ @libc.imp \
+ @netware.imp \
+ $(EOLIST)
+
+# Include the Winsock imports if Winsock is being used
+ifndef USE_STDSOCKETS
+FILES_nlm_Ximports += \
+ @ws2nlm.imp \
+ WSAStartupRTags \
+ WSACleanupRTag \
+ $(EOLIST)
+endif
+
+#If the LDAP support is defined then add the imports
+ifneq "$(LDAPSDK)" ""
+FILES_nlm_Ximports += \
+ @$(LDAPSDK)/imports/lldapsdk.imp \
+ @$(LDAPSDK)/imports/lldapssl.imp \
+ $(EOLIST)
+endif
+
+#
+# Any symbols exported to here
+#
+FILES_nlm_exports = \
+ @aprlib.imp \
+ $(EOLIST)
+
+#
+# These are the OBJ files needed to create the LIB target above.
+# Paths must all use the '/' character
+#
+FILES_lib_objs = \
+ $(OBJDIR)/apr_atomic.o \
+ $(OBJDIR)/apr_cpystrn.o \
+ $(OBJDIR)/apr_fnmatch.o \
+ $(OBJDIR)/apr_getpass.o \
+ $(OBJDIR)/apr_hash.o \
+ $(OBJDIR)/apr_pools.o \
+ $(OBJDIR)/apr_random.o \
+ $(OBJDIR)/apr_snprintf.o \
+ $(OBJDIR)/apr_strings.o \
+ $(OBJDIR)/apr_strnatcmp.o \
+ $(OBJDIR)/apr_strtok.o \
+ $(OBJDIR)/apr_tables.o \
+ $(OBJDIR)/charset.o \
+ $(OBJDIR)/copy.o \
+ $(OBJDIR)/common.o \
+ $(OBJDIR)/dir.o \
+ $(OBJDIR)/dso.o \
+ $(OBJDIR)/errorcodes.o \
+ $(OBJDIR)/env.o \
+ $(OBJDIR)/fileacc.o \
+ $(OBJDIR)/filedup.o \
+ $(OBJDIR)/filepath.o \
+ $(OBJDIR)/filepath_util.o \
+ $(OBJDIR)/filestat.o \
+ $(OBJDIR)/filesys.o \
+ $(OBJDIR)/flock.o \
+ $(OBJDIR)/fullrw.o \
+ $(OBJDIR)/getopt.o \
+ $(OBJDIR)/groupinfo.o \
+ $(OBJDIR)/inet_pton.o \
+ $(OBJDIR)/inet_ntop.o \
+ $(OBJDIR)/libprews.o \
+ $(OBJDIR)/mktemp.o \
+ $(OBJDIR)/mmap.o \
+ $(OBJDIR)/multicast.o \
+ $(OBJDIR)/open.o \
+ $(OBJDIR)/pipe.o \
+ $(OBJDIR)/otherchild.o \
+ $(OBJDIR)/proc.o \
+ $(OBJDIR)/procsup.o \
+ $(OBJDIR)/proc_mutex.o \
+ $(OBJDIR)/rand.o \
+ $(OBJDIR)/readwrite.o \
+ $(OBJDIR)/seek.o \
+ $(OBJDIR)/select.o \
+ $(OBJDIR)/sendrecv.o \
+ $(OBJDIR)/sha2.o \
+ $(OBJDIR)/sha2_glue.o \
+ $(OBJDIR)/shm.o \
+ $(OBJDIR)/signals.o \
+ $(OBJDIR)/sockaddr.o \
+ $(OBJDIR)/sockets.o \
+ $(OBJDIR)/sockopt.o \
+ $(OBJDIR)/start.o \
+ $(OBJDIR)/tempdir.o \
+ $(OBJDIR)/thread.o \
+ $(OBJDIR)/thread_cond.o \
+ $(OBJDIR)/thread_mutex.o \
+ $(OBJDIR)/thread_rwlock.o \
+ $(OBJDIR)/threadpriv.o \
+ $(OBJDIR)/time.o \
+ $(OBJDIR)/timestr.o \
+ $(OBJDIR)/userinfo.o \
+ $(OBJDIR)/version.o \
+ $(OBJDIR)/waitio.o \
+ $(EOLIST)
+
+
+#
+# implement targets and dependancies (leave this section alone)
+#
+
+libs :: $(OBJDIR) $(TARGET_lib)
+
+nlms :: libs $(TARGET_nlm)
+
+#
+# Updated this target to create necessary directories and copy files to the
+# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+#
+install :: nlms $(INSTDIRS) FORCE
+ copy $(OBJDIR)\aprlib.nlm $(INSTALLBASE)\*.*
+ifndef DEST
+ -copy $(subst /,\,$(APR))\STATUS $(INSTALLBASE)\*.apr
+ -copy $(subst /,\,$(APR))\LICENSE $(INSTALLBASE)\*
+ -copy $(subst /,\,$(APR))\CHANGES $(INSTALLBASE)\*.apr
+ -copy $(subst /,\,$(APRUTIL))\STATUS $(INSTALLBASE)\*.apu
+ -copy $(subst /,\,$(APRUTIL))\CHANGES $(INSTALLBASE)\*.apu
+ @echo rem copying the docs directories > xc.bat
+ @echo xcopy docs $(INSTALLBASE)\docs\*.* $(XCOPYSW) >> xc.bat
+ $(CMD) xc.bat
+ $(DEL) xc.bat
+endif
+
+ifndef DEST
+installdev :: $(INSTDEVDIRS) FORCE
+ -copy $(subst /,\,$(APR))\include\*.h $(INSTALLBASE)\include\*.*
+ -copy $(subst /,\,$(APRUTIL))\include\*.h $(INSTALLBASE)\include\*.*
+ -copy $(subst /,\,$(APR))\*.imp $(INSTALLBASE)\lib\*.*
+ -copy $(subst /,\,$(APR))\misc\netware\*.xdc $(INSTALLBASE)\lib\*.*
+
+$(INSTDEVDIRS) ::
+ $(CHKNOT) $@\NUL mkdir $@
+endif
+
+#
+# Any specialized rules here
+#
+
+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
+
+# Use the win32 network_io if Winsock is being used
+ifdef USE_STDSOCKETS
+vpath %.c network_io/unix
+else
+vpath %.c network_io/win32:network_io/unix
+endif
+
+$(OBJDIR)/%.o: file_io/netware/%.c $(OBJDIR)\$(NLM_NAME)_cc.opt
+ @echo Compiling $<
+ $(CC) file_io\netware\$(<F) -cwd source -o=$(OBJDIR)\$(@F) @$(OBJDIR)\$(NLM_NAME)_cc.opt
+
+#
+# Include the 'tail' makefile that has targets that depend on variables defined
+# in this makefile
+#
+
+include $(APR_WORK)\build\NWGNUtail.inc
+
+
diff --git a/README.dev b/README.dev
new file mode 100644
index 0000000..03fcc0e
--- /dev/null
+++ b/README.dev
@@ -0,0 +1,30 @@
+Apache Portable Runtime
+=======================
+
+If you are building APR from SVN, you need to use a slightly non-standard
+build process. You must have autoconf and libtool installed for this to
+work. There are three steps:
+
+1) ./buildconf
+2) ./configure
+3) make
+
+If you are building APR from a distribution tarball, buildconf will have
+already been run for you, and you therefore do not need to have either
+autoconf or libtool installed, and you do not need to run buildconf. Skip
+step one above and just run configure then make.
+
+Generating Test Coverage information
+====================================
+
+If you want to generate test coverage data, use the following steps:
+
+1) ./buildconf
+2) CFLAGS="-fprofile-arcs -ftest-coverage" ./configure
+3) make
+4) cd test
+5) make
+6) ./testall
+7) cd ..
+8) make gcov
+
diff --git a/apr-1.2.12.xcodeproj/project.pbxproj b/apr-1.2.12.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..3febc74
--- /dev/null
+++ b/apr-1.2.12.xcodeproj/project.pbxproj
@@ -0,0 +1,694 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 45;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ B000549B0BCFEE240046ACE5 /* apr_atomic.c in Sources */ = {isa = PBXBuildFile; fileRef = B00051840BCFEE230046ACE5 /* apr_atomic.c */; };
+ B00054AA0BCFEE240046ACE5 /* dso.c in Sources */ = {isa = PBXBuildFile; fileRef = B00051E50BCFEE230046ACE5 /* dso.c */; };
+ B00054D60BCFEE240046ACE5 /* copy.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052190BCFEE230046ACE5 /* copy.c */; };
+ B00054D80BCFEE240046ACE5 /* dir.c in Sources */ = {isa = PBXBuildFile; fileRef = B000521C0BCFEE230046ACE5 /* dir.c */; };
+ B00054DA0BCFEE240046ACE5 /* fileacc.c in Sources */ = {isa = PBXBuildFile; fileRef = B000521F0BCFEE230046ACE5 /* fileacc.c */; };
+ B00054DC0BCFEE240046ACE5 /* filedup.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052220BCFEE230046ACE5 /* filedup.c */; };
+ B00054DE0BCFEE240046ACE5 /* filepath.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052250BCFEE230046ACE5 /* filepath.c */; };
+ B00054E00BCFEE240046ACE5 /* filepath_util.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052280BCFEE230046ACE5 /* filepath_util.c */; };
+ B00054E20BCFEE240046ACE5 /* filestat.c in Sources */ = {isa = PBXBuildFile; fileRef = B000522B0BCFEE230046ACE5 /* filestat.c */; };
+ B00054E40BCFEE240046ACE5 /* flock.c in Sources */ = {isa = PBXBuildFile; fileRef = B000522E0BCFEE230046ACE5 /* flock.c */; };
+ B00054E60BCFEE240046ACE5 /* fullrw.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052310BCFEE230046ACE5 /* fullrw.c */; };
+ B00054E80BCFEE240046ACE5 /* mktemp.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052340BCFEE230046ACE5 /* mktemp.c */; };
+ B00054EA0BCFEE240046ACE5 /* open.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052370BCFEE230046ACE5 /* open.c */; };
+ B00054EC0BCFEE240046ACE5 /* pipe.c in Sources */ = {isa = PBXBuildFile; fileRef = B000523A0BCFEE230046ACE5 /* pipe.c */; };
+ B00054EE0BCFEE240046ACE5 /* readwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = B000523D0BCFEE230046ACE5 /* readwrite.c */; };
+ B00054F00BCFEE240046ACE5 /* seek.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052400BCFEE230046ACE5 /* seek.c */; };
+ B00054F20BCFEE240046ACE5 /* tempdir.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052430BCFEE230046ACE5 /* tempdir.c */; };
+ B000556F0BCFEE240046ACE5 /* global_mutex.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052EE0BCFEE230046ACE5 /* global_mutex.c */; };
+ B00055710BCFEE240046ACE5 /* proc_mutex.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052F10BCFEE230046ACE5 /* proc_mutex.c */; };
+ B00055730BCFEE240046ACE5 /* thread_cond.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052F40BCFEE230046ACE5 /* thread_cond.c */; };
+ B00055750BCFEE240046ACE5 /* thread_mutex.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052F70BCFEE230046ACE5 /* thread_mutex.c */; };
+ B00055770BCFEE240046ACE5 /* thread_rwlock.c in Sources */ = {isa = PBXBuildFile; fileRef = B00052FA0BCFEE230046ACE5 /* thread_rwlock.c */; };
+ B000557F0BCFEE240046ACE5 /* apr_pools.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053080BCFEE230046ACE5 /* apr_pools.c */; };
+ B000558D0BCFEE240046ACE5 /* charset.c in Sources */ = {isa = PBXBuildFile; fileRef = B000531D0BCFEE230046ACE5 /* charset.c */; };
+ B000558F0BCFEE240046ACE5 /* env.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053200BCFEE230046ACE5 /* env.c */; };
+ B00055910BCFEE240046ACE5 /* errorcodes.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053230BCFEE230046ACE5 /* errorcodes.c */; };
+ B00055930BCFEE240046ACE5 /* getopt.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053260BCFEE230046ACE5 /* getopt.c */; };
+ B00055950BCFEE240046ACE5 /* otherchild.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053290BCFEE230046ACE5 /* otherchild.c */; };
+ B00055970BCFEE240046ACE5 /* rand.c in Sources */ = {isa = PBXBuildFile; fileRef = B000532C0BCFEE230046ACE5 /* rand.c */; };
+ B000559A0BCFEE240046ACE5 /* start.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053300BCFEE230046ACE5 /* start.c */; };
+ B000559C0BCFEE240046ACE5 /* version.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053330BCFEE230046ACE5 /* version.c */; };
+ B00055A80BCFEE240046ACE5 /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053440BCFEE230046ACE5 /* common.c */; };
+ B00055AA0BCFEE240046ACE5 /* mmap.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053470BCFEE230046ACE5 /* mmap.c */; };
+ B00055BE0BCFEE240046ACE5 /* inet_ntop.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053620BCFEE230046ACE5 /* inet_ntop.c */; };
+ B00055C00BCFEE240046ACE5 /* inet_pton.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053650BCFEE230046ACE5 /* inet_pton.c */; };
+ B00055C20BCFEE240046ACE5 /* multicast.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053680BCFEE230046ACE5 /* multicast.c */; };
+ B00055C40BCFEE240046ACE5 /* sendrecv.c in Sources */ = {isa = PBXBuildFile; fileRef = B000536B0BCFEE230046ACE5 /* sendrecv.c */; };
+ B00055C60BCFEE240046ACE5 /* sockaddr.c in Sources */ = {isa = PBXBuildFile; fileRef = B000536E0BCFEE230046ACE5 /* sockaddr.c */; };
+ B00055C80BCFEE240046ACE5 /* sockets.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053710BCFEE230046ACE5 /* sockets.c */; };
+ B00055CA0BCFEE240046ACE5 /* sockopt.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053740BCFEE230046ACE5 /* sockopt.c */; };
+ B00055D00BCFEE240046ACE5 /* apr_getpass.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053810BCFEE230046ACE5 /* apr_getpass.c */; };
+ B00055D90BCFEE240046ACE5 /* epoll.c in Sources */ = {isa = PBXBuildFile; fileRef = B000538F0BCFEE230046ACE5 /* epoll.c */; };
+ B00055DB0BCFEE240046ACE5 /* kqueue.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053920BCFEE230046ACE5 /* kqueue.c */; };
+ B00055DD0BCFEE240046ACE5 /* poll.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053950BCFEE230046ACE5 /* poll.c */; };
+ B00055DF0BCFEE240046ACE5 /* port.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053980BCFEE230046ACE5 /* port.c */; };
+ B00055E10BCFEE240046ACE5 /* select.c in Sources */ = {isa = PBXBuildFile; fileRef = B000539B0BCFEE230046ACE5 /* select.c */; };
+ B00055E60BCFEE240046ACE5 /* apr_random.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053A40BCFEE230046ACE5 /* apr_random.c */; };
+ B00055E80BCFEE240046ACE5 /* sha2.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053A70BCFEE230046ACE5 /* sha2.c */; };
+ B00055EB0BCFEE240046ACE5 /* sha2_glue.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053AB0BCFEE230046ACE5 /* sha2_glue.c */; };
+ B00055F00BCFEE240046ACE5 /* shm.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053B80BCFEE230046ACE5 /* shm.c */; };
+ B00055F90BCFEE240046ACE5 /* apr_cpystrn.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053C50BCFEE230046ACE5 /* apr_cpystrn.c */; };
+ B00055FB0BCFEE240046ACE5 /* apr_fnmatch.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053C80BCFEE230046ACE5 /* apr_fnmatch.c */; };
+ B00055FD0BCFEE240046ACE5 /* apr_snprintf.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053CB0BCFEE230046ACE5 /* apr_snprintf.c */; };
+ B00055FF0BCFEE240046ACE5 /* apr_strings.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053CE0BCFEE230046ACE5 /* apr_strings.c */; };
+ B00056010BCFEE240046ACE5 /* apr_strnatcmp.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053D10BCFEE230046ACE5 /* apr_strnatcmp.c */; };
+ B00056030BCFEE240046ACE5 /* apr_strtok.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053D40BCFEE230046ACE5 /* apr_strtok.c */; };
+ B00056060BCFEE240046ACE5 /* waitio.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053DB0BCFEE230046ACE5 /* waitio.c */; };
+ B000560A0BCFEE240046ACE5 /* apr_hash.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053E20BCFEE230046ACE5 /* apr_hash.c */; };
+ B000560C0BCFEE240046ACE5 /* apr_tables.c in Sources */ = {isa = PBXBuildFile; fileRef = B00053E50BCFEE230046ACE5 /* apr_tables.c */; };
+ B00056660BCFEE240046ACE5 /* proc.c in Sources */ = {isa = PBXBuildFile; fileRef = B000545F0BCFEE230046ACE5 /* proc.c */; };
+ B00056680BCFEE240046ACE5 /* procsup.c in Sources */ = {isa = PBXBuildFile; fileRef = B00054620BCFEE230046ACE5 /* procsup.c */; };
+ B000566A0BCFEE240046ACE5 /* signals.c in Sources */ = {isa = PBXBuildFile; fileRef = B00054650BCFEE230046ACE5 /* signals.c */; };
+ B000566C0BCFEE240046ACE5 /* thread.c in Sources */ = {isa = PBXBuildFile; fileRef = B00054680BCFEE230046ACE5 /* thread.c */; };
+ B000566E0BCFEE240046ACE5 /* threadpriv.c in Sources */ = {isa = PBXBuildFile; fileRef = B000546B0BCFEE230046ACE5 /* threadpriv.c */; };
+ B00056760BCFEE240046ACE5 /* time.c in Sources */ = {isa = PBXBuildFile; fileRef = B00054780BCFEE230046ACE5 /* time.c */; };
+ B00056780BCFEE240046ACE5 /* timestr.c in Sources */ = {isa = PBXBuildFile; fileRef = B000547B0BCFEE230046ACE5 /* timestr.c */; };
+ B00056810BCFEE240046ACE5 /* groupinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = B000548A0BCFEE240046ACE5 /* groupinfo.c */; };
+ B00056830BCFEE240046ACE5 /* userinfo.c in Sources */ = {isa = PBXBuildFile; fileRef = B000548D0BCFEE240046ACE5 /* userinfo.c */; };
+ B0BFAB7A0BCFF87300251D1F /* apr_proc_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB450BCFF87200251D1F /* apr_proc_mutex.h */; };
+ B0BFAB7B0BCFF87300251D1F /* sha2.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB460BCFF87200251D1F /* sha2.h */; };
+ B0BFAB7C0BCFF87300251D1F /* apr_hash.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB470BCFF87200251D1F /* apr_hash.h */; };
+ B0BFAB7D0BCFF87300251D1F /* apr_arch_networkio.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB480BCFF87200251D1F /* apr_arch_networkio.h */; };
+ B0BFAB7E0BCFF87300251D1F /* apr_network_io.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB490BCFF87200251D1F /* apr_network_io.h */; };
+ B0BFAB7F0BCFF87300251D1F /* apr_arch_inherit.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB4A0BCFF87200251D1F /* apr_arch_inherit.h */; };
+ B0BFAB800BCFF87300251D1F /* apr_thread_proc.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB4B0BCFF87200251D1F /* apr_thread_proc.h */; };
+ B0BFAB810BCFF87300251D1F /* apr_getopt.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB4C0BCFF87200251D1F /* apr_getopt.h */; };
+ B0BFAB820BCFF87300251D1F /* apr_thread_rwlock.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB4D0BCFF87200251D1F /* apr_thread_rwlock.h */; };
+ B0BFAB830BCFF87300251D1F /* apr_version.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB4E0BCFF87200251D1F /* apr_version.h */; };
+ B0BFAB840BCFF87300251D1F /* apr_thread_cond.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB4F0BCFF87200251D1F /* apr_thread_cond.h */; };
+ B0BFAB850BCFF87300251D1F /* apr_file_info.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB500BCFF87200251D1F /* apr_file_info.h */; };
+ B0BFAB860BCFF87300251D1F /* apr.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB510BCFF87200251D1F /* apr.h */; };
+ B0BFAB870BCFF87300251D1F /* apr_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB520BCFF87200251D1F /* apr_atomic.h */; };
+ B0BFAB880BCFF87300251D1F /* apr_fnmatch.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB530BCFF87200251D1F /* apr_fnmatch.h */; };
+ B0BFAB890BCFF87300251D1F /* apr_arch_proc_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB540BCFF87200251D1F /* apr_arch_proc_mutex.h */; };
+ B0BFAB8A0BCFF87300251D1F /* apr_inherit.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB550BCFF87200251D1F /* apr_inherit.h */; };
+ B0BFAB8B0BCFF87300251D1F /* apr_strings.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB560BCFF87200251D1F /* apr_strings.h */; };
+ B0BFAB8C0BCFF87300251D1F /* apr_private_common.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB570BCFF87200251D1F /* apr_private_common.h */; };
+ B0BFAB8D0BCFF87300251D1F /* apr_signal.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB580BCFF87200251D1F /* apr_signal.h */; };
+ B0BFAB8E0BCFF87300251D1F /* apr_random.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB590BCFF87200251D1F /* apr_random.h */; };
+ B0BFAB8F0BCFF87300251D1F /* apr_arch_global_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB5A0BCFF87200251D1F /* apr_arch_global_mutex.h */; };
+ B0BFAB900BCFF87300251D1F /* apr_file_io.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB5B0BCFF87200251D1F /* apr_file_io.h */; };
+ B0BFAB910BCFF87300251D1F /* apr_poll.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB5C0BCFF87200251D1F /* apr_poll.h */; };
+ B0BFAB920BCFF87300251D1F /* apr_errno.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB5D0BCFF87200251D1F /* apr_errno.h */; };
+ B0BFAB930BCFF87300251D1F /* apr_dso.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB5E0BCFF87200251D1F /* apr_dso.h */; };
+ B0BFAB940BCFF87300251D1F /* apr_portable.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB5F0BCFF87200251D1F /* apr_portable.h */; };
+ B0BFAB950BCFF87300251D1F /* apr_allocator.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB600BCFF87200251D1F /* apr_allocator.h */; };
+ B0BFAB960BCFF87300251D1F /* apr_time.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB610BCFF87200251D1F /* apr_time.h */; };
+ B0BFAB970BCFF87300251D1F /* apr_arch_threadproc.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB620BCFF87200251D1F /* apr_arch_threadproc.h */; };
+ B0BFAB980BCFF87300251D1F /* apr_lib.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB630BCFF87200251D1F /* apr_lib.h */; };
+ B0BFAB990BCFF87300251D1F /* apr_user.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB640BCFF87200251D1F /* apr_user.h */; };
+ B0BFAB9A0BCFF87300251D1F /* apr_arch_misc.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB650BCFF87200251D1F /* apr_arch_misc.h */; };
+ B0BFAB9B0BCFF87300251D1F /* apr_private.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB660BCFF87200251D1F /* apr_private.h */; };
+ B0BFAB9C0BCFF87300251D1F /* apr_env.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB670BCFF87200251D1F /* apr_env.h */; };
+ B0BFAB9D0BCFF87300251D1F /* apr_arch_thread_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB680BCFF87200251D1F /* apr_arch_thread_mutex.h */; };
+ B0BFAB9E0BCFF87300251D1F /* apr_shm.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB690BCFF87200251D1F /* apr_shm.h */; };
+ B0BFAB9F0BCFF87300251D1F /* apr_general.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB6A0BCFF87200251D1F /* apr_general.h */; };
+ B0BFABA00BCFF87300251D1F /* apr_support.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB6B0BCFF87200251D1F /* apr_support.h */; };
+ B0BFABA10BCFF87300251D1F /* apr_thread_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB6C0BCFF87200251D1F /* apr_thread_mutex.h */; };
+ B0BFABA20BCFF87300251D1F /* apr_pools.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB6D0BCFF87200251D1F /* apr_pools.h */; };
+ B0BFABA30BCFF87300251D1F /* apr_arch_thread_rwlock.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB6E0BCFF87200251D1F /* apr_arch_thread_rwlock.h */; };
+ B0BFABA40BCFF87300251D1F /* apr_tables.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB6F0BCFF87200251D1F /* apr_tables.h */; };
+ B0BFABA50BCFF87300251D1F /* apr_global_mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB700BCFF87200251D1F /* apr_global_mutex.h */; };
+ B0BFABA60BCFF87300251D1F /* apr_arch_shm.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB710BCFF87200251D1F /* apr_arch_shm.h */; };
+ B0BFABA70BCFF87300251D1F /* apr_arch_file_io.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB720BCFF87200251D1F /* apr_arch_file_io.h */; };
+ B0BFABA80BCFF87300251D1F /* apr_mmap.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB730BCFF87200251D1F /* apr_mmap.h */; };
+ B0BFABA90BCFF87300251D1F /* apr_want.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB740BCFF87200251D1F /* apr_want.h */; };
+ B0BFABAA0BCFF87300251D1F /* apr_arch_dso.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB750BCFF87200251D1F /* apr_arch_dso.h */; };
+ B0BFABAB0BCFF87300251D1F /* apr_arch_poll_private.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB760BCFF87200251D1F /* apr_arch_poll_private.h */; };
+ B0BFABAC0BCFF87300251D1F /* apr_arch_thread_cond.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB770BCFF87200251D1F /* apr_arch_thread_cond.h */; };
+ B0BFABAD0BCFF87300251D1F /* apr_ring.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB780BCFF87200251D1F /* apr_ring.h */; };
+ B0BFABAE0BCFF87300251D1F /* apr_arch_internal_time.h in Headers */ = {isa = PBXBuildFile; fileRef = B0BFAB790BCFF87200251D1F /* apr_arch_internal_time.h */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ B00051840BCFEE230046ACE5 /* apr_atomic.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_atomic.c; path = atomic/unix/apr_atomic.c; sourceTree = "<group>"; };
+ B00051E50BCFEE230046ACE5 /* dso.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dso.c; path = dso/unix/dso.c; sourceTree = "<group>"; };
+ B00052190BCFEE230046ACE5 /* copy.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = copy.c; path = file_io/unix/copy.c; sourceTree = "<group>"; };
+ B000521C0BCFEE230046ACE5 /* dir.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dir.c; path = file_io/unix/dir.c; sourceTree = "<group>"; };
+ B000521F0BCFEE230046ACE5 /* fileacc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = fileacc.c; path = file_io/unix/fileacc.c; sourceTree = "<group>"; };
+ B00052220BCFEE230046ACE5 /* filedup.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = filedup.c; path = file_io/unix/filedup.c; sourceTree = "<group>"; };
+ B00052250BCFEE230046ACE5 /* filepath.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = filepath.c; path = file_io/unix/filepath.c; sourceTree = "<group>"; };
+ B00052280BCFEE230046ACE5 /* filepath_util.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = filepath_util.c; path = file_io/unix/filepath_util.c; sourceTree = "<group>"; };
+ B000522B0BCFEE230046ACE5 /* filestat.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = filestat.c; path = file_io/unix/filestat.c; sourceTree = "<group>"; };
+ B000522E0BCFEE230046ACE5 /* flock.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = flock.c; path = file_io/unix/flock.c; sourceTree = "<group>"; };
+ B00052310BCFEE230046ACE5 /* fullrw.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = fullrw.c; path = file_io/unix/fullrw.c; sourceTree = "<group>"; };
+ B00052340BCFEE230046ACE5 /* mktemp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = mktemp.c; path = file_io/unix/mktemp.c; sourceTree = "<group>"; };
+ B00052370BCFEE230046ACE5 /* open.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = open.c; path = file_io/unix/open.c; sourceTree = "<group>"; };
+ B000523A0BCFEE230046ACE5 /* pipe.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = pipe.c; path = file_io/unix/pipe.c; sourceTree = "<group>"; };
+ B000523D0BCFEE230046ACE5 /* readwrite.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = readwrite.c; path = file_io/unix/readwrite.c; sourceTree = "<group>"; };
+ B00052400BCFEE230046ACE5 /* seek.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = seek.c; path = file_io/unix/seek.c; sourceTree = "<group>"; };
+ B00052430BCFEE230046ACE5 /* tempdir.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = tempdir.c; path = file_io/unix/tempdir.c; sourceTree = "<group>"; };
+ B00052EE0BCFEE230046ACE5 /* global_mutex.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = global_mutex.c; path = locks/unix/global_mutex.c; sourceTree = "<group>"; };
+ B00052F10BCFEE230046ACE5 /* proc_mutex.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = proc_mutex.c; path = locks/unix/proc_mutex.c; sourceTree = "<group>"; };
+ B00052F40BCFEE230046ACE5 /* thread_cond.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = thread_cond.c; path = locks/unix/thread_cond.c; sourceTree = "<group>"; };
+ B00052F70BCFEE230046ACE5 /* thread_mutex.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = thread_mutex.c; path = locks/unix/thread_mutex.c; sourceTree = "<group>"; };
+ B00052FA0BCFEE230046ACE5 /* thread_rwlock.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = thread_rwlock.c; path = locks/unix/thread_rwlock.c; sourceTree = "<group>"; };
+ B00053080BCFEE230046ACE5 /* apr_pools.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_pools.c; path = memory/unix/apr_pools.c; sourceTree = "<group>"; };
+ B000531D0BCFEE230046ACE5 /* charset.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = charset.c; path = misc/unix/charset.c; sourceTree = "<group>"; };
+ B00053200BCFEE230046ACE5 /* env.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = env.c; path = misc/unix/env.c; sourceTree = "<group>"; };
+ B00053230BCFEE230046ACE5 /* errorcodes.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = errorcodes.c; path = misc/unix/errorcodes.c; sourceTree = "<group>"; };
+ B00053260BCFEE230046ACE5 /* getopt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = getopt.c; path = misc/unix/getopt.c; sourceTree = "<group>"; };
+ B00053290BCFEE230046ACE5 /* otherchild.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = otherchild.c; path = misc/unix/otherchild.c; sourceTree = "<group>"; };
+ B000532C0BCFEE230046ACE5 /* rand.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = rand.c; path = misc/unix/rand.c; sourceTree = "<group>"; };
+ B00053300BCFEE230046ACE5 /* start.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = start.c; path = misc/unix/start.c; sourceTree = "<group>"; };
+ B00053330BCFEE230046ACE5 /* version.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = version.c; path = misc/unix/version.c; sourceTree = "<group>"; };
+ B00053440BCFEE230046ACE5 /* common.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = common.c; path = mmap/unix/common.c; sourceTree = "<group>"; };
+ B00053470BCFEE230046ACE5 /* mmap.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = mmap.c; path = mmap/unix/mmap.c; sourceTree = "<group>"; };
+ B00053620BCFEE230046ACE5 /* inet_ntop.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = inet_ntop.c; path = network_io/unix/inet_ntop.c; sourceTree = "<group>"; };
+ B00053650BCFEE230046ACE5 /* inet_pton.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = inet_pton.c; path = network_io/unix/inet_pton.c; sourceTree = "<group>"; };
+ B00053680BCFEE230046ACE5 /* multicast.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = multicast.c; path = network_io/unix/multicast.c; sourceTree = "<group>"; };
+ B000536B0BCFEE230046ACE5 /* sendrecv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sendrecv.c; path = network_io/unix/sendrecv.c; sourceTree = "<group>"; };
+ B000536E0BCFEE230046ACE5 /* sockaddr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sockaddr.c; path = network_io/unix/sockaddr.c; sourceTree = "<group>"; };
+ B00053710BCFEE230046ACE5 /* sockets.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sockets.c; path = network_io/unix/sockets.c; sourceTree = "<group>"; };
+ B00053740BCFEE230046ACE5 /* sockopt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sockopt.c; path = network_io/unix/sockopt.c; sourceTree = "<group>"; };
+ B00053810BCFEE230046ACE5 /* apr_getpass.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_getpass.c; path = passwd/apr_getpass.c; sourceTree = "<group>"; };
+ B000538F0BCFEE230046ACE5 /* epoll.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = epoll.c; path = poll/unix/epoll.c; sourceTree = "<group>"; };
+ B00053920BCFEE230046ACE5 /* kqueue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = kqueue.c; path = poll/unix/kqueue.c; sourceTree = "<group>"; };
+ B00053950BCFEE230046ACE5 /* poll.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = poll.c; path = poll/unix/poll.c; sourceTree = "<group>"; };
+ B00053980BCFEE230046ACE5 /* port.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = port.c; path = poll/unix/port.c; sourceTree = "<group>"; };
+ B000539B0BCFEE230046ACE5 /* select.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = select.c; path = poll/unix/select.c; sourceTree = "<group>"; };
+ B00053A40BCFEE230046ACE5 /* apr_random.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_random.c; path = random/unix/apr_random.c; sourceTree = "<group>"; };
+ B00053A70BCFEE230046ACE5 /* sha2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sha2.c; path = random/unix/sha2.c; sourceTree = "<group>"; };
+ B00053AB0BCFEE230046ACE5 /* sha2_glue.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sha2_glue.c; path = random/unix/sha2_glue.c; sourceTree = "<group>"; };
+ B00053B80BCFEE230046ACE5 /* shm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = shm.c; path = shmem/unix/shm.c; sourceTree = "<group>"; };
+ B00053C50BCFEE230046ACE5 /* apr_cpystrn.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_cpystrn.c; path = strings/apr_cpystrn.c; sourceTree = "<group>"; };
+ B00053C80BCFEE230046ACE5 /* apr_fnmatch.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_fnmatch.c; path = strings/apr_fnmatch.c; sourceTree = "<group>"; };
+ B00053CB0BCFEE230046ACE5 /* apr_snprintf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_snprintf.c; path = strings/apr_snprintf.c; sourceTree = "<group>"; };
+ B00053CE0BCFEE230046ACE5 /* apr_strings.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_strings.c; path = strings/apr_strings.c; sourceTree = "<group>"; };
+ B00053D10BCFEE230046ACE5 /* apr_strnatcmp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_strnatcmp.c; path = strings/apr_strnatcmp.c; sourceTree = "<group>"; };
+ B00053D40BCFEE230046ACE5 /* apr_strtok.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_strtok.c; path = strings/apr_strtok.c; sourceTree = "<group>"; };
+ B00053DB0BCFEE230046ACE5 /* waitio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = waitio.c; path = support/unix/waitio.c; sourceTree = "<group>"; };
+ B00053E20BCFEE230046ACE5 /* apr_hash.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_hash.c; path = tables/apr_hash.c; sourceTree = "<group>"; };
+ B00053E50BCFEE230046ACE5 /* apr_tables.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = apr_tables.c; path = tables/apr_tables.c; sourceTree = "<group>"; };
+ B000545F0BCFEE230046ACE5 /* proc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = proc.c; path = threadproc/unix/proc.c; sourceTree = "<group>"; };
+ B00054620BCFEE230046ACE5 /* procsup.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = procsup.c; path = threadproc/unix/procsup.c; sourceTree = "<group>"; };
+ B00054650BCFEE230046ACE5 /* signals.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = signals.c; path = threadproc/unix/signals.c; sourceTree = "<group>"; };
+ B00054680BCFEE230046ACE5 /* thread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = thread.c; path = threadproc/unix/thread.c; sourceTree = "<group>"; };
+ B000546B0BCFEE230046ACE5 /* threadpriv.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = threadpriv.c; path = threadproc/unix/threadpriv.c; sourceTree = "<group>"; };
+ B00054780BCFEE230046ACE5 /* time.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = time.c; path = time/unix/time.c; sourceTree = "<group>"; };
+ B000547B0BCFEE230046ACE5 /* timestr.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = timestr.c; path = time/unix/timestr.c; sourceTree = "<group>"; };
+ B000548A0BCFEE240046ACE5 /* groupinfo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = groupinfo.c; path = user/unix/groupinfo.c; sourceTree = "<group>"; };
+ B000548D0BCFEE240046ACE5 /* userinfo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = userinfo.c; path = user/unix/userinfo.c; sourceTree = "<group>"; };
+ B0BFAB450BCFF87200251D1F /* apr_proc_mutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_proc_mutex.h; path = include/apr_proc_mutex.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB460BCFF87200251D1F /* sha2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sha2.h; path = random/unix/sha2.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB470BCFF87200251D1F /* apr_hash.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_hash.h; path = include/apr_hash.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB480BCFF87200251D1F /* apr_arch_networkio.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_networkio.h; path = include/arch/unix/apr_arch_networkio.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB490BCFF87200251D1F /* apr_network_io.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_network_io.h; path = include/apr_network_io.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB4A0BCFF87200251D1F /* apr_arch_inherit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_inherit.h; path = include/arch/unix/apr_arch_inherit.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB4B0BCFF87200251D1F /* apr_thread_proc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_thread_proc.h; path = include/apr_thread_proc.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB4C0BCFF87200251D1F /* apr_getopt.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_getopt.h; path = include/apr_getopt.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB4D0BCFF87200251D1F /* apr_thread_rwlock.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_thread_rwlock.h; path = include/apr_thread_rwlock.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB4E0BCFF87200251D1F /* apr_version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_version.h; path = include/apr_version.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB4F0BCFF87200251D1F /* apr_thread_cond.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_thread_cond.h; path = include/apr_thread_cond.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB500BCFF87200251D1F /* apr_file_info.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_file_info.h; path = include/apr_file_info.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB510BCFF87200251D1F /* apr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr.h; path = include/apr.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB520BCFF87200251D1F /* apr_atomic.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_atomic.h; path = include/apr_atomic.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB530BCFF87200251D1F /* apr_fnmatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_fnmatch.h; path = include/apr_fnmatch.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB540BCFF87200251D1F /* apr_arch_proc_mutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_proc_mutex.h; path = include/arch/unix/apr_arch_proc_mutex.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB550BCFF87200251D1F /* apr_inherit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_inherit.h; path = include/apr_inherit.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB560BCFF87200251D1F /* apr_strings.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_strings.h; path = include/apr_strings.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB570BCFF87200251D1F /* apr_private_common.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_private_common.h; path = include/arch/apr_private_common.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB580BCFF87200251D1F /* apr_signal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_signal.h; path = include/apr_signal.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB590BCFF87200251D1F /* apr_random.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_random.h; path = include/apr_random.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB5A0BCFF87200251D1F /* apr_arch_global_mutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_global_mutex.h; path = include/arch/unix/apr_arch_global_mutex.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB5B0BCFF87200251D1F /* apr_file_io.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_file_io.h; path = include/apr_file_io.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB5C0BCFF87200251D1F /* apr_poll.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_poll.h; path = include/apr_poll.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB5D0BCFF87200251D1F /* apr_errno.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_errno.h; path = include/apr_errno.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB5E0BCFF87200251D1F /* apr_dso.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_dso.h; path = include/apr_dso.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB5F0BCFF87200251D1F /* apr_portable.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_portable.h; path = include/apr_portable.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB600BCFF87200251D1F /* apr_allocator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_allocator.h; path = include/apr_allocator.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB610BCFF87200251D1F /* apr_time.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_time.h; path = include/apr_time.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB620BCFF87200251D1F /* apr_arch_threadproc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_threadproc.h; path = include/arch/unix/apr_arch_threadproc.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB630BCFF87200251D1F /* apr_lib.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_lib.h; path = include/apr_lib.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB640BCFF87200251D1F /* apr_user.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_user.h; path = include/apr_user.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB650BCFF87200251D1F /* apr_arch_misc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_misc.h; path = include/arch/unix/apr_arch_misc.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB660BCFF87200251D1F /* apr_private.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_private.h; path = include/arch/unix/apr_private.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB670BCFF87200251D1F /* apr_env.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_env.h; path = include/apr_env.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB680BCFF87200251D1F /* apr_arch_thread_mutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_thread_mutex.h; path = include/arch/unix/apr_arch_thread_mutex.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB690BCFF87200251D1F /* apr_shm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_shm.h; path = include/apr_shm.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB6A0BCFF87200251D1F /* apr_general.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_general.h; path = include/apr_general.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB6B0BCFF87200251D1F /* apr_support.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_support.h; path = include/apr_support.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB6C0BCFF87200251D1F /* apr_thread_mutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_thread_mutex.h; path = include/apr_thread_mutex.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB6D0BCFF87200251D1F /* apr_pools.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_pools.h; path = include/apr_pools.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB6E0BCFF87200251D1F /* apr_arch_thread_rwlock.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_thread_rwlock.h; path = include/arch/unix/apr_arch_thread_rwlock.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB6F0BCFF87200251D1F /* apr_tables.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_tables.h; path = include/apr_tables.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB700BCFF87200251D1F /* apr_global_mutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_global_mutex.h; path = include/apr_global_mutex.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB710BCFF87200251D1F /* apr_arch_shm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_shm.h; path = include/arch/unix/apr_arch_shm.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB720BCFF87200251D1F /* apr_arch_file_io.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_file_io.h; path = include/arch/unix/apr_arch_file_io.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB730BCFF87200251D1F /* apr_mmap.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_mmap.h; path = include/apr_mmap.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB740BCFF87200251D1F /* apr_want.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_want.h; path = include/apr_want.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB750BCFF87200251D1F /* apr_arch_dso.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_dso.h; path = include/arch/unix/apr_arch_dso.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB760BCFF87200251D1F /* apr_arch_poll_private.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_poll_private.h; path = include/arch/unix/apr_arch_poll_private.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB770BCFF87200251D1F /* apr_arch_thread_cond.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_thread_cond.h; path = include/arch/unix/apr_arch_thread_cond.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB780BCFF87200251D1F /* apr_ring.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_ring.h; path = include/apr_ring.h; sourceTree = SOURCE_ROOT; };
+ B0BFAB790BCFF87200251D1F /* apr_arch_internal_time.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = apr_arch_internal_time.h; path = include/arch/unix/apr_arch_internal_time.h; sourceTree = SOURCE_ROOT; };
+ D2AAC046055464E500DB518D /* libapr-1.2.12.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libapr-1.2.12.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ D720CB920D9813D0003AE8EC /* MacConfigExternalDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = MacConfigExternalDebug.xcconfig; path = ../MacConfigExternalDebug.xcconfig; sourceTree = SOURCE_ROOT; };
+ D720CB930D9813D0003AE8EC /* MacConfigExternalRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = MacConfigExternalRelease.xcconfig; path = ../MacConfigExternalRelease.xcconfig; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ D289987405E68DCB004EDB86 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 08FB7794FE84155DC02AAC07 /* apr-1.2.12 */ = {
+ isa = PBXGroup;
+ children = (
+ D720CB920D9813D0003AE8EC /* MacConfigExternalDebug.xcconfig */,
+ D720CB930D9813D0003AE8EC /* MacConfigExternalRelease.xcconfig */,
+ 08FB7795FE84155DC02AAC07 /* Source */,
+ C6A0FF2B0290797F04C91782 /* Documentation */,
+ 1AB674ADFE9D54B511CA2CBB /* Products */,
+ );
+ name = "apr-1.2.12";
+ sourceTree = "<group>";
+ };
+ 08FB7795FE84155DC02AAC07 /* Source */ = {
+ isa = PBXGroup;
+ children = (
+ B0BFAB450BCFF87200251D1F /* apr_proc_mutex.h */,
+ B0BFAB460BCFF87200251D1F /* sha2.h */,
+ B0BFAB470BCFF87200251D1F /* apr_hash.h */,
+ B0BFAB480BCFF87200251D1F /* apr_arch_networkio.h */,
+ B0BFAB490BCFF87200251D1F /* apr_network_io.h */,
+ B0BFAB4A0BCFF87200251D1F /* apr_arch_inherit.h */,
+ B0BFAB4B0BCFF87200251D1F /* apr_thread_proc.h */,
+ B0BFAB4C0BCFF87200251D1F /* apr_getopt.h */,
+ B0BFAB4D0BCFF87200251D1F /* apr_thread_rwlock.h */,
+ B0BFAB4E0BCFF87200251D1F /* apr_version.h */,
+ B0BFAB4F0BCFF87200251D1F /* apr_thread_cond.h */,
+ B0BFAB500BCFF87200251D1F /* apr_file_info.h */,
+ B0BFAB510BCFF87200251D1F /* apr.h */,
+ B0BFAB520BCFF87200251D1F /* apr_atomic.h */,
+ B0BFAB530BCFF87200251D1F /* apr_fnmatch.h */,
+ B0BFAB540BCFF87200251D1F /* apr_arch_proc_mutex.h */,
+ B0BFAB550BCFF87200251D1F /* apr_inherit.h */,
+ B0BFAB560BCFF87200251D1F /* apr_strings.h */,
+ B0BFAB570BCFF87200251D1F /* apr_private_common.h */,
+ B0BFAB580BCFF87200251D1F /* apr_signal.h */,
+ B0BFAB590BCFF87200251D1F /* apr_random.h */,
+ B0BFAB5A0BCFF87200251D1F /* apr_arch_global_mutex.h */,
+ B0BFAB5B0BCFF87200251D1F /* apr_file_io.h */,
+ B0BFAB5C0BCFF87200251D1F /* apr_poll.h */,
+ B0BFAB5D0BCFF87200251D1F /* apr_errno.h */,
+ B0BFAB5E0BCFF87200251D1F /* apr_dso.h */,
+ B0BFAB5F0BCFF87200251D1F /* apr_portable.h */,
+ B0BFAB600BCFF87200251D1F /* apr_allocator.h */,
+ B0BFAB610BCFF87200251D1F /* apr_time.h */,
+ B0BFAB620BCFF87200251D1F /* apr_arch_threadproc.h */,
+ B0BFAB630BCFF87200251D1F /* apr_lib.h */,
+ B0BFAB640BCFF87200251D1F /* apr_user.h */,
+ B0BFAB650BCFF87200251D1F /* apr_arch_misc.h */,
+ B0BFAB660BCFF87200251D1F /* apr_private.h */,
+ B0BFAB670BCFF87200251D1F /* apr_env.h */,
+ B0BFAB680BCFF87200251D1F /* apr_arch_thread_mutex.h */,
+ B0BFAB690BCFF87200251D1F /* apr_shm.h */,
+ B0BFAB6A0BCFF87200251D1F /* apr_general.h */,
+ B0BFAB6B0BCFF87200251D1F /* apr_support.h */,
+ B0BFAB6C0BCFF87200251D1F /* apr_thread_mutex.h */,
+ B0BFAB6D0BCFF87200251D1F /* apr_pools.h */,
+ B0BFAB6E0BCFF87200251D1F /* apr_arch_thread_rwlock.h */,
+ B0BFAB6F0BCFF87200251D1F /* apr_tables.h */,
+ B0BFAB700BCFF87200251D1F /* apr_global_mutex.h */,
+ B0BFAB710BCFF87200251D1F /* apr_arch_shm.h */,
+ B0BFAB720BCFF87200251D1F /* apr_arch_file_io.h */,
+ B0BFAB730BCFF87200251D1F /* apr_mmap.h */,
+ B0BFAB740BCFF87200251D1F /* apr_want.h */,
+ B0BFAB750BCFF87200251D1F /* apr_arch_dso.h */,
+ B0BFAB760BCFF87200251D1F /* apr_arch_poll_private.h */,
+ B0BFAB770BCFF87200251D1F /* apr_arch_thread_cond.h */,
+ B0BFAB780BCFF87200251D1F /* apr_ring.h */,
+ B0BFAB790BCFF87200251D1F /* apr_arch_internal_time.h */,
+ B00052FA0BCFEE230046ACE5 /* thread_rwlock.c */,
+ B00052F40BCFEE230046ACE5 /* thread_cond.c */,
+ B00051E50BCFEE230046ACE5 /* dso.c */,
+ B00053680BCFEE230046ACE5 /* multicast.c */,
+ B00053470BCFEE230046ACE5 /* mmap.c */,
+ B00052250BCFEE230046ACE5 /* filepath.c */,
+ B000548A0BCFEE240046ACE5 /* groupinfo.c */,
+ B00053650BCFEE230046ACE5 /* inet_pton.c */,
+ B000538F0BCFEE230046ACE5 /* epoll.c */,
+ B00053920BCFEE230046ACE5 /* kqueue.c */,
+ B00053300BCFEE230046ACE5 /* start.c */,
+ B00052400BCFEE230046ACE5 /* seek.c */,
+ B00053740BCFEE230046ACE5 /* sockopt.c */,
+ B00053710BCFEE230046ACE5 /* sockets.c */,
+ B00053C50BCFEE230046ACE5 /* apr_cpystrn.c */,
+ B000521C0BCFEE230046ACE5 /* dir.c */,
+ B00053A70BCFEE230046ACE5 /* sha2.c */,
+ B000545F0BCFEE230046ACE5 /* proc.c */,
+ B000547B0BCFEE230046ACE5 /* timestr.c */,
+ B000532C0BCFEE230046ACE5 /* rand.c */,
+ B00052F70BCFEE230046ACE5 /* thread_mutex.c */,
+ B00053CB0BCFEE230046ACE5 /* apr_snprintf.c */,
+ B00052370BCFEE230046ACE5 /* open.c */,
+ B00054650BCFEE230046ACE5 /* signals.c */,
+ B000536E0BCFEE230046ACE5 /* sockaddr.c */,
+ B00053CE0BCFEE230046ACE5 /* apr_strings.c */,
+ B00052EE0BCFEE230046ACE5 /* global_mutex.c */,
+ B00053260BCFEE230046ACE5 /* getopt.c */,
+ B00052310BCFEE230046ACE5 /* fullrw.c */,
+ B00054680BCFEE230046ACE5 /* thread.c */,
+ B00052340BCFEE230046ACE5 /* mktemp.c */,
+ B00054620BCFEE230046ACE5 /* procsup.c */,
+ B00052190BCFEE230046ACE5 /* copy.c */,
+ B00053AB0BCFEE230046ACE5 /* sha2_glue.c */,
+ B00052280BCFEE230046ACE5 /* filepath_util.c */,
+ B00053810BCFEE230046ACE5 /* apr_getpass.c */,
+ B000521F0BCFEE230046ACE5 /* fileacc.c */,
+ B00054780BCFEE230046ACE5 /* time.c */,
+ B000548D0BCFEE240046ACE5 /* userinfo.c */,
+ B00053D10BCFEE230046ACE5 /* apr_strnatcmp.c */,
+ B00053200BCFEE230046ACE5 /* env.c */,
+ B00052430BCFEE230046ACE5 /* tempdir.c */,
+ B00053E20BCFEE230046ACE5 /* apr_hash.c */,
+ B000536B0BCFEE230046ACE5 /* sendrecv.c */,
+ B00053B80BCFEE230046ACE5 /* shm.c */,
+ B00053E50BCFEE230046ACE5 /* apr_tables.c */,
+ B00053A40BCFEE230046ACE5 /* apr_random.c */,
+ B00053440BCFEE230046ACE5 /* common.c */,
+ B00053290BCFEE230046ACE5 /* otherchild.c */,
+ B00053230BCFEE230046ACE5 /* errorcodes.c */,
+ B00051840BCFEE230046ACE5 /* apr_atomic.c */,
+ B000539B0BCFEE230046ACE5 /* select.c */,
+ B00053330BCFEE230046ACE5 /* version.c */,
+ B000531D0BCFEE230046ACE5 /* charset.c */,
+ B00053950BCFEE230046ACE5 /* poll.c */,
+ B000522B0BCFEE230046ACE5 /* filestat.c */,
+ B000546B0BCFEE230046ACE5 /* threadpriv.c */,
+ B000522E0BCFEE230046ACE5 /* flock.c */,
+ B000523D0BCFEE230046ACE5 /* readwrite.c */,
+ B00053620BCFEE230046ACE5 /* inet_ntop.c */,
+ B00053C80BCFEE230046ACE5 /* apr_fnmatch.c */,
+ B00052F10BCFEE230046ACE5 /* proc_mutex.c */,
+ B00053980BCFEE230046ACE5 /* port.c */,
+ B000523A0BCFEE230046ACE5 /* pipe.c */,
+ B00052220BCFEE230046ACE5 /* filedup.c */,
+ B00053DB0BCFEE230046ACE5 /* waitio.c */,
+ B00053D40BCFEE230046ACE5 /* apr_strtok.c */,
+ B00053080BCFEE230046ACE5 /* apr_pools.c */,
+ );
+ name = Source;
+ sourceTree = "<group>";
+ };
+ 1AB674ADFE9D54B511CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D2AAC046055464E500DB518D /* libapr-1.2.12.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ C6A0FF2B0290797F04C91782 /* Documentation */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Documentation;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ D2AAC043055464E500DB518D /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B0BFAB7A0BCFF87300251D1F /* apr_proc_mutex.h in Headers */,
+ B0BFAB7B0BCFF87300251D1F /* sha2.h in Headers */,
+ B0BFAB7C0BCFF87300251D1F /* apr_hash.h in Headers */,
+ B0BFAB7D0BCFF87300251D1F /* apr_arch_networkio.h in Headers */,
+ B0BFAB7E0BCFF87300251D1F /* apr_network_io.h in Headers */,
+ B0BFAB7F0BCFF87300251D1F /* apr_arch_inherit.h in Headers */,
+ B0BFAB800BCFF87300251D1F /* apr_thread_proc.h in Headers */,
+ B0BFAB810BCFF87300251D1F /* apr_getopt.h in Headers */,
+ B0BFAB820BCFF87300251D1F /* apr_thread_rwlock.h in Headers */,
+ B0BFAB830BCFF87300251D1F /* apr_version.h in Headers */,
+ B0BFAB840BCFF87300251D1F /* apr_thread_cond.h in Headers */,
+ B0BFAB850BCFF87300251D1F /* apr_file_info.h in Headers */,
+ B0BFAB860BCFF87300251D1F /* apr.h in Headers */,
+ B0BFAB870BCFF87300251D1F /* apr_atomic.h in Headers */,
+ B0BFAB880BCFF87300251D1F /* apr_fnmatch.h in Headers */,
+ B0BFAB890BCFF87300251D1F /* apr_arch_proc_mutex.h in Headers */,
+ B0BFAB8A0BCFF87300251D1F /* apr_inherit.h in Headers */,
+ B0BFAB8B0BCFF87300251D1F /* apr_strings.h in Headers */,
+ B0BFAB8C0BCFF87300251D1F /* apr_private_common.h in Headers */,
+ B0BFAB8D0BCFF87300251D1F /* apr_signal.h in Headers */,
+ B0BFAB8E0BCFF87300251D1F /* apr_random.h in Headers */,
+ B0BFAB8F0BCFF87300251D1F /* apr_arch_global_mutex.h in Headers */,
+ B0BFAB900BCFF87300251D1F /* apr_file_io.h in Headers */,
+ B0BFAB910BCFF87300251D1F /* apr_poll.h in Headers */,
+ B0BFAB920BCFF87300251D1F /* apr_errno.h in Headers */,
+ B0BFAB930BCFF87300251D1F /* apr_dso.h in Headers */,
+ B0BFAB940BCFF87300251D1F /* apr_portable.h in Headers */,
+ B0BFAB950BCFF87300251D1F /* apr_allocator.h in Headers */,
+ B0BFAB960BCFF87300251D1F /* apr_time.h in Headers */,
+ B0BFAB970BCFF87300251D1F /* apr_arch_threadproc.h in Headers */,
+ B0BFAB980BCFF87300251D1F /* apr_lib.h in Headers */,
+ B0BFAB990BCFF87300251D1F /* apr_user.h in Headers */,
+ B0BFAB9A0BCFF87300251D1F /* apr_arch_misc.h in Headers */,
+ B0BFAB9B0BCFF87300251D1F /* apr_private.h in Headers */,
+ B0BFAB9C0BCFF87300251D1F /* apr_env.h in Headers */,
+ B0BFAB9D0BCFF87300251D1F /* apr_arch_thread_mutex.h in Headers */,
+ B0BFAB9E0BCFF87300251D1F /* apr_shm.h in Headers */,
+ B0BFAB9F0BCFF87300251D1F /* apr_general.h in Headers */,
+ B0BFABA00BCFF87300251D1F /* apr_support.h in Headers */,
+ B0BFABA10BCFF87300251D1F /* apr_thread_mutex.h in Headers */,
+ B0BFABA20BCFF87300251D1F /* apr_pools.h in Headers */,
+ B0BFABA30BCFF87300251D1F /* apr_arch_thread_rwlock.h in Headers */,
+ B0BFABA40BCFF87300251D1F /* apr_tables.h in Headers */,
+ B0BFABA50BCFF87300251D1F /* apr_global_mutex.h in Headers */,
+ B0BFABA60BCFF87300251D1F /* apr_arch_shm.h in Headers */,
+ B0BFABA70BCFF87300251D1F /* apr_arch_file_io.h in Headers */,
+ B0BFABA80BCFF87300251D1F /* apr_mmap.h in Headers */,
+ B0BFABA90BCFF87300251D1F /* apr_want.h in Headers */,
+ B0BFABAA0BCFF87300251D1F /* apr_arch_dso.h in Headers */,
+ B0BFABAB0BCFF87300251D1F /* apr_arch_poll_private.h in Headers */,
+ B0BFABAC0BCFF87300251D1F /* apr_arch_thread_cond.h in Headers */,
+ B0BFABAD0BCFF87300251D1F /* apr_ring.h in Headers */,
+ B0BFABAE0BCFF87300251D1F /* apr_arch_internal_time.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ D2AAC045055464E500DB518D /* apr-1.2.12 */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "apr-1.2.12" */;
+ buildPhases = (
+ D2AAC043055464E500DB518D /* Headers */,
+ D2AAC044055464E500DB518D /* Sources */,
+ D289987405E68DCB004EDB86 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "apr-1.2.12";
+ productName = "apr-1.2.12";
+ productReference = D2AAC046055464E500DB518D /* libapr-1.2.12.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 08FB7793FE84155DC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "apr-1.2.12" */;
+ compatibilityVersion = "Xcode 3.1";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = 08FB7794FE84155DC02AAC07 /* apr-1.2.12 */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ D2AAC045055464E500DB518D /* apr-1.2.12 */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+ D2AAC044055464E500DB518D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B000549B0BCFEE240046ACE5 /* apr_atomic.c in Sources */,
+ B00054AA0BCFEE240046ACE5 /* dso.c in Sources */,
+ B00054D60BCFEE240046ACE5 /* copy.c in Sources */,
+ B00054D80BCFEE240046ACE5 /* dir.c in Sources */,
+ B00054DA0BCFEE240046ACE5 /* fileacc.c in Sources */,
+ B00054DC0BCFEE240046ACE5 /* filedup.c in Sources */,
+ B00054DE0BCFEE240046ACE5 /* filepath.c in Sources */,
+ B00054E00BCFEE240046ACE5 /* filepath_util.c in Sources */,
+ B00054E20BCFEE240046ACE5 /* filestat.c in Sources */,
+ B00054E40BCFEE240046ACE5 /* flock.c in Sources */,
+ B00054E60BCFEE240046ACE5 /* fullrw.c in Sources */,
+ B00054E80BCFEE240046ACE5 /* mktemp.c in Sources */,
+ B00054EA0BCFEE240046ACE5 /* open.c in Sources */,
+ B00054EC0BCFEE240046ACE5 /* pipe.c in Sources */,
+ B00054EE0BCFEE240046ACE5 /* readwrite.c in Sources */,
+ B00054F00BCFEE240046ACE5 /* seek.c in Sources */,
+ B00054F20BCFEE240046ACE5 /* tempdir.c in Sources */,
+ B000556F0BCFEE240046ACE5 /* global_mutex.c in Sources */,
+ B00055710BCFEE240046ACE5 /* proc_mutex.c in Sources */,
+ B00055730BCFEE240046ACE5 /* thread_cond.c in Sources */,
+ B00055750BCFEE240046ACE5 /* thread_mutex.c in Sources */,
+ B00055770BCFEE240046ACE5 /* thread_rwlock.c in Sources */,
+ B000557F0BCFEE240046ACE5 /* apr_pools.c in Sources */,
+ B000558D0BCFEE240046ACE5 /* charset.c in Sources */,
+ B000558F0BCFEE240046ACE5 /* env.c in Sources */,
+ B00055910BCFEE240046ACE5 /* errorcodes.c in Sources */,
+ B00055930BCFEE240046ACE5 /* getopt.c in Sources */,
+ B00055950BCFEE240046ACE5 /* otherchild.c in Sources */,
+ B00055970BCFEE240046ACE5 /* rand.c in Sources */,
+ B000559A0BCFEE240046ACE5 /* start.c in Sources */,
+ B000559C0BCFEE240046ACE5 /* version.c in Sources */,
+ B00055A80BCFEE240046ACE5 /* common.c in Sources */,
+ B00055AA0BCFEE240046ACE5 /* mmap.c in Sources */,
+ B00055BE0BCFEE240046ACE5 /* inet_ntop.c in Sources */,
+ B00055C00BCFEE240046ACE5 /* inet_pton.c in Sources */,
+ B00055C20BCFEE240046ACE5 /* multicast.c in Sources */,
+ B00055C40BCFEE240046ACE5 /* sendrecv.c in Sources */,
+ B00055C60BCFEE240046ACE5 /* sockaddr.c in Sources */,
+ B00055C80BCFEE240046ACE5 /* sockets.c in Sources */,
+ B00055CA0BCFEE240046ACE5 /* sockopt.c in Sources */,
+ B00055D00BCFEE240046ACE5 /* apr_getpass.c in Sources */,
+ B00055D90BCFEE240046ACE5 /* epoll.c in Sources */,
+ B00055DB0BCFEE240046ACE5 /* kqueue.c in Sources */,
+ B00055DD0BCFEE240046ACE5 /* poll.c in Sources */,
+ B00055DF0BCFEE240046ACE5 /* port.c in Sources */,
+ B00055E10BCFEE240046ACE5 /* select.c in Sources */,
+ B00055E60BCFEE240046ACE5 /* apr_random.c in Sources */,
+ B00055E80BCFEE240046ACE5 /* sha2.c in Sources */,
+ B00055EB0BCFEE240046ACE5 /* sha2_glue.c in Sources */,
+ B00055F00BCFEE240046ACE5 /* shm.c in Sources */,
+ B00055F90BCFEE240046ACE5 /* apr_cpystrn.c in Sources */,
+ B00055FB0BCFEE240046ACE5 /* apr_fnmatch.c in Sources */,
+ B00055FD0BCFEE240046ACE5 /* apr_snprintf.c in Sources */,
+ B00055FF0BCFEE240046ACE5 /* apr_strings.c in Sources */,
+ B00056010BCFEE240046ACE5 /* apr_strnatcmp.c in Sources */,
+ B00056030BCFEE240046ACE5 /* apr_strtok.c in Sources */,
+ B00056060BCFEE240046ACE5 /* waitio.c in Sources */,
+ B000560A0BCFEE240046ACE5 /* apr_hash.c in Sources */,
+ B000560C0BCFEE240046ACE5 /* apr_tables.c in Sources */,
+ B00056660BCFEE240046ACE5 /* proc.c in Sources */,
+ B00056680BCFEE240046ACE5 /* procsup.c in Sources */,
+ B000566A0BCFEE240046ACE5 /* signals.c in Sources */,
+ B000566C0BCFEE240046ACE5 /* thread.c in Sources */,
+ B000566E0BCFEE240046ACE5 /* threadpriv.c in Sources */,
+ B00056760BCFEE240046ACE5 /* time.c in Sources */,
+ B00056780BCFEE240046ACE5 /* timestr.c in Sources */,
+ B00056810BCFEE240046ACE5 /* groupinfo.c in Sources */,
+ B00056830BCFEE240046ACE5 /* userinfo.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 1DEB91EC08733DB70010E9CD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
+ );
+ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/.libs\"";
+ PRODUCT_NAME = "apr-1.2.12";
+ };
+ name = Debug;
+ };
+ 1DEB91ED08733DB70010E9CD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(LIBRARY_SEARCH_PATHS_QUOTED_1)",
+ );
+ LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/.libs\"";
+ PRODUCT_NAME = "apr-1.2.12";
+ };
+ name = Release;
+ };
+ 1DEB91F008733DB70010E9CD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = D720CB920D9813D0003AE8EC /* MacConfigExternalDebug.xcconfig */;
+ buildSettings = {
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ OTHER_CFLAGS = (
+ "$(inherited)",
+ "-DHAVE_CONFIG_H",
+ "-DDARWIN",
+ "-DSIGPROCMASK_SETS_THREAD_MASK",
+ "-no-cpp-precomp",
+ );
+ PREBINDING = NO;
+ };
+ name = Debug;
+ };
+ 1DEB91F108733DB70010E9CD /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = D720CB930D9813D0003AE8EC /* MacConfigExternalRelease.xcconfig */;
+ buildSettings = {
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ OTHER_CFLAGS = (
+ "$(inherited)",
+ "-DHAVE_CONFIG_H",
+ "-DDARWIN",
+ "-DSIGPROCMASK_SETS_THREAD_MASK",
+ "-no-cpp-precomp",
+ );
+ PREBINDING = NO;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "apr-1.2.12" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB91EC08733DB70010E9CD /* Debug */,
+ 1DEB91ED08733DB70010E9CD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "apr-1.2.12" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB91F008733DB70010E9CD /* Debug */,
+ 1DEB91F108733DB70010E9CD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+}
diff --git a/apr-config.in b/apr-config.in
new file mode 100644
index 0000000..e0500ed
--- /dev/null
+++ b/apr-config.in
@@ -0,0 +1,250 @@
+#!/bin/sh
+# 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.
+#
+
+# APR script designed to allow easy command line access to APR configuration
+# parameters.
+
+APR_MAJOR_VERSION="@APR_MAJOR_VERSION@"
+APR_DOTTED_VERSION="@APR_DOTTED_VERSION@"
+
+prefix="@prefix@"
+exec_prefix="@exec_prefix@"
+bindir="@bindir@"
+libdir="@libdir@"
+datadir="@datadir@"
+installbuilddir="@installbuilddir@"
+includedir="@includedir@"
+
+CC="@CC@"
+CPP="@CPP@"
+SHELL="@SHELL@"
+CPPFLAGS="@EXTRA_CPPFLAGS@"
+CFLAGS="@EXTRA_CFLAGS@"
+LDFLAGS="@EXTRA_LDFLAGS@"
+LIBS="@EXTRA_LIBS@"
+EXTRA_INCLUDES="@EXTRA_INCLUDES@"
+SHLIBPATH_VAR="@shlibpath_var@"
+APR_SOURCE_DIR="@apr_srcdir@"
+APR_BUILD_DIR="@apr_builddir@"
+APR_SO_EXT="@so_ext@"
+APR_LIB_TARGET="@export_lib_target@"
+APR_LIBNAME="@APR_LIBNAME@"
+
+# NOTE: the following line is modified during 'make install': alter with care!
+location=@APR_CONFIG_LOCATION@
+
+show_usage()
+{
+ cat << EOF
+Usage: apr-$APR_MAJOR_VERSION-config [OPTION]
+
+Known values for OPTION are:
+ --prefix[=DIR] change prefix to DIR
+ --bindir print location where binaries are installed
+ --includedir print location where headers are installed
+ --cc print C compiler name
+ --cpp print C preprocessor name and any required options
+ --cflags print C compiler flags
+ --cppflags print C preprocessor flags
+ --includes print include information
+ --ldflags print linker flags
+ --libs print additional libraries to link against
+ --srcdir print APR source directory
+ --installbuilddir print APR build helper directory
+ --link-ld print link switch(es) for linking to APR
+ --link-libtool print the libtool inputs for linking to APR
+ --shlib-path-var print the name of the shared library path env var
+ --apr-la-file print the path to the .la file, if available
+ --apr-so-ext print the extensions of shared objects on this platform
+ --apr-lib-target print the libtool target information
+ --apr-libtool print the path to APR's libtool
+ --version print the APR's version as a dotted triple
+ --help print this help
+
+When linking with libtool, an application should do something like:
+ APR_LIBS="\`apr-$APR_MAJOR_VERSION-config --link-libtool --libs\`"
+or when linking directly:
+ APR_LIBS="\`apr-$APR_MAJOR_VERSION-config --link-ld --libs\`"
+
+An application should use the results of --cflags, --cppflags, --includes,
+and --ldflags in their build process.
+EOF
+}
+
+if test $# -eq 0; then
+ show_usage
+ exit 1
+fi
+
+if test "$location" = "installed"; then
+ LA_FILE="$libdir/lib${APR_LIBNAME}.la"
+else
+ LA_FILE="$APR_BUILD_DIR/lib${APR_LIBNAME}.la"
+fi
+
+flags=""
+
+while test $# -gt 0; do
+ # Normalize the prefix.
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case "$1" in
+ # It is possible for the user to override our prefix.
+ --prefix=*)
+ prefix=$optarg
+ ;;
+ --prefix)
+ echo $prefix
+ exit 0
+ ;;
+ --bindir)
+ echo $bindir
+ exit 0
+ ;;
+ --includedir)
+ if test "$location" = "installed"; then
+ flags="$includedir"
+ elif test "$location" = "source"; then
+ flags="$APR_SOURCE_DIR/include"
+ else
+ # this is for VPATH builds
+ flags="$APR_BUILD_DIR/include $APR_SOURCE_DIR/include"
+ fi
+ echo $flags
+ exit 0
+ ;;
+ --cc)
+ echo $CC
+ exit 0
+ ;;
+ --cpp)
+ echo $CPP
+ exit 0
+ ;;
+ --cflags)
+ flags="$flags $CFLAGS"
+ ;;
+ --cppflags)
+ flags="$flags $CPPFLAGS"
+ ;;
+ --libs)
+ flags="$flags $LIBS"
+ ;;
+ --ldflags)
+ flags="$flags $LDFLAGS"
+ ;;
+ --includes)
+ if test "$location" = "installed"; then
+ flags="$flags -I$includedir $EXTRA_INCLUDES"
+ elif test "$location" = "source"; then
+ flags="$flags -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES"
+ else
+ # this is for VPATH builds
+ flags="$flags -I$APR_BUILD_DIR/include -I$APR_SOURCE_DIR/include $EXTRA_INCLUDES"
+ fi
+ ;;
+ --srcdir)
+ echo $APR_SOURCE_DIR
+ exit 0
+ ;;
+ --installbuilddir)
+ if test "$location" = "installed"; then
+ echo "${installbuilddir}"
+ elif test "$location" = "source"; then
+ echo "$APR_SOURCE_DIR/build"
+ else
+ # this is for VPATH builds
+ echo "$APR_BUILD_DIR/build"
+ fi
+ exit 0
+ ;;
+ --version)
+ echo $APR_DOTTED_VERSION
+ exit 0
+ ;;
+ --link-ld)
+ if test "$location" = "installed"; then
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+ flags="$flags -L$libdir -l${APR_LIBNAME}"
+ else
+ ### this surely can't work since the library is in .libs?
+ flags="$flags -L$APR_BUILD_DIR -l${APR_LIBNAME}"
+ fi
+ ;;
+ --link-libtool)
+ # If the LA_FILE exists where we think it should be, use it. If we're
+ # installed and the LA_FILE does not exist, assume to use -L/-l
+ # (the LA_FILE may not have been installed). If we're building ourselves,
+ # we'll assume that at some point the .la file be created.
+ if test -f "$LA_FILE"; then
+ flags="$flags $LA_FILE"
+ elif test "$location" = "installed"; then
+ ### avoid using -L if libdir is a "standard" location like /usr/lib
+ # Since the user is specifying they are linking with libtool, we
+ # *know* that -R will be recognized by libtool.
+ flags="$flags -L$libdir -R$libdir -l${APR_LIBNAME}"
+ else
+ flags="$flags $LA_FILE"
+ fi
+ ;;
+ --shlib-path-var)
+ echo "$SHLIBPATH_VAR"
+ exit 0
+ ;;
+ --apr-la-file)
+ if test -f "$LA_FILE"; then
+ flags="$flags $LA_FILE"
+ fi
+ ;;
+ --apr-so-ext)
+ echo "$APR_SO_EXT"
+ exit 0
+ ;;
+ --apr-lib-target)
+ echo "$APR_LIB_TARGET"
+ exit 0
+ ;;
+ --apr-libtool)
+ if test "$location" = "installed"; then
+ echo "${installbuilddir}/libtool"
+ else
+ echo "$APR_BUILD_DIR/libtool"
+ fi
+ exit 0
+ ;;
+ --help)
+ show_usage
+ exit 0
+ ;;
+ *)
+ show_usage
+ exit 1
+ ;;
+ esac
+
+ # Next please.
+ shift
+done
+
+if test -n "$flags"; then
+ echo "$flags"
+fi
+
+exit 0
diff --git a/apr.dep b/apr.dep
new file mode 100644
index 0000000..171f7f9
--- /dev/null
+++ b/apr.dep
@@ -0,0 +1,1697 @@
+# 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"\
+
+
+.\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_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\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_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\win32\apr_arch_networkio.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\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_file_io.h"\
+ ".\include\arch\unix\apr_arch_networkio.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_general.h"\
+ ".\include\apr_pools.h"\
+ ".\include\apr_random.h"\
+ ".\include\apr_thread_mutex.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_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"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.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_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_private.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_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\access.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_time.h"\
+ ".\include\apr_want.h"\
+ ".\include\arch\apr_private_common.h"\
+ ".\include\arch\win32\apr_arch_atime.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 ReleaseNT"
+
+!ELSEIF "$(CFG)" == "apr - Win32 DebugNT"
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+!ENDIF
+
diff --git a/apr.dsp b/apr.dsp
new file mode 100644
index 0000000..9c1ae19
--- /dev/null
+++ b/apr.dsp
@@ -0,0 +1,801 @@
+# Microsoft Developer Studio Project File - Name="apr" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=apr - Win32 Release
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "apr.mak".
+!MESSAGE
+!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 ReleaseNT" (based on "Win32 (x86) Static Library")
+!MESSAGE "apr - Win32 DebugNT" (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
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "LibR"
+# PROP BASE Intermediate_Dir "LibR"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "LibR"
+# PROP Intermediate_Dir "LibR"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
+# ADD CPP /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
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"LibR\apr-1.lib"
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "LibD"
+# PROP BASE Intermediate_Dir "LibD"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "LibD"
+# PROP Intermediate_Dir "LibD"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /EHsc /c
+# ADD CPP /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
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"LibD\apr-1.lib"
+
+!ELSEIF "$(CFG)" == "apr - Win32 ReleaseNT"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "NT\LibR"
+# PROP BASE Intermediate_Dir "NT\LibR"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "NT\LibR"
+# PROP Intermediate_Dir "NT\LibR"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
+# ADD CPP /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 "WINNT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\apr-1" /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"NT\LibR\apr-1.lib"
+
+!ELSEIF "$(CFG)" == "apr - Win32 DebugNT"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "NT\LibD"
+# PROP BASE Intermediate_Dir "NT\LibD"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "NT\LibD"
+# PROP Intermediate_Dir "NT\LibD"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /EHsc /c
+# ADD CPP /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 "WINNT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\apr-1" /FD /EHsc /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"NT\LibD\apr-1.lib"
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "x64\LibR"
+# PROP BASE Intermediate_Dir "x64\LibR"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "x64\LibR"
+# PROP Intermediate_Dir "x64\LibR"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
+# ADD CPP /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 "WINNT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\apr-1" /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"x64\LibR\apr-1.lib"
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "x64\LibD"
+# PROP BASE Intermediate_Dir "x64\LibD"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "x64\LibD"
+# PROP Intermediate_Dir "x64\LibD"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /EHsc /c
+# ADD CPP /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 "WINNT" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\" /Fd"$(OUTDIR)\apr-1" /FD /EHsc /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"x64\LibD\apr-1.lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "apr - Win32 Release"
+# Name "apr - Win32 Debug"
+# Name "apr - Win32 ReleaseNT"
+# Name "apr - Win32 DebugNT"
+# Name "apr - x64 Release"
+# Name "apr - x64 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter ".c"
+# Begin Group "atomic"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\atomic\win32\apr_atomic.c
+# End Source File
+# End Group
+# Begin Group "dso"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\dso\win32\dso.c
+# End Source File
+# End Group
+# Begin Group "file_io"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\file_io\unix\copy.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\dir.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\unix\fileacc.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\filedup.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\filepath.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\unix\filepath_util.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\filestat.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\filesys.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\flock.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\unix\fullrw.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\unix\mktemp.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\open.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\pipe.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\readwrite.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\win32\seek.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\file_io\unix\tempdir.c
+# End Source File
+# End Group
+# Begin Group "locks"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\locks\win32\proc_mutex.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\locks\win32\thread_cond.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\locks\win32\thread_mutex.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\locks\win32\thread_rwlock.c
+# End Source File
+# End Group
+# Begin Group "memory"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\memory\unix\apr_pools.c
+# End Source File
+# End Group
+# Begin Group "misc"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\misc\win32\apr_app.c
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\win32\charset.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\win32\env.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\unix\errorcodes.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\unix\getopt.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\win32\internal.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\win32\misc.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\unix\otherchild.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\win32\rand.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\win32\start.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\win32\utf8.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc\unix\version.c
+# End Source File
+# End Group
+# Begin Group "mmap"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\mmap\unix\common.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mmap\win32\mmap.c
+# End Source File
+# End Group
+# Begin Group "network_io"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\network_io\unix\inet_ntop.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\network_io\unix\inet_pton.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\network_io\unix\multicast.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\network_io\win32\sendrecv.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\network_io\unix\sockaddr.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\network_io\win32\sockets.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\network_io\win32\sockopt.c
+# End Source File
+# End Group
+# Begin Group "passwd"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\passwd\apr_getpass.c
+# End Source File
+# End Group
+# Begin Group "poll"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\poll\unix\select.c
+# End Source File
+# End Group
+# Begin Group "random"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\random\unix\apr_random.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\random\unix\sha2.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\random\unix\sha2_glue.c
+# End Source File
+# End Group
+# Begin Group "shmem"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\shmem\win32\shm.c
+# End Source File
+# End Group
+# Begin Group "strings"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\strings\apr_cpystrn.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\strings\apr_fnmatch.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\strings\apr_snprintf.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\strings\apr_strings.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\strings\apr_strnatcmp.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\strings\apr_strtok.c
+# End Source File
+# End Group
+# Begin Group "tables"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\tables\apr_hash.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\tables\apr_tables.c
+# End Source File
+# End Group
+# Begin Group "threadproc"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\threadproc\win32\proc.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\threadproc\win32\signals.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\threadproc\win32\thread.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\threadproc\win32\threadpriv.c
+# End Source File
+# End Group
+# Begin Group "time"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\time\win32\access.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\time\win32\time.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\time\win32\timestr.c
+# End Source File
+# End Group
+# Begin Group "user"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\user\win32\groupinfo.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\user\win32\userinfo.c
+# End Source File
+# End Group
+# End Group
+# Begin Group "Private Header Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_atime.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_dso.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_file_io.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_inherit.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_misc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_networkio.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_thread_mutex.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_thread_rwlock.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_threadproc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_arch_utf8.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\win32\apr_private.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\arch\apr_private_common.h
+# End Source File
+# End Group
+# Begin Group "Public Header Files"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\include\apr.h.in
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr.hnw
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr.hw
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+# Begin Custom Build - Creating apr.h from apr.hw
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+# Begin Custom Build - Creating apr.h from apr.hw
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - Win32 ReleaseNT"
+
+# Begin Custom Build - Creating apr.h from apr.hw
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - Win32 DebugNT"
+
+# Begin Custom Build - Creating apr.h from apr.hw
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+# Begin Custom Build - Creating apr.h from apr.hw
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+# Begin Custom Build - Creating apr.h from apr.hw
+InputPath=.\include\apr.hw
+
+".\include\apr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\include\apr.hw > .\include\apr.h
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_allocator.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_atomic.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_dso.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_env.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_errno.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_file_info.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_file_io.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_fnmatch.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_general.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_getopt.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_global_mutex.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_hash.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_inherit.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_lib.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_mmap.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_network_io.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_poll.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_pools.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_portable.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_proc_mutex.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_random.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_ring.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_shm.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_signal.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_strings.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_support.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_tables.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_thread_cond.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_thread_mutex.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_thread_proc.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_thread_rwlock.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_time.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_user.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_version.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\include\apr_want.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/apr.dsw b/apr.dsw
new file mode 100644
index 0000000..7cfe716
--- /dev/null
+++ b/apr.dsw
@@ -0,0 +1,101 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "apr"=".\apr.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "aprapp"=".\build\aprapp.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name preaprapp
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "libapr"=".\libapr.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "libaprapp"=".\build\libaprapp.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name prelibaprapp
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "preaprapp"=".\build\preaprapp.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name apr
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "prelibaprapp"=".\build\prelibaprapp.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name libapr
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/apr.mak b/apr.mak
new file mode 100644
index 0000000..daab966
--- /dev/null
+++ b/apr.mak
@@ -0,0 +1,1707 @@
+# 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 ReleaseNT" && "$(CFG)" != "apr - Win32 DebugNT" && "$(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 ReleaseNT" (based on "Win32 (x86) Static Library")
+!MESSAGE "apr - Win32 DebugNT" (based on "Win32 (x86) Static Library")
+!MESSAGE "apr - x64 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "apr - x64 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE
+NULL=nul
+!ENDIF
+
+!IF "$(CFG)" == "apr - Win32 Release"
+
+OUTDIR=.\LibR
+INTDIR=.\LibR
+# Begin Custom Macros
+OutDir=.\LibR
+# End Custom Macros
+
+ALL : "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\access.obj"
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "_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)\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)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.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)\access.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj"
+
+"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "apr - Win32 Debug"
+
+OUTDIR=.\LibD
+INTDIR=.\LibD
+# Begin Custom Macros
+OutDir=.\LibD
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\access.obj"
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WIN32" /D "_WINDOWS" /Fo"$(INTDIR)\\" /Fd"$(OUTDIR)\apr-1" /FD /EHsc /c
+
+.c{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.obj::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.c{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cpp{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+.cxx{$(INTDIR)}.sbr::
+ $(CPP) @<<
+ $(CPP_PROJ) $<
+<<
+
+RSC=rc.exe
+BSC32=bscmake.exe
+BSC32_FLAGS=/nologo /o"$(OUTDIR)\apr.bsc"
+BSC32_SBRS= \
+
+LIB32=link.exe -lib
+LIB32_FLAGS=/nologo /out:"$(OUTDIR)\apr-1.lib"
+LIB32_OBJS= \
+ "$(INTDIR)\apr_atomic.obj" \
+ "$(INTDIR)\dso.obj" \
+ "$(INTDIR)\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)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.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)\access.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 ReleaseNT"
+
+OUTDIR=.\NT\LibR
+INTDIR=.\NT\LibR
+# Begin Custom Macros
+OutDir=.\NT\LibR
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\access.obj"
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "WINNT" /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)\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)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.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)\access.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 DebugNT"
+
+OUTDIR=.\NT\LibD
+INTDIR=.\NT\LibD
+# Begin Custom Macros
+OutDir=.\NT\LibD
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\access.obj"
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WINNT" /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)\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)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.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)\access.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj"
+
+"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "apr - x64 Release"
+
+OUTDIR=.\x64\LibR
+INTDIR=.\x64\LibR
+# Begin Custom Macros
+OutDir=.\x64\LibR
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\access.obj"
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MD /W3 /Zi /O2 /Oy- /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "NDEBUG" /D "APR_DECLARE_STATIC" /D "WINNT" /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)\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)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.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)\access.obj" \
+ "$(INTDIR)\time.obj" \
+ "$(INTDIR)\timestr.obj" \
+ "$(INTDIR)\groupinfo.obj" \
+ "$(INTDIR)\userinfo.obj"
+
+"$(OUTDIR)\apr-1.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
+ $(LIB32) @<<
+ $(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
+<<
+
+!ELSEIF "$(CFG)" == "apr - x64 Debug"
+
+OUTDIR=.\x64\LibD
+INTDIR=.\x64\LibD
+# Begin Custom Macros
+OutDir=.\x64\LibD
+# End Custom Macros
+
+ALL : ".\include\apr.h" "$(OUTDIR)\apr-1.lib"
+
+
+CLEAN :
+ -@erase "$(INTDIR)\access.obj"
+ -@erase "$(INTDIR)\apr-1.idb"
+ -@erase "$(INTDIR)\apr-1.pdb"
+ -@erase "$(INTDIR)\apr_atomic.obj"
+ -@erase "$(INTDIR)\apr_cpystrn.obj"
+ -@erase "$(INTDIR)\apr_fnmatch.obj"
+ -@erase "$(INTDIR)\apr_getpass.obj"
+ -@erase "$(INTDIR)\apr_hash.obj"
+ -@erase "$(INTDIR)\apr_pools.obj"
+ -@erase "$(INTDIR)\apr_random.obj"
+ -@erase "$(INTDIR)\apr_snprintf.obj"
+ -@erase "$(INTDIR)\apr_strings.obj"
+ -@erase "$(INTDIR)\apr_strnatcmp.obj"
+ -@erase "$(INTDIR)\apr_strtok.obj"
+ -@erase "$(INTDIR)\apr_tables.obj"
+ -@erase "$(INTDIR)\charset.obj"
+ -@erase "$(INTDIR)\common.obj"
+ -@erase "$(INTDIR)\copy.obj"
+ -@erase "$(INTDIR)\dir.obj"
+ -@erase "$(INTDIR)\dso.obj"
+ -@erase "$(INTDIR)\env.obj"
+ -@erase "$(INTDIR)\errorcodes.obj"
+ -@erase "$(INTDIR)\fileacc.obj"
+ -@erase "$(INTDIR)\filedup.obj"
+ -@erase "$(INTDIR)\filepath.obj"
+ -@erase "$(INTDIR)\filepath_util.obj"
+ -@erase "$(INTDIR)\filestat.obj"
+ -@erase "$(INTDIR)\filesys.obj"
+ -@erase "$(INTDIR)\flock.obj"
+ -@erase "$(INTDIR)\fullrw.obj"
+ -@erase "$(INTDIR)\getopt.obj"
+ -@erase "$(INTDIR)\groupinfo.obj"
+ -@erase "$(INTDIR)\inet_ntop.obj"
+ -@erase "$(INTDIR)\inet_pton.obj"
+ -@erase "$(INTDIR)\internal.obj"
+ -@erase "$(INTDIR)\misc.obj"
+ -@erase "$(INTDIR)\mktemp.obj"
+ -@erase "$(INTDIR)\mmap.obj"
+ -@erase "$(INTDIR)\multicast.obj"
+ -@erase "$(INTDIR)\open.obj"
+ -@erase "$(INTDIR)\otherchild.obj"
+ -@erase "$(INTDIR)\pipe.obj"
+ -@erase "$(INTDIR)\proc.obj"
+ -@erase "$(INTDIR)\proc_mutex.obj"
+ -@erase "$(INTDIR)\rand.obj"
+ -@erase "$(INTDIR)\readwrite.obj"
+ -@erase "$(INTDIR)\seek.obj"
+ -@erase "$(INTDIR)\select.obj"
+ -@erase "$(INTDIR)\sendrecv.obj"
+ -@erase "$(INTDIR)\sha2.obj"
+ -@erase "$(INTDIR)\sha2_glue.obj"
+ -@erase "$(INTDIR)\shm.obj"
+ -@erase "$(INTDIR)\signals.obj"
+ -@erase "$(INTDIR)\sockaddr.obj"
+ -@erase "$(INTDIR)\sockets.obj"
+ -@erase "$(INTDIR)\sockopt.obj"
+ -@erase "$(INTDIR)\start.obj"
+ -@erase "$(INTDIR)\tempdir.obj"
+ -@erase "$(INTDIR)\thread.obj"
+ -@erase "$(INTDIR)\thread_cond.obj"
+ -@erase "$(INTDIR)\thread_mutex.obj"
+ -@erase "$(INTDIR)\thread_rwlock.obj"
+ -@erase "$(INTDIR)\threadpriv.obj"
+ -@erase "$(INTDIR)\time.obj"
+ -@erase "$(INTDIR)\timestr.obj"
+ -@erase "$(INTDIR)\userinfo.obj"
+ -@erase "$(INTDIR)\utf8.obj"
+ -@erase "$(INTDIR)\version.obj"
+ -@erase "$(OUTDIR)\apr-1.lib"
+ -@erase ".\include\apr.h"
+
+"$(OUTDIR)" :
+ if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
+
+CPP=cl.exe
+CPP_PROJ=/nologo /MDd /W3 /Zi /Od /I "./include" /I "./include/arch" /I "./include/arch/win32" /I "./include/arch/unix" /D "_DEBUG" /D "APR_DECLARE_STATIC" /D "WINNT" /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)\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)\sockopt.obj" \
+ "$(INTDIR)\apr_getpass.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)\access.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 ReleaseNT" || "$(CFG)" == "apr - Win32 DebugNT" || "$(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\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\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\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\access.c
+
+"$(INTDIR)\access.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
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ELSEIF "$(CFG)" == "apr - Win32 ReleaseNT"
+
+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 DebugNT"
+
+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
+ 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
+ type .\include\apr.hw > .\include\apr.h
+<<
+
+
+!ENDIF
+
+
+!ENDIF
+
diff --git a/apr.pc.in b/apr.pc.in
new file mode 100644
index 0000000..318a81e
--- /dev/null
+++ b/apr.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+APR_MAJOR_VERSION=@APR_MAJOR_VERSION@
+includedir=@includedir@
+
+Name: APR
+Description: The Apache Portable Runtime library
+Version: @APR_DOTTED_VERSION@
+Libs: -L${libdir} -l@APR_LIBNAME@ @EXTRA_LIBS@
+Cflags: @EXTRA_CPPFLAGS@ @EXTRA_CFLAGS@ -I${includedir}
diff --git a/apr.spec b/apr.spec
new file mode 100644
index 0000000..76ad2f9
--- /dev/null
+++ b/apr.spec
@@ -0,0 +1,96 @@
+
+%define aprver 1
+
+Summary: Apache Portable Runtime library
+Name: apr
+Version: 1.2.12
+Release: 1
+License: Apache Software License
+Group: System Environment/Libraries
+URL: http://apr.apache.org/
+Source0: %{name}-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
+BuildPrereq: autoconf, libtool, doxygen
+
+%description
+The mission of the Apache Portable Runtime (APR) is to provide a
+free library of C data structures and routines, forming a system
+portability layer to as many operating systems as possible,
+including Unices, MS Win32, BeOS and OS/2.
+
+%package devel
+Group: Development/Libraries
+Summary: APR library development kit
+Requires: apr = %{version}
+
+%description devel
+This package provides the support files which can be used to
+build applications using the APR library. The mission of the
+Apache Portable Runtime (APR) is to provide a free library of
+C data structures and routines.
+
+%prep
+%setup -q
+
+%build
+# regenerate configure script etc.
+./buildconf
+%configure \
+ --prefix=/usr \
+ --includedir=%{_includedir}/apr-%{aprver} \
+ --with-installbuilddir=%{_libdir}/apr/build-%{aprver} \
+ --with-devrandom=/dev/urandom \
+ CC=gcc CXX=g++
+make %{?_smp_mflags} && make dox
+
+%check
+# Run non-interactive tests
+pushd test
+make %{?_smp_mflags} testall CFLAGS=-fno-strict-aliasing
+./testall -v || exit 1
+popd
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+
+# Move docs to more convenient location
+mv docs/dox/html html
+
+# Unpackaged files:
+rm -f $RPM_BUILD_ROOT%{_libdir}/apr.exp
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%doc CHANGES LICENSE NOTICE
+%{_libdir}/libapr-%{aprver}.so.*
+
+%files devel
+%defattr(-,root,root,-)
+%doc docs/APRDesign.html docs/canonical_filenames.html
+%doc docs/incomplete_types docs/non_apr_programs
+%doc --parents html
+%{_bindir}/apr*config
+%{_libdir}/libapr-%{aprver}.*a
+%{_libdir}/libapr-%{aprver}.so
+%dir %{_libdir}/apr
+%dir %{_libdir}/apr/build-%{aprver}
+%{_libdir}/apr/build-%{aprver}/*
+%{_libdir}/pkgconfig/apr-%{aprver}.pc
+%dir %{_includedir}/apr-%{aprver}
+%{_includedir}/apr-%{aprver}/*.h
+
+%changelog
+* Tue Jun 22 2004 Graham Leggett <minfrin@sharp.fm> 1.0.0-1
+- update to support v1.0.0 of APR
+
+* Tue Jun 22 2004 Graham Leggett <minfrin@sharp.fm> 1.0.0-1
+- derived from Fedora Core apr.spec
+
diff --git a/apr.vcproj b/apr.vcproj
new file mode 100644
index 0000000..376f1f5
--- /dev/null
+++ b/apr.vcproj
@@ -0,0 +1,3147 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="apr"
+ ProjectGUID="{9811DD3C-1854-4B67-974A-88E103A13D6B}"
+ RootNamespace="apr"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(SolutionDir)..\..\third_party\Win32ConfigExternal$(ConfigurationName).vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories="./include;./include/arch;./include/arch/win32;./include/arch/unix"
+ PreprocessorDefinitions="NDEBUG;APR_DECLARE_STATIC;WIN32;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="2"
+ PrecompiledHeaderFile=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(SolutionDir)..\..\third_party\Win32ConfigExternal$(ConfigurationName).vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/EHsc "
+ AdditionalIncludeDirectories="./include,./include/arch,./include/arch/win32,./include/arch/unix"
+ PreprocessorDefinitions="_DEBUG;APR_DECLARE_STATIC;WIN32;_WINDOWS"
+ RuntimeLibrary="3"
+ PrecompiledHeaderFile=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ SuppressStartupBanner="true"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter=".c"
+ >
+ <Filter
+ Name="atomic"
+ >
+ <File
+ RelativePath="atomic\win32\apr_atomic.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="dso"
+ >
+ <File
+ RelativePath="dso\win32\dso.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="file_io"
+ >
+ <File
+ RelativePath="file_io\unix\copy.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\dir.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\unix\fileacc.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\filedup.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\filepath.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\unix\filepath_util.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\filestat.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\filesys.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\flock.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\unix\fullrw.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\unix\mktemp.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\open.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\pipe.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\readwrite.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\win32\seek.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="file_io\unix\tempdir.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="locks"
+ >
+ <File
+ RelativePath="locks\win32\proc_mutex.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="locks\win32\thread_cond.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="locks\win32\thread_mutex.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="locks\win32\thread_rwlock.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="memory"
+ >
+ <File
+ RelativePath="memory\unix\apr_pools.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="misc"
+ >
+ <File
+ RelativePath="misc\win32\apr_app.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\win32\charset.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\win32\env.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\unix\errorcodes.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\unix\getopt.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\win32\internal.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\win32\misc.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\unix\otherchild.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\win32\rand.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\win32\start.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\win32\utf8.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="misc\unix\version.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="mmap"
+ >
+ <File
+ RelativePath="mmap\unix\common.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="mmap\win32\mmap.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="network_io"
+ >
+ <File
+ RelativePath="network_io\unix\inet_ntop.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="network_io\unix\inet_pton.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="network_io\win32\sendrecv.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="network_io\unix\sockaddr.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="network_io\win32\sockets.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="network_io\win32\sockopt.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="passwd"
+ >
+ <File
+ RelativePath="passwd\apr_getpass.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="poll"
+ >
+ <File
+ RelativePath="poll\unix\select.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="random"
+ >
+ <File
+ RelativePath="random\unix\apr_random.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="random\unix\sha2.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="random\unix\sha2_glue.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="shmem"
+ >
+ <File
+ RelativePath="shmem\win32\shm.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="strings"
+ >
+ <File
+ RelativePath="strings\apr_cpystrn.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="strings\apr_fnmatch.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="strings\apr_snprintf.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="strings\apr_strings.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="strings\apr_strnatcmp.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="strings\apr_strtok.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="tables"
+ >
+ <File
+ RelativePath="tables\apr_hash.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="tables\apr_tables.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="threadproc"
+ >
+ <File
+ RelativePath="threadproc\win32\proc.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="threadproc\win32\signals.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="threadproc\win32\thread.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="threadproc\win32\threadpriv.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="time"
+ >
+ <File
+ RelativePath="time\win32\access.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="time\win32\time.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="time\win32\timestr.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="user"
+ >
+ <File
+ RelativePath="user\win32\groupinfo.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="user\win32\userinfo.c"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Private Header Files"
+ >
+ <File
+ RelativePath="include\arch\win32\apr_arch_atime.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_arch_dso.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_arch_file_io.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_arch_inherit.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_arch_misc.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_arch_networkio.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_arch_thread_mutex.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_arch_thread_rwlock.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_arch_threadproc.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_arch_utf8.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\win32\apr_private.h"
+ >
+ </File>
+ <File
+ RelativePath="include\arch\apr_private_common.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Public Header Files"
+ >
+ <File
+ RelativePath="include\apr.h.in"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="include\apr.hnw"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="include\apr.hw"
+ >
+ <FileConfiguration
+ Name="Release|x64"
+ />
+ <FileConfiguration
+ Name="Debug|x64"
+ />
+ </File>
+ <File
+ RelativePath="include\apr_allocator.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_atomic.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_dso.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_env.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_errno.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_file_info.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_file_io.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_fnmatch.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_general.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_getopt.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_global_mutex.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_hash.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_inherit.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_lib.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_mmap.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_network_io.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_poll.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_pools.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_portable.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_proc_mutex.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_random.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_ring.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_shm.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_signal.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_strings.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_support.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_tables.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_thread_cond.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_thread_mutex.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_thread_proc.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_thread_rwlock.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_time.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_user.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_version.h"
+ >
+ </File>
+ <File
+ RelativePath="include\apr_want.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/atomic/netware/apr_atomic.c b/atomic/netware/apr_atomic.c
new file mode 100644
index 0000000..94a3549
--- /dev/null
+++ b/atomic/netware/apr_atomic.c
@@ -0,0 +1,70 @@
+/* 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 "apr.h"
+#include "apr_atomic.h"
+
+#include <stdlib.h>
+
+APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *pool)
+{
+ return APR_SUCCESS;
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ return atomic_xchgadd((unsigned long *)mem,(unsigned long)val);
+}
+
+APR_DECLARE(void) apr_atomic_sub32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ atomic_sub((unsigned long *)mem,(unsigned long)val);
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_inc32(volatile apr_uint32_t *mem)
+{
+ return atomic_xchgadd((unsigned long *)mem, 1);
+}
+
+APR_DECLARE(void) apr_atomic_set32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ *mem = val;
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)
+{
+ return *mem;
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_cas32(volatile apr_uint32_t *mem, apr_uint32_t with,apr_uint32_t cmp)
+{
+ return atomic_cmpxchg((unsigned long *)mem,(unsigned long)cmp,(unsigned long)with);
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ return atomic_xchg((unsigned long *)mem,(unsigned long)val);
+}
+
+APR_DECLARE(int) apr_atomic_dec32(volatile apr_uint32_t *mem)
+{
+ return (atomic_xchgadd((unsigned long *)mem, 0xFFFFFFFF) - 1);
+}
+
+APR_DECLARE(void *) apr_atomic_casptr(volatile void **mem, void *with, const void *cmp)
+{
+ return (void*)atomic_cmpxchg((unsigned long *)mem,(unsigned long)cmp,(unsigned long)with);
+}
diff --git a/atomic/os390/atomic.c b/atomic/os390/atomic.c
new file mode 100644
index 0000000..3c57668
--- /dev/null
+++ b/atomic/os390/atomic.c
@@ -0,0 +1,120 @@
+/* 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 "apr.h"
+#include "apr_atomic.h"
+
+#include <stdlib.h>
+
+apr_status_t apr_atomic_init(apr_pool_t *p)
+{
+ return APR_SUCCESS;
+}
+
+apr_uint32_t apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ apr_uint32_t old, new_val;
+
+ old = *mem; /* old is automatically updated on cs failure */
+ do {
+ new_val = old + val;
+ } while (__cs(&old, (cs_t *)mem, new_val));
+ return old;
+}
+
+void apr_atomic_sub32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ apr_uint32_t old, new_val;
+
+ old = *mem; /* old is automatically updated on cs failure */
+ do {
+ new_val = old - val;
+ } while (__cs(&old, (cs_t *)mem, new_val));
+}
+
+apr_uint32_t apr_atomic_inc32(volatile apr_uint32_t *mem)
+{
+ return apr_atomic_add32(mem, 1);
+}
+
+int apr_atomic_dec32(volatile apr_uint32_t *mem)
+{
+ apr_uint32_t old, new_val;
+
+ old = *mem; /* old is automatically updated on cs failure */
+ do {
+ new_val = old - 1;
+ } while (__cs(&old, (cs_t *)mem, new_val));
+
+ return new_val != 0;
+}
+
+apr_uint32_t apr_atomic_read32(volatile apr_uint32_t *mem)
+{
+ return *mem;
+}
+
+void apr_atomic_set32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ *mem = val;
+}
+
+apr_uint32_t apr_atomic_cas32(volatile apr_uint32_t *mem, apr_uint32_t swap,
+ apr_uint32_t cmp)
+{
+ apr_uint32_t old = cmp;
+
+ __cs(&old, (cs_t *)mem, swap);
+ return old; /* old is automatically updated from mem on cs failure */
+}
+
+#if APR_SIZEOF_VOIDP == 4
+void *apr_atomic_casptr(volatile void **mem_ptr,
+ void *swap_ptr,
+ const void *cmp_ptr)
+{
+ __cs1(&cmp_ptr, /* automatically updated from mem on __cs1 failure */
+ mem_ptr, /* set from swap when __cs1 succeeds */
+ &swap_ptr);
+ return (void *)cmp_ptr;
+}
+#elif APR_SIZEOF_VOIDP == 8
+void *apr_atomic_casptr(volatile void **mem_ptr,
+ void *swap_ptr,
+ const void *cmp_ptr)
+{
+ __csg(&cmp_ptr, /* automatically updated from mem on __csg failure */
+ mem_ptr, /* set from swap when __csg succeeds */
+ &swap_ptr);
+ return (void *)cmp_ptr;
+}
+#else
+#error APR_SIZEOF_VOIDP value not supported
+#endif /* APR_SIZEOF_VOIDP */
+
+apr_uint32_t apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ apr_uint32_t old, new_val;
+
+ old = *mem; /* old is automatically updated on cs failure */
+ do {
+ new_val = val;
+ } while (__cs(&old, (cs_t *)mem, new_val));
+
+ return old;
+}
+
diff --git a/atomic/unix/apr_atomic.c b/atomic/unix/apr_atomic.c
new file mode 100644
index 0000000..ed85a42
--- /dev/null
+++ b/atomic/unix/apr_atomic.c
@@ -0,0 +1,409 @@
+/* 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 "apr.h"
+#include "apr_atomic.h"
+#include "apr_thread_mutex.h"
+
+#include "apr_private.h"
+
+#include <stdlib.h>
+
+#if defined(__GNUC__) && defined(__STRICT_ANSI__) && !defined(USE_GENERIC_ATOMICS)
+/* force use of generic atomics if building e.g. with -std=c89, which
+ * doesn't allow inline asm */
+#define USE_GENERIC_ATOMICS
+#endif
+
+#if (defined(__i386__) || defined(__x86_64__)) \
+ && defined(__GNUC__) && !defined(USE_GENERIC_ATOMICS)
+
+APR_DECLARE(apr_uint32_t) apr_atomic_cas32(volatile apr_uint32_t *mem,
+ apr_uint32_t with,
+ apr_uint32_t cmp)
+{
+ apr_uint32_t prev;
+
+ asm volatile ("lock; cmpxchgl %1, %2"
+ : "=a" (prev)
+ : "r" (with), "m" (*(mem)), "0"(cmp)
+ : "memory", "cc");
+ return prev;
+}
+#define APR_OVERRIDE_ATOMIC_CAS32
+
+static apr_uint32_t inline intel_atomic_add32(volatile apr_uint32_t *mem,
+ apr_uint32_t val)
+{
+ asm volatile ("lock; xaddl %0,%1"
+ : "=r"(val), "=m"(*mem) /* outputs */
+ : "0"(val), "m"(*mem) /* inputs */
+ : "memory", "cc");
+ return val;
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem,
+ apr_uint32_t val)
+{
+ return intel_atomic_add32(mem, val);
+}
+#define APR_OVERRIDE_ATOMIC_ADD32
+
+APR_DECLARE(void) apr_atomic_sub32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ asm volatile ("lock; subl %1, %0"
+ :
+ : "m" (*(mem)), "r" (val)
+ : "memory", "cc");
+}
+#define APR_OVERRIDE_ATOMIC_SUB32
+
+APR_DECLARE(int) apr_atomic_dec32(volatile apr_uint32_t *mem)
+{
+ unsigned char prev;
+
+ asm volatile ("lock; decl %1;\n\t"
+ "setnz %%al"
+ : "=a" (prev)
+ : "m" (*(mem))
+ : "memory", "cc");
+ return prev;
+}
+#define APR_OVERRIDE_ATOMIC_DEC32
+
+APR_DECLARE(apr_uint32_t) apr_atomic_inc32(volatile apr_uint32_t *mem)
+{
+ return intel_atomic_add32(mem, 1);
+}
+#define APR_OVERRIDE_ATOMIC_INC32
+
+APR_DECLARE(void) apr_atomic_set32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ *mem = val;
+}
+#define APR_OVERRIDE_ATOMIC_SET32
+
+APR_DECLARE(apr_uint32_t) apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ apr_uint32_t prev = val;
+
+ asm volatile ("lock; xchgl %0, %1"
+ : "=r" (prev)
+ : "m" (*(mem)), "0"(prev)
+ : "memory");
+ return prev;
+}
+#define APR_OVERRIDE_ATOMIC_XCHG32
+
+/*#define apr_atomic_init(pool) APR_SUCCESS*/
+
+#endif /* (__linux__ || __EMX__ || __FreeBSD__) && __i386__ */
+
+#if (defined(__PPC__) || defined(__ppc__)) && defined(__GNUC__) \
+ && !defined(USE_GENERIC_ATOMICS)
+
+APR_DECLARE(apr_uint32_t) apr_atomic_cas32(volatile apr_uint32_t *mem,
+ apr_uint32_t swap,
+ apr_uint32_t cmp)
+{
+ apr_uint32_t prev;
+
+ asm volatile ("0:\n\t" /* retry local label */
+ "lwarx %0,0,%1\n\t" /* load prev and reserve */
+ "cmpw %0,%3\n\t" /* does it match cmp? */
+ "bne- 1f\n\t" /* ...no, bail out */
+ "stwcx. %2,0,%1\n\t" /* ...yes, conditionally
+ store swap */
+ "bne- 0b\n\t" /* start over if we lost
+ the reservation */
+ "1:" /* exit local label */
+
+ : "=&r"(prev) /* output */
+ : "b" (mem), "r" (swap), "r"(cmp) /* inputs */
+ : "memory", "cc"); /* clobbered */
+ return prev;
+}
+#define APR_OVERRIDE_ATOMIC_CAS32
+
+APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem,
+ apr_uint32_t delta)
+{
+ apr_uint32_t prev, temp;
+
+ asm volatile ("0:\n\t" /* retry local label */
+ "lwarx %0,0,%2\n\t" /* load prev and reserve */
+ "add %1,%0,%3\n\t" /* temp = prev + delta */
+ "stwcx. %1,0,%2\n\t" /* conditionally store */
+ "bne- 0b" /* start over if we lost
+ the reservation */
+
+ /*XXX find a cleaner way to define the temp
+ * it's not an output
+ */
+ : "=&r" (prev), "=&r" (temp) /* output, temp */
+ : "b" (mem), "r" (delta) /* inputs */
+ : "memory", "cc"); /* clobbered */
+ return prev;
+}
+#define APR_OVERRIDE_ATOMIC_ADD32
+
+#endif /* __PPC__ && __GNUC__ */
+
+#if !defined(APR_OVERRIDE_ATOMIC_INIT)
+
+#if APR_HAS_THREADS
+#define NUM_ATOMIC_HASH 7
+/* shift by 2 to get rid of alignment issues */
+#define ATOMIC_HASH(x) (unsigned int)(((unsigned long)(x)>>2)%(unsigned int)NUM_ATOMIC_HASH)
+static apr_thread_mutex_t **hash_mutex;
+#endif /* APR_HAS_THREADS */
+
+#if APR_HAS_THREADS
+static apr_status_t atomic_cleanup(void *data)
+{
+ if (hash_mutex == data)
+ hash_mutex = NULL;
+
+ return APR_SUCCESS;
+}
+#endif
+
+apr_status_t apr_atomic_init(apr_pool_t *p)
+{
+#if APR_HAS_THREADS
+ int i;
+ apr_status_t rv;
+
+ if (hash_mutex != NULL)
+ return APR_SUCCESS;
+
+ hash_mutex = apr_palloc(p, sizeof(apr_thread_mutex_t*) * NUM_ATOMIC_HASH);
+ apr_pool_cleanup_register(p, hash_mutex, atomic_cleanup,
+ apr_pool_cleanup_null);
+
+ for (i = 0; i < NUM_ATOMIC_HASH; i++) {
+ rv = apr_thread_mutex_create(&(hash_mutex[i]),
+ APR_THREAD_MUTEX_DEFAULT, p);
+ if (rv != APR_SUCCESS) {
+ return rv;
+ }
+ }
+#endif /* APR_HAS_THREADS */
+ return APR_SUCCESS;
+}
+#endif /* !defined(APR_OVERRIDE_ATOMIC_INIT) */
+
+/* abort() if 'x' does not evaluate to APR_SUCCESS. */
+#define CHECK(x) do { if ((x) != APR_SUCCESS) abort(); } while (0)
+
+#if !defined(APR_OVERRIDE_ATOMIC_ADD32)
+#if defined(APR_OVERRIDE_ATOMIC_CAS32)
+apr_uint32_t apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ apr_uint32_t old_value, new_value;
+
+ do {
+ old_value = *mem;
+ new_value = old_value + val;
+ } while (apr_atomic_cas32(mem, new_value, old_value) != old_value);
+ return old_value;
+}
+#else
+apr_uint32_t apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ apr_uint32_t old_value;
+
+#if APR_HAS_THREADS
+ apr_thread_mutex_t *lock = hash_mutex[ATOMIC_HASH(mem)];
+
+ CHECK(apr_thread_mutex_lock(lock));
+ old_value = *mem;
+ *mem += val;
+ CHECK(apr_thread_mutex_unlock(lock));
+#else
+ old_value = *mem;
+ *mem += val;
+#endif /* APR_HAS_THREADS */
+ return old_value;
+}
+#endif /* defined(APR_OVERRIDE_ATOMIC_CAS32) */
+#endif /* !defined(APR_OVERRIDE_ATOMIC_ADD32) */
+
+#if !defined(APR_OVERRIDE_ATOMIC_SUB32)
+#if defined(APR_OVERRIDE_ATOMIC_CAS32)
+void apr_atomic_sub32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ apr_uint32_t old_value, new_value;
+
+ do {
+ old_value = *mem;
+ new_value = old_value - val;
+ } while (apr_atomic_cas32(mem, new_value, old_value) != old_value);
+}
+#else
+void apr_atomic_sub32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+#if APR_HAS_THREADS
+ apr_thread_mutex_t *lock = hash_mutex[ATOMIC_HASH(mem)];
+
+ CHECK(apr_thread_mutex_lock(lock));
+ *mem -= val;
+ CHECK(apr_thread_mutex_unlock(lock));
+#else
+ *mem -= val;
+#endif /* APR_HAS_THREADS */
+}
+#endif /* defined(APR_OVERRIDE_ATOMIC_CAS32) */
+#endif /* !defined(APR_OVERRIDE_ATOMIC_SUB32) */
+
+#if !defined(APR_OVERRIDE_ATOMIC_SET32)
+void apr_atomic_set32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+#if APR_HAS_THREADS
+ apr_thread_mutex_t *lock = hash_mutex[ATOMIC_HASH(mem)];
+
+ CHECK(apr_thread_mutex_lock(lock));
+ *mem = val;
+ CHECK(apr_thread_mutex_unlock(lock));
+#else
+ *mem = val;
+#endif /* APR_HAS_THREADS */
+}
+#endif /* !defined(APR_OVERRIDE_ATOMIC_SET32) */
+
+#if !defined(APR_OVERRIDE_ATOMIC_INC32)
+apr_uint32_t apr_atomic_inc32(volatile apr_uint32_t *mem)
+{
+ return apr_atomic_add32(mem, 1);
+}
+#endif /* !defined(APR_OVERRIDE_ATOMIC_INC32) */
+
+#if !defined(APR_OVERRIDE_ATOMIC_DEC32)
+#if defined(APR_OVERRIDE_ATOMIC_CAS32)
+int apr_atomic_dec32(volatile apr_uint32_t *mem)
+{
+ apr_uint32_t old_value, new_value;
+
+ do {
+ old_value = *mem;
+ new_value = old_value - 1;
+ } while (apr_atomic_cas32(mem, new_value, old_value) != old_value);
+ return old_value != 1;
+}
+#else
+int apr_atomic_dec32(volatile apr_uint32_t *mem)
+{
+#if APR_HAS_THREADS
+ apr_thread_mutex_t *lock = hash_mutex[ATOMIC_HASH(mem)];
+ apr_uint32_t new;
+
+ CHECK(apr_thread_mutex_lock(lock));
+ (*mem)--;
+ new = *mem;
+ CHECK(apr_thread_mutex_unlock(lock));
+ return new;
+#else
+ (*mem)--;
+ return *mem;
+#endif /* APR_HAS_THREADS */
+}
+#endif /* defined(APR_OVERRIDE_ATOMIC_CAS32) */
+#endif /* !defined(APR_OVERRIDE_ATOMIC_DEC32) */
+
+#if !defined(APR_OVERRIDE_ATOMIC_CAS32)
+apr_uint32_t apr_atomic_cas32(volatile apr_uint32_t *mem, apr_uint32_t with,
+ apr_uint32_t cmp)
+{
+ apr_uint32_t prev;
+#if APR_HAS_THREADS
+ apr_thread_mutex_t *lock = hash_mutex[ATOMIC_HASH(mem)];
+
+ CHECK(apr_thread_mutex_lock(lock));
+ prev = *mem;
+ if (prev == cmp) {
+ *mem = with;
+ }
+ CHECK(apr_thread_mutex_unlock(lock));
+#else
+ prev = *mem;
+ if (prev == cmp) {
+ *mem = with;
+ }
+#endif /* APR_HAS_THREADS */
+ return prev;
+}
+#endif /* !defined(APR_OVERRIDE_ATOMIC_CAS32) */
+
+#if !defined(APR_OVERRIDE_ATOMIC_XCHG32)
+#if defined(APR_OVERRIDE_ATOMIC_CAS32)
+apr_uint32_t apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ apr_uint32_t prev;
+ do {
+ prev = *mem;
+ } while (apr_atomic_cas32(mem, val, prev) != prev);
+ return prev;
+}
+#else
+apr_uint32_t apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+ apr_uint32_t prev;
+#if APR_HAS_THREADS
+ apr_thread_mutex_t *lock = hash_mutex[ATOMIC_HASH(mem)];
+
+ CHECK(apr_thread_mutex_lock(lock));
+ prev = *mem;
+ *mem = val;
+ CHECK(apr_thread_mutex_unlock(lock));
+#else
+ prev = *mem;
+ *mem = val;
+#endif /* APR_HAS_THREADS */
+ return prev;
+}
+#endif /* defined(APR_OVERRIDE_ATOMIC_CAS32) */
+#endif /* !defined(APR_OVERRIDE_ATOMIC_XCHG32) */
+
+#if !defined(APR_OVERRIDE_ATOMIC_CASPTR)
+void *apr_atomic_casptr(volatile void **mem, void *with, const void *cmp)
+{
+ void *prev;
+#if APR_HAS_THREADS
+ apr_thread_mutex_t *lock = hash_mutex[ATOMIC_HASH(mem)];
+
+ CHECK(apr_thread_mutex_lock(lock));
+ prev = *(void **)mem;
+ if (prev == cmp) {
+ *mem = with;
+ }
+ CHECK(apr_thread_mutex_unlock(lock));
+#else
+ prev = *(void **)mem;
+ if (prev == cmp) {
+ *mem = with;
+ }
+#endif /* APR_HAS_THREADS */
+ return prev;
+}
+#endif /* !defined(APR_OVERRIDE_ATOMIC_CASPTR) */
+
+#if !defined(APR_OVERRIDE_ATOMIC_READ32)
+APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)
+{
+ return *mem;
+}
+#endif
+
diff --git a/atomic/win32/apr_atomic.c b/atomic/win32/apr_atomic.c
new file mode 100644
index 0000000..42c1987
--- /dev/null
+++ b/atomic/win32/apr_atomic.c
@@ -0,0 +1,123 @@
+/* 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 "apr.h"
+#include "apr_atomic.h"
+#include "apr_thread_mutex.h"
+
+APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
+{
+ 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 *);
+
+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);
+#else
+ return ((apr_atomic_win32_ptr_val_fn)InterlockedExchangeAdd)(mem, val);
+#endif
+}
+
+/* Of course we want the 2's compliment of the unsigned value, val */
+#pragma warning(disable: 4146)
+
+APR_DECLARE(void) apr_atomic_sub32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+#if (defined(_M_IA64) || defined(_M_AMD64))
+ InterlockedExchangeAdd(mem, -val);
+#else
+ ((apr_atomic_win32_ptr_val_fn)InterlockedExchangeAdd)(mem, -val);
+#endif
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_inc32(volatile apr_uint32_t *mem)
+{
+ /* we return old value, win32 returns new value :( */
+#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
+ return InterlockedIncrement(mem) - 1;
+#else
+ return ((apr_atomic_win32_ptr_fn)InterlockedIncrement)(mem) - 1;
+#endif
+}
+
+APR_DECLARE(int) apr_atomic_dec32(volatile apr_uint32_t *mem)
+{
+#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
+ return InterlockedDecrement(mem);
+#else
+ return ((apr_atomic_win32_ptr_fn)InterlockedDecrement)(mem);
+#endif
+}
+
+APR_DECLARE(void) apr_atomic_set32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
+ InterlockedExchange(mem, val);
+#else
+ ((apr_atomic_win32_ptr_val_fn)InterlockedExchange)(mem, val);
+#endif
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)
+{
+ return *mem;
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_cas32(volatile apr_uint32_t *mem, apr_uint32_t with,
+ apr_uint32_t cmp)
+{
+#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
+ return InterlockedCompareExchange(mem, with, cmp);
+#else
+ return ((apr_atomic_win32_ptr_val_val_fn)InterlockedCompareExchange)(mem, with, cmp);
+#endif
+}
+
+APR_DECLARE(void *) apr_atomic_casptr(volatile void **mem, void *with, const void *cmp)
+{
+#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
+ return InterlockedCompareExchangePointer((void* volatile*)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
+}
+
+APR_DECLARE(apr_uint32_t) apr_atomic_xchg32(volatile apr_uint32_t *mem, apr_uint32_t val)
+{
+#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED)
+ return InterlockedExchange(mem, val);
+#else
+ return ((apr_atomic_win32_ptr_val_fn)InterlockedExchange)(mem, val);
+#endif
+}
diff --git a/build-outputs.mk b/build-outputs.mk
new file mode 100644
index 0000000..2c12768
--- /dev/null
+++ b/build-outputs.mk
@@ -0,0 +1,236 @@
+# DO NOT EDIT. AUTOMATICALLY GENERATED.
+
+passwd/apr_getpass.lo: passwd/apr_getpass.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
+strings/apr_cpystrn.lo: strings/apr_cpystrn.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
+strings/apr_strnatcmp.lo: strings/apr_strnatcmp.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
+strings/apr_strings.lo: strings/apr_strings.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
+strings/apr_strtok.lo: strings/apr_strtok.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_pools.h
+strings/apr_fnmatch.lo: strings/apr_fnmatch.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_fnmatch.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+strings/apr_snprintf.lo: strings/apr_snprintf.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+tables/apr_tables.lo: tables/apr_tables.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h include/apr_tables.h
+tables/apr_hash.lo: tables/apr_hash.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_hash.h include/apr_pools.h
+
+OBJECTS_all = passwd/apr_getpass.lo strings/apr_cpystrn.lo strings/apr_strnatcmp.lo strings/apr_strings.lo strings/apr_strtok.lo strings/apr_fnmatch.lo strings/apr_snprintf.lo tables/apr_tables.lo tables/apr_hash.lo
+
+atomic/unix/apr_atomic.lo: atomic/unix/apr_atomic.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_atomic.h include/apr_pools.h
+
+OBJECTS_atomic_unix = atomic/unix/apr_atomic.lo
+
+dso/unix/dso.lo: dso/unix/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_dso_unix = dso/unix/dso.lo
+
+file_io/unix/flock.lo: file_io/unix/flock.c .make.dirs
+file_io/unix/readwrite.lo: file_io/unix/readwrite.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_network_io.h include/apr_general.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_time.h include/apr_pools.h
+file_io/unix/filepath_util.lo: file_io/unix/filepath_util.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_pools.h include/apr_tables.h
+file_io/unix/seek.lo: file_io/unix/seek.c .make.dirs
+file_io/unix/dir.lo: file_io/unix/dir.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/unix/mktemp.lo: file_io/unix/mktemp.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/unix/filedup.lo: file_io/unix/filedup.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/unix/tempdir.lo: file_io/unix/tempdir.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_env.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_inherit.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/unix/filepath.lo: file_io/unix/filepath.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/unix/pipe.lo: file_io/unix/pipe.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/unix/open.lo: file_io/unix/open.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_hash.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/unix/filestat.lo: file_io/unix/filestat.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/unix/copy.lo: file_io/unix/copy.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/unix/fileacc.lo: file_io/unix/fileacc.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
+file_io/unix/fullrw.lo: file_io/unix/fullrw.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+
+OBJECTS_file_io_unix = file_io/unix/flock.lo file_io/unix/readwrite.lo file_io/unix/filepath_util.lo file_io/unix/seek.lo file_io/unix/dir.lo file_io/unix/mktemp.lo file_io/unix/filedup.lo file_io/unix/tempdir.lo file_io/unix/filepath.lo file_io/unix/pipe.lo file_io/unix/open.lo file_io/unix/filestat.lo file_io/unix/copy.lo file_io/unix/fileacc.lo file_io/unix/fullrw.lo
+
+locks/unix/thread_rwlock.lo: locks/unix/thread_rwlock.c .make.dirs
+locks/unix/thread_mutex.lo: locks/unix/thread_mutex.c .make.dirs include/apr_want.h
+locks/unix/thread_cond.lo: locks/unix/thread_cond.c .make.dirs
+locks/unix/proc_mutex.lo: locks/unix/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
+locks/unix/global_mutex.lo: locks/unix/global_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_locks_unix = locks/unix/thread_rwlock.lo locks/unix/thread_mutex.lo locks/unix/thread_cond.lo locks/unix/proc_mutex.lo locks/unix/global_mutex.lo
+
+memory/unix/apr_pools.lo: memory/unix/apr_pools.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_env.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_atomic.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_hash.h include/apr_lib.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_memory_unix = memory/unix/apr_pools.lo
+
+misc/unix/charset.lo: misc/unix/charset.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+misc/unix/env.lo: misc/unix/env.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_env.h include/apr_thread_mutex.h include/apr_pools.h
+misc/unix/version.lo: misc/unix/version.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_version.h include/apr_thread_mutex.h include/apr_pools.h
+misc/unix/rand.lo: misc/unix/rand.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_pools.h
+misc/unix/start.lo: misc/unix/start.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_signal.h include/apr_want.h include/apr_thread_mutex.h include/apr_atomic.h include/apr_pools.h
+misc/unix/errorcodes.lo: misc/unix/errorcodes.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_dso.h include/apr_pools.h
+misc/unix/getopt.lo: misc/unix/getopt.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
+misc/unix/otherchild.lo: misc/unix/otherchild.c .make.dirs
+
+OBJECTS_misc_unix = misc/unix/charset.lo misc/unix/env.lo misc/unix/version.lo misc/unix/rand.lo misc/unix/start.lo misc/unix/errorcodes.lo misc/unix/getopt.lo misc/unix/otherchild.lo
+
+mmap/unix/mmap.lo: mmap/unix/mmap.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_ring.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h include/apr_mmap.h
+mmap/unix/common.lo: mmap/unix/common.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_ring.h include/apr_tables.h include/apr_time.h include/apr_pools.h include/apr_mmap.h
+
+OBJECTS_mmap_unix = mmap/unix/mmap.lo mmap/unix/common.lo
+
+network_io/unix/sockaddr.lo: network_io/unix/sockaddr.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
+network_io/unix/sockopt.lo: network_io/unix/sockopt.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
+network_io/unix/sendrecv.lo: network_io/unix/sendrecv.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_user.h include/apr_network_io.h include/apr_general.h include/apr_inherit.h include/apr_file_info.h include/apr_errno.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+network_io/unix/multicast.lo: network_io/unix/multicast.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_general.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+network_io/unix/sockets.lo: network_io/unix/sockets.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_general.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+network_io/unix/inet_ntop.lo: network_io/unix/inet_ntop.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
+network_io/unix/inet_pton.lo: network_io/unix/inet_pton.c .make.dirs
+
+OBJECTS_network_io_unix = network_io/unix/sockaddr.lo network_io/unix/sockopt.lo network_io/unix/sendrecv.lo network_io/unix/multicast.lo network_io/unix/sockets.lo network_io/unix/inet_ntop.lo network_io/unix/inet_pton.lo
+
+poll/unix/epoll.lo: poll/unix/epoll.c .make.dirs
+poll/unix/select.lo: poll/unix/select.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_poll.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+poll/unix/poll.lo: poll/unix/poll.c .make.dirs
+poll/unix/port.lo: poll/unix/port.c .make.dirs
+poll/unix/kqueue.lo: poll/unix/kqueue.c .make.dirs
+
+OBJECTS_poll_unix = poll/unix/epoll.lo poll/unix/select.lo poll/unix/poll.lo poll/unix/port.lo poll/unix/kqueue.lo
+
+random/unix/sha2.lo: random/unix/sha2.c .make.dirs
+random/unix/apr_random.lo: random/unix/apr_random.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_random.h include/apr_thread_proc.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+random/unix/sha2_glue.lo: random/unix/sha2_glue.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_thread_mutex.h include/apr_random.h include/apr_pools.h
+
+OBJECTS_random_unix = random/unix/sha2.lo random/unix/apr_random.lo random/unix/sha2_glue.lo
+
+shmem/unix/shm.lo: shmem/unix/shm.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_strings.h include/apr_thread_mutex.h include/apr_pools.h
+
+OBJECTS_shmem_unix = shmem/unix/shm.lo
+
+support/unix/waitio.lo: support/unix/waitio.c .make.dirs include/apr_support.h include/apr_allocator.h include/apr_network_io.h include/apr_general.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_poll.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_support_unix = support/unix/waitio.lo
+
+threadproc/unix/procsup.lo: threadproc/unix/procsup.c .make.dirs
+threadproc/unix/thread.lo: threadproc/unix/thread.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+threadproc/unix/signals.lo: threadproc/unix/signals.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_signal.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_pools.h
+threadproc/unix/proc.lo: threadproc/unix/proc.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_signal.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_proc_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_random.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+threadproc/unix/threadpriv.lo: threadproc/unix/threadpriv.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_threadproc_unix = threadproc/unix/procsup.lo threadproc/unix/thread.lo threadproc/unix/signals.lo threadproc/unix/proc.lo threadproc/unix/threadpriv.lo
+
+time/unix/time.lo: time/unix/time.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+time/unix/timestr.lo: time/unix/timestr.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_time_unix = time/unix/time.lo time/unix/timestr.lo
+
+user/unix/userinfo.lo: user/unix/userinfo.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+user/unix/groupinfo.lo: user/unix/groupinfo.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_user_unix = user/unix/userinfo.lo user/unix/groupinfo.lo
+
+OBJECTS_unix = $(OBJECTS_all) $(OBJECTS_atomic_unix) $(OBJECTS_dso_unix) $(OBJECTS_file_io_unix) $(OBJECTS_locks_unix) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_unix) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_unix) $(OBJECTS_support_unix) $(OBJECTS_threadproc_unix) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
+
+dso/aix/dso.lo: dso/aix/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_dso_aix = dso/aix/dso.lo
+
+OBJECTS_aix = $(OBJECTS_all) $(OBJECTS_atomic_unix) $(OBJECTS_dso_aix) $(OBJECTS_file_io_unix) $(OBJECTS_locks_unix) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_unix) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_unix) $(OBJECTS_support_unix) $(OBJECTS_threadproc_unix) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
+
+dso/beos/dso.lo: dso/beos/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_dso_beos = dso/beos/dso.lo
+
+locks/beos/thread_rwlock.lo: locks/beos/thread_rwlock.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+locks/beos/thread_mutex.lo: locks/beos/thread_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+locks/beos/thread_cond.lo: locks/beos/thread_cond.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+locks/beos/proc_mutex.lo: locks/beos/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_locks_beos = locks/beos/thread_rwlock.lo locks/beos/thread_mutex.lo locks/beos/thread_cond.lo locks/beos/proc_mutex.lo
+
+network_io/beos/socketcommon.lo: network_io/beos/socketcommon.c .make.dirs
+network_io/beos/sendrecv.lo: network_io/beos/sendrecv.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_network_io_beos = network_io/beos/socketcommon.lo network_io/beos/sendrecv.lo
+
+shmem/beos/shm.lo: shmem/beos/shm.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_shmem_beos = shmem/beos/shm.lo
+
+threadproc/beos/apr_proc_stub.lo: threadproc/beos/apr_proc_stub.c .make.dirs
+threadproc/beos/thread.lo: threadproc/beos/thread.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+threadproc/beos/proc.lo: threadproc/beos/proc.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_pools.h include/apr_strings.h
+threadproc/beos/threadpriv.lo: threadproc/beos/threadpriv.c .make.dirs
+threadproc/beos/threadproc_common.lo: threadproc/beos/threadproc_common.c .make.dirs
+
+OBJECTS_threadproc_beos = threadproc/beos/apr_proc_stub.lo threadproc/beos/thread.lo threadproc/beos/proc.lo threadproc/beos/threadpriv.lo threadproc/beos/threadproc_common.lo
+
+OBJECTS_beos = $(OBJECTS_all) $(OBJECTS_atomic_unix) $(OBJECTS_dso_beos) $(OBJECTS_file_io_unix) $(OBJECTS_locks_beos) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_beos) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_beos) $(OBJECTS_support_unix) $(OBJECTS_threadproc_beos) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
+
+dso/os2/dso.lo: dso/os2/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_dso_os2 = dso/os2/dso.lo
+
+file_io/os2/dir_make_recurse.lo: file_io/os2/dir_make_recurse.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/os2/filesys.lo: file_io/os2/filesys.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_want.h include/apr_strings.h include/apr_thread_mutex.h include/apr_lib.h include/apr_pools.h
+file_io/os2/flock.lo: file_io/os2/flock.c .make.dirs
+file_io/os2/readwrite.lo: file_io/os2/readwrite.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/os2/filepath_util.lo: file_io/os2/filepath_util.c .make.dirs
+file_io/os2/seek.lo: file_io/os2/seek.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/os2/dir.lo: file_io/os2/dir.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_proc_mutex.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/os2/mktemp.lo: file_io/os2/mktemp.c .make.dirs
+file_io/os2/filedup.lo: file_io/os2/filedup.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/os2/tempdir.lo: file_io/os2/tempdir.c .make.dirs
+file_io/os2/maperrorcode.lo: file_io/os2/maperrorcode.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/os2/filepath.lo: file_io/os2/filepath.c .make.dirs
+file_io/os2/pipe.lo: file_io/os2/pipe.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/os2/open.lo: file_io/os2/open.c .make.dirs include/apr_allocator.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_shm.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_dso.h include/apr_proc_mutex.h include/apr_lib.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+file_io/os2/filestat.lo: file_io/os2/filestat.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_want.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+file_io/os2/copy.lo: file_io/os2/copy.c .make.dirs
+file_io/os2/fileacc.lo: file_io/os2/fileacc.c .make.dirs
+file_io/os2/fullrw.lo: file_io/os2/fullrw.c .make.dirs
+
+OBJECTS_file_io_os2 = file_io/os2/dir_make_recurse.lo file_io/os2/filesys.lo file_io/os2/flock.lo file_io/os2/readwrite.lo file_io/os2/filepath_util.lo file_io/os2/seek.lo file_io/os2/dir.lo file_io/os2/mktemp.lo file_io/os2/filedup.lo file_io/os2/tempdir.lo file_io/os2/maperrorcode.lo file_io/os2/filepath.lo file_io/os2/pipe.lo file_io/os2/open.lo file_io/os2/filestat.lo file_io/os2/copy.lo file_io/os2/fileacc.lo file_io/os2/fullrw.lo
+
+locks/os2/thread_rwlock.lo: locks/os2/thread_rwlock.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+locks/os2/thread_mutex.lo: locks/os2/thread_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+locks/os2/thread_cond.lo: locks/os2/thread_cond.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+locks/os2/proc_mutex.lo: locks/os2/proc_mutex.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_locks_os2 = locks/os2/thread_rwlock.lo locks/os2/thread_mutex.lo locks/os2/thread_cond.lo locks/os2/proc_mutex.lo
+
+network_io/os2/sockaddr.lo: network_io/os2/sockaddr.c .make.dirs
+network_io/os2/sockopt.lo: network_io/os2/sockopt.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+network_io/os2/sendrecv_udp.lo: network_io/os2/sendrecv_udp.c .make.dirs include/apr_support.h include/apr_general.h include/apr_network_io.h include/apr_inherit.h include/apr_file_info.h include/apr_allocator.h include/apr_thread_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_lib.h include/apr_time.h include/apr_pools.h
+network_io/os2/sendrecv.lo: network_io/os2/sendrecv.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_want.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_inherit.h include/apr_thread_mutex.h include/apr_lib.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+network_io/os2/os2calls.lo: network_io/os2/os2calls.c .make.dirs include/apr_allocator.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_shm.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_dso.h include/apr_proc_mutex.h include/apr_lib.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+network_io/os2/sockets.lo: network_io/os2/sockets.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+network_io/os2/inet_ntop.lo: network_io/os2/inet_ntop.c .make.dirs
+network_io/os2/inet_pton.lo: network_io/os2/inet_pton.c .make.dirs
+
+OBJECTS_network_io_os2 = network_io/os2/sockaddr.lo network_io/os2/sockopt.lo network_io/os2/sendrecv_udp.lo network_io/os2/sendrecv.lo network_io/os2/os2calls.lo network_io/os2/sockets.lo network_io/os2/inet_ntop.lo network_io/os2/inet_pton.lo
+
+poll/os2/pollset.lo: poll/os2/pollset.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_poll.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+poll/os2/poll.lo: poll/os2/poll.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_errno.h include/apr_inherit.h include/apr_file_info.h include/apr_user.h include/apr_file_io.h include/apr_want.h include/apr_thread_mutex.h include/apr_poll.h include/apr_time.h include/apr_pools.h include/apr_tables.h
+
+OBJECTS_poll_os2 = poll/os2/pollset.lo poll/os2/poll.lo
+
+shmem/os2/shm.lo: shmem/os2/shm.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_shmem_os2 = shmem/os2/shm.lo
+
+threadproc/os2/thread.lo: threadproc/os2/thread.c .make.dirs include/apr_allocator.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_shm.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_dso.h include/apr_proc_mutex.h include/apr_lib.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+threadproc/os2/signals.lo: threadproc/os2/signals.c .make.dirs
+threadproc/os2/proc.lo: threadproc/os2/proc.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_signal.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_proc_mutex.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_inherit.h include/apr_lib.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+threadproc/os2/threadpriv.lo: threadproc/os2/threadpriv.c .make.dirs include/apr_allocator.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_shm.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_dso.h include/apr_proc_mutex.h include/apr_lib.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_threadproc_os2 = threadproc/os2/thread.lo threadproc/os2/signals.lo threadproc/os2/proc.lo threadproc/os2/threadpriv.lo
+
+OBJECTS_os2 = $(OBJECTS_all) $(OBJECTS_atomic_unix) $(OBJECTS_dso_os2) $(OBJECTS_file_io_os2) $(OBJECTS_locks_os2) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_os2) $(OBJECTS_poll_os2) $(OBJECTS_random_unix) $(OBJECTS_shmem_os2) $(OBJECTS_support_unix) $(OBJECTS_threadproc_os2) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
+
+atomic/os390/atomic.lo: atomic/os390/atomic.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_thread_mutex.h include/apr_errno.h include/apr_want.h include/apr_atomic.h include/apr_pools.h
+
+OBJECTS_atomic_os390 = atomic/os390/atomic.lo
+
+dso/os390/dso.lo: dso/os390/dso.c .make.dirs include/apr_allocator.h include/apr_general.h include/apr_network_io.h include/apr_portable.h include/apr_inherit.h include/apr_file_info.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_dso.h include/apr_tables.h include/apr_errno.h include/apr_want.h include/apr_user.h include/apr_file_io.h include/apr_strings.h include/apr_proc_mutex.h include/apr_shm.h include/apr_global_mutex.h include/apr_time.h include/apr_pools.h
+
+OBJECTS_dso_os390 = dso/os390/dso.lo
+
+OBJECTS_os390 = $(OBJECTS_all) $(OBJECTS_atomic_os390) $(OBJECTS_dso_os390) $(OBJECTS_file_io_unix) $(OBJECTS_locks_unix) $(OBJECTS_memory_unix) $(OBJECTS_misc_unix) $(OBJECTS_mmap_unix) $(OBJECTS_network_io_unix) $(OBJECTS_poll_unix) $(OBJECTS_random_unix) $(OBJECTS_shmem_unix) $(OBJECTS_support_unix) $(OBJECTS_threadproc_unix) $(OBJECTS_time_unix) $(OBJECTS_user_unix)
+
+HEADERS = $(top_srcdir)/include/apr_thread_mutex.h $(top_srcdir)/include/apr_env.h $(top_srcdir)/include/apr_poll.h $(top_srcdir)/include/apr_fnmatch.h $(top_srcdir)/include/apr_global_mutex.h $(top_srcdir)/include/apr_pools.h $(top_srcdir)/include/apr_want.h $(top_srcdir)/include/apr_file_io.h $(top_srcdir)/include/apr_version.h $(top_srcdir)/include/apr_mmap.h $(top_srcdir)/include/apr_dso.h $(top_srcdir)/include/apr_thread_proc.h $(top_srcdir)/include/apr_errno.h $(top_srcdir)/include/apr_shm.h $(top_srcdir)/include/apr_network_io.h $(top_srcdir)/include/apr_signal.h $(top_srcdir)/include/apr_user.h $(top_srcdir)/include/apr_support.h $(top_srcdir)/include/apr_atomic.h $(top_srcdir)/include/apr_random.h $(top_srcdir)/include/apr_thread_cond.h $(top_srcdir)/include/apr_thread_rwlock.h $(top_srcdir)/include/apr_getopt.h $(top_srcdir)/include/apr_inherit.h $(top_srcdir)/include/apr_strings.h $(top_srcdir)/include/apr_general.h $(top_srcdir)/include/apr_proc_mutex.h $(top_srcdir)/include/apr_tables.h $(top_srcdir)/include/apr_ring.h $(top_srcdir)/include/apr_file_info.h $(top_srcdir)/include/apr_allocator.h $(top_srcdir)/include/apr_portable.h $(top_srcdir)/include/apr_hash.h $(top_srcdir)/include/apr_time.h $(top_srcdir)/include/apr_lib.h
+
+SOURCE_DIRS = random/unix dso/os2 time/unix locks/unix user/unix locks/beos tables support/unix file_io/unix mmap/unix atomic/unix poll/os2 dso/os390 atomic/os390 dso/beos poll/unix passwd network_io/beos threadproc/os2 network_io/os2 threadproc/beos shmem/unix network_io/unix file_io/os2 dso/aix threadproc/unix misc/unix shmem/beos dso/unix locks/os2 shmem/os2 memory/unix strings $(EXTRA_SOURCE_DIRS)
+
+BUILD_DIRS = atomic atomic/os390 atomic/unix dso dso/aix dso/beos dso/os2 dso/os390 dso/unix file_io file_io/os2 file_io/unix locks locks/beos locks/os2 locks/unix memory memory/unix misc misc/unix mmap mmap/unix network_io network_io/beos network_io/os2 network_io/unix passwd poll poll/os2 poll/unix random random/unix shmem shmem/beos shmem/os2 shmem/unix strings support support/unix tables threadproc threadproc/beos threadproc/os2 threadproc/unix time time/unix user user/unix
+
+.make.dirs: $(srcdir)/build-outputs.mk
+ @for d in $(BUILD_DIRS); do test -d $$d || mkdir $$d; done
+ @echo timestamp > $@
diff --git a/build.conf b/build.conf
new file mode 100644
index 0000000..0522a1b
--- /dev/null
+++ b/build.conf
@@ -0,0 +1,26 @@
+#
+# Configuration file for APR. Used by APR/build/gen-build.py
+#
+
+[options]
+
+# paths to platform-independent .c files to build
+paths =
+ passwd/*.c
+ strings/*.c
+ tables/*.c
+
+# directories that have platform-specific code in them. the resulting
+# pattern will be: SUBDIR/PLATFORM/*.c
+platform_dirs =
+ atomic dso file_io locks memory misc mmap network_io poll random
+ shmem support threadproc time user
+
+# all the public headers
+headers = include/*.h
+
+# aplibtool is manually built by the configure process
+# build/aplibtool.c
+
+# we have a recursive makefile for the test files (for now)
+# test/*.c
diff --git a/build/MakeEtags b/build/MakeEtags
new file mode 100644
index 0000000..c4e957c
--- /dev/null
+++ b/build/MakeEtags
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# This file illustrates how to generate a useful TAGS file via etags
+# for emacs. This should be invoked from the top source directory i.e.:
+# > build/MakeEtags
+# and will create a TAGS file in the top source directory.
+
+# This script falls under the Apache License.
+# See http://www.apache.org/docs/LICENSE
+
+# Once you have created ./TAGS in emacs you'll need to setup
+# tag-table-alist with an entry to assure it finds the single ./TAGS
+# file from the many source directories. Something along these lines:
+# (setq tag-table-alist
+# '(("/home/me/work/httpd-2.0/"
+# . "/home/me/work/httpd-2.0/")
+# ))
+
+# This requires a special version of etags, i.e. the
+# one called "Exuberant ctags" available at:
+# http://fly.hiwaay.net/~darren/ctags/
+# Once that is setup you'll need to point to the
+# executable here:
+
+etags=~/local/bin/etags
+
+# Exuberant etags is necessary since it can ignore some defined symbols
+# that obscure the function signatures.
+
+ignore=AP_DECLARE,AP_DECLARE_NONSTD,__declspec
+
+# Create an etags file at the root of the source
+# tree, then create symbol links to it from each
+# directory in the source tree. By passing etags
+# absolute pathnames we get a tag file that is
+# NOT portable when we move the directory tree.
+
+find . -name '*.[ch]' -print | $etags -I "$ignore" -L -
+
diff --git a/build/NWGNUenvironment.inc b/build/NWGNUenvironment.inc
new file mode 100644
index 0000000..7f6b318
--- /dev/null
+++ b/build/NWGNUenvironment.inc
@@ -0,0 +1,309 @@
+#
+# Setup needed Tools and Libraries
+#
+
+ifeq "$(wildcard $(APR_WORK)\build\NWGNUcustom.inc)" "$(APR_WORK)\build\NWGNUcustom.inc"
+include $(APR_WORK)\build\NWGNUcustom.inc
+CUSTOM_INI = $(AP_WORK)\NWGNUcustom.ini
+endif
+
+ifndef VERBOSE
+.SILENT:
+endif
+
+#
+# Treat like an include
+#
+ifndef EnvironmentDefined
+
+#
+# simple macros for parsing makefiles
+#
+EOLIST:=
+EMPTY :=
+COMMA := ,
+SPACE := $(EMPTY) $(EMPTY)
+
+#
+# Base environment
+#
+
+# Try and handle case issues
+ifndef NOVELLLIBC
+ifdef NovellLibC
+NOVELLLIBC = $(NovellLibC)
+endif
+endif
+
+ifndef NOVELLLIBC
+NOVELLLIBC = C:/novell/ndk/libc
+endif
+
+# This is a placeholder
+# ifndef LDAPSDK
+# LDAPSDK = C:/novell/ndk/cldapsdk
+# endif
+
+ifndef METROWERKS
+METROWERKS = C:\Program Files\Metrowerks\CodeWarrior
+endif
+
+# If LM_LICENSE_FILE isn't defined, define a variable that can be used to
+# restart make with it defined
+ifndef LM_LICENSE_FILE
+NO_LICENSE_FILE = NO_LICENSE_FILE
+endif
+
+#
+# Set the Release type that you want to build, possible values are:
+#
+# debug - full debug switches are set
+# noopt - normal switches are set (default)
+# optimized - optimization switches are set
+
+ifdef reltype
+RELEASE=$(reltype)
+endif
+
+ifdef RELTYPE
+RELEASE=$(RELTYPE)
+endif
+
+ifdef debug
+RELEASE=debug
+endif
+
+ifdef DEBUG
+RELEASE=debug
+endif
+
+ifdef optimized
+RELEASE=optimized
+endif
+
+ifdef OPTIMIZED
+RELEASE=optimized
+endif
+
+ifndef RELEASE
+RELEASE = optimized
+endif
+
+ifeq "$(RELEASE)" "debug"
+OBJDIR = Debug
+endif
+
+ifeq "$(RELEASE)" "noopt"
+OBJDIR = Noopt
+endif
+
+ifeq "$(RELEASE)" "optimized"
+OBJDIR = Release
+endif
+
+#
+# Setup compiler information
+#
+
+# MetroWerks NLM tools
+CC = mwccnlm
+CPP = mwccnlm
+LINK = mwldnlm
+LIB = mwldnlm -type library -w nocmdline
+
+ifdef IPV6
+ifndef USE_STDSOCKETS
+USE_STDSOCKETS=1
+endif
+endif
+
+NOVI = $(NOVELLLIBC)\imports
+
+INCDIRS = $(NOVELLLIBC)\include;$(NOVELLLIBC)\include\nks;$(NOVELLLIBC)\include\winsock;
+
+DEFINES = -DNETWARE
+ifndef USE_STDSOCKETS
+DEFINES += -DUSE_WINSOCK
+endif
+ifndef DEBUG
+DEFINES += -DNDEBUG
+endif
+
+#
+# MetroWerks static Libraries
+
+CLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\Runtime\mwcrtl.lib
+MATH3S =
+PLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\MSL C++\MWCPP.lib
+
+# Base compile flags
+# and prefix or precompiled header added here.
+
+# The default flags are as follows:
+#
+# -c compile only, no link
+# -nosyspath treat #include <...> like #include "..."
+# -Cpp_exceptions off disable C++ exceptions
+# -RTTI off disable C++ run-time typing information
+# -align 4 align on 4 byte bounderies
+# -w nocmdline disable command-line driver/parser warnings
+# -proc PII generate code base on Pentium II instruction set
+# -inst mmx use MMX extensions (not used)
+
+CFLAGS = -c -nosyspath -Cpp_exceptions off -RTTI off -align 4 -w nocmdline -proc PII
+
+# -g generate debugging information
+# -O0 level 0 optimizations
+
+ifeq "$(RELEASE)" "debug"
+CFLAGS += -g -O0
+endif
+
+# -O4,p level 4 optimizations, optimize for speed
+ifeq "$(RELEASE)" "optimized"
+CFLAGS += -O4,p
+endif
+
+# -prefix apr_arch_pre_nw.h #include pre_nw.h for all files
+
+CFLAGS += -prefix apr_arch_pre_nw.h
+
+
+PATH:=$(PATH);$(METROWERKS)\bin;$(METROWERKS)\Other Metrowerks Tools\Command Line Tools
+
+#
+# Declare major project deliverables output directories here
+#
+
+ifdef DEST
+INSTALL = $(DEST)
+ifeq (\, $(findstring \,$(INSTALL)))
+INSTDIRS = $(DEST)
+endif
+endif
+
+ifdef dest
+INSTALL = $(dest)
+ifeq (\, $(findstring \,$(INSTALL)))
+INSTDIRS = $(dest)
+endif
+endif
+
+ifndef INSTALL
+INSTALL = $(APR_WORK)\Dist
+INSTDIRS = $(APR_WORK)\Dist
+endif
+
+# Add support for building IPV6 alongside
+ifneq "$(IPV6)" ""
+DEFINES += -DNW_BUILD_IPV6
+INCDIRS := $(NOVELLLIBC)\include\winsock\IPV6;$(INCDIRS)
+
+ifneq "$(findstring IPV6,$(OBJDIR))" "IPV6"
+OBJDIR := $(OBJDIR)_IPV6
+endif
+
+ifneq "$(findstring IPV6,$(INSTALL))" "IPV6"
+INSTALL := $(INSTALL)_IPV6
+endif
+
+ifneq "$(findstring IPV6,$(INSTDIRS))" "IPV6"
+INSTDIRS := $(INSTDIRS)_IPV6
+endif
+
+endif
+
+ifdef DEST
+
+ifndef BASEDIR
+BASEDIR = Apache2
+endif
+
+INSTALLBASE := $(INSTALL)\$(BASEDIR)
+
+INSTDEVDIRS := \
+ $(INSTDIRS) \
+ $(INSTALLBASE) \
+ $(INSTALLBASE)\include \
+ $(INSTALLBASE)\lib \
+
+INSTDIRS += \
+ $(INSTALLBASE) \
+
+else
+INSTALLBASE := $(INSTALL)\apr
+
+INSTDEVDIRS := \
+ $(INSTDIRS) \
+ $(INSTALLBASE) \
+ $(INSTALLBASE)\include \
+ $(INSTALLBASE)\lib \
+
+INSTDIRS += \
+ $(INSTALLBASE) \
+
+endif
+
+#
+# Declare Command and tool macros here
+#
+
+# Os2LibPath is an extra check to see if we are on NT
+ifdef Os2LibPath
+OS = Windows_NT
+endif
+
+ifeq "$(OS)" "Windows_NT"
+CMD=cmd /C
+CHK=cmd /C if exist
+CHKNOT=cmd /C if not exist
+DEL = del /F
+DELTREE = cmd /C rd /s/q
+WINNT=1
+XCOPYSW = /E
+else
+CMD=command /C
+CHK=command /C if exist
+CHKNOT=command /C if not exist
+DEL = del
+DELTREE = deltree /y
+XCOPYSW = /E /Y
+endif
+
+
+#
+# Setup base C compiler flags
+#
+
+#
+# Common directories
+#
+
+APR = $(APR_WORK)
+APRTEST = $(APR_WORK)/test
+APRUTIL = $(APU_WORK)
+APULDAP = $(APU_WORK)/ldap
+XML = $(APRUTIL)/xml
+
+#
+# Internal Libraries
+#
+
+APRLIB = $(APR)/$(OBJDIR)/aprlib.lib
+APRUTLIB = $(APRUTIL)/$(OBJDIR)/aprutil.lib
+APULDAPLIB = $(APULDAP)/$(OBJDIR)/apuldap.lib
+XMLLIB = $(XML)/$(OBJDIR)/xmllib.lib
+
+#
+# Additional general defines
+#
+
+EnvironmentDefined = 1
+endif # ifndef EnvironmentDefined
+
+# This is always set so that it will show up in lower directories
+
+ifdef Path
+Path = $(PATH)
+endif
+
diff --git a/build/NWGNUhead.inc b/build/NWGNUhead.inc
new file mode 100644
index 0000000..17f149c
--- /dev/null
+++ b/build/NWGNUhead.inc
@@ -0,0 +1,96 @@
+#
+# Obtain the global build environment
+#
+
+include $(APR_WORK)\build\NWGNUenvironment.inc
+
+#
+# Define base targets and rules
+#
+
+TARGETS = libs nlms install clobber_libs clobber_nlms clean installdev
+
+.PHONY : $(TARGETS) default all help $(NO_LICENSE_FILE)
+
+# Here is where we will use the NO_LICENSE_FILE variable to see if we need to
+# restart the make with it defined
+
+ifdef NO_LICENSE_FILE
+
+default: NO_LICENSE_FILE
+
+all: NO_LICENSE_FILE
+
+install :: NO_LICENSE_FILE
+
+installdev :: NO_LICENSE_FILE
+
+NO_LICENSE_FILE :
+ $(MAKE) $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(METROWERKS)\license.dat"
+
+else # LM_LICENSE_FILE must be defined so use the real targets
+
+default: $(SUBDIRS) libs nlms
+
+all: $(SUBDIRS) libs nlms install
+
+$(TARGETS) :: $(SUBDIRS)
+
+endif #NO_LICENSE_FILE check
+
+help :
+ @echo targets for RELEASE=$(RELEASE):
+ @echo (default) . . . . libs nlms
+ @echo all . . . . . . . does everything (libs nlms install)
+ @echo libs. . . . . . . builds all libs
+ @echo nlms. . . . . . . builds all nlms
+ @echo install . . . . . builds libs and nlms and copies install files to
+ @echo "$(INSTALL)"
+ @echo installdev. . . . copies headers and files needed for development to
+ @echo "$(INSTALL)"
+ @echo clean . . . . . . deletes $(OBJDIR) dirs, *.err, and *.map
+ @echo clobber_all . . . deletes all possible output from the make
+ @echo clobber_install . deletes all files in $(INSTALL)
+ @$(CMD) echo.
+ @echo Multiple targets can be used on a single nmake command line -
+ @echo (i.e. $(MAKE) clean all)
+ @$(CMD) echo.
+ @echo You can also specify RELEASE=debug, RELEASE=noopt, or RELEASE=optimized
+ @echo The default is RELEASE=optimized
+
+clobber_all :: clean clobber_install
+
+clobber_install ::
+ -$(DELTREE) $(INSTALL) 2>NUL
+
+#
+# build recursive targets
+#
+
+$(SUBDIRS) : FORCE
+ifneq "$(MAKECMDGOALS)" "clean"
+ $(CMD) echo.
+ @echo Building $(CURDIR)/$@
+endif
+ $(MAKE) -C $@ $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(LM_LICENSE_FILE)"
+ $(CMD) echo.
+
+FORCE:
+
+#
+# Standard targets
+#
+
+clean :: $(SUBDIRS)
+ @echo Cleaning up $(CURDIR)
+ -$(DELTREE) $(OBJDIR) 2> NUL
+ $(CHK) *.err $(DEL) *.err
+ $(CHK) *.map $(DEL) *.map
+ $(CHK) *.d $(DEL) *.d
+ $(CHK) *.tmp $(DEL) *.tmp
+ $(CHK) xc.bat $(DEL) xc.bat
+ -$(DELTREE) $(OBJDIR) 2> NUL
+
+$(OBJDIR) ::
+ $(CHKNOT) $(OBJDIR)\nul mkdir $(OBJDIR)
+
diff --git a/build/NWGNUmakefile b/build/NWGNUmakefile
new file mode 100644
index 0000000..84ed7fe
--- /dev/null
+++ b/build/NWGNUmakefile
@@ -0,0 +1,95 @@
+#
+# Declare the sub-directories to be built here
+#
+
+SUBDIRS = \
+ $(EOLIST)
+
+#
+# Get the 'head' of the build environment. This includes default targets and
+# paths to tools
+#
+
+include $(APR_WORK)\build\NWGNUhead.inc
+
+#
+# build this level's files
+
+FILES_prebuild_headers = \
+ $(APR)/include/apr.h \
+ $(APRUTIL)/include/apu.h \
+ $(APRUTIL)/include/apu_want.h \
+ $(APRUTIL)/include/apr_ldap.h \
+ $(APRUTIL)/include/private/apu_config.h \
+ $(APRUTIL)/include/private/apu_select_dbm.h \
+ $(APRUTIL)/xml/expat/lib/expat.h \
+ $(APRUTIL)/xml/expat/lib/config.h \
+ $(EOLIST)
+
+nlms :: $(APR)/aprlib.imp
+
+$(APR)/aprlib.imp : make_nw_export.awk nw_export.i
+ @echo Generating $(subst /,\,$@)
+ awk -f make_nw_export.awk nw_export.i | sort >$(APR)/aprlib.imp
+
+nw_export.i : nw_export.inc $(FILES_prebuild_headers) $(NLM_NAME)_cc.opt
+ @echo Generating $(subst /,\,$@)
+ $(CC) $< @$(NLM_NAME)_cc.opt
+
+$(NLM_NAME)_cc.opt : NWGNUmakefile $(APR_WORK)\build\NWGNUenvironment.inc $(APR_WORK)\build\NWGNUhead.inc $(APR_WORK)\build\NWGNUtail.inc $(CUSTOM_INI)
+ $(CHK) $@ $(DEL) $@
+ @echo -P >> $@
+ @echo -EP >> $@
+ @echo -nosyspath >> $@
+ @echo -w nocmdline >> $@
+ @echo $(DEFINES) -DGENEXPORTS >> $@
+ @echo -I$(APR)\include >> $@
+ @echo -I$(APR)\include\arch\netware >> $@
+ @echo -I$(APR)\include\arch\unix >> $@
+ @echo -I$(APRUTIL)\include >> $@
+ @echo -ir $(NOVELLLIBC) >> $@
+ifneq "$(LDAPSDK)" ""
+ @echo -ir $(LDAPSDK) >> $@
+endif
+
+$(APR)/include/%.h: $(subst /,\,$(APR))\include\%.hnw
+ @echo Creating $(subst /,\,$@)
+ copy $< $(subst /,\,$(APR))\include\$(@F)
+
+$(APRUTIL)/include/private/%.h: $(subst /,\,$(APRUTIL))\include\private\%.hnw
+ @echo Creating $(subst /,\,$@)
+ copy $< $(subst /,\,$(APRUTIL))\include\private\$(@F)
+
+$(APRUTIL)/include/%.h: $(subst /,\,$(APRUTIL))\include\%.hnw
+ @echo Creating $(subst /,\,$@)
+ copy $< $(subst /,\,$(APRUTIL))\include\$(@F)
+
+$(APRUTIL)/xml/expat/lib/%.h: $(subst /,\,$(APRUTIL))\xml\expat\lib\%.hnw
+ @echo Creating $(subst /,\,$@)
+ copy $< $(subst /,\,$(APRUTIL))\xml\expat\lib\$(@F)
+
+$(APRUTIL)/xml/expat/lib/%.h: $(subst /,\,$(APRUTIL))\xml\expat\lib\%.h.in
+ @echo Creating $(subst /,\,$@)
+ copy $< $(subst /,\,$(APRUTIL))\xml\expat\lib\$(@F)
+
+#
+# You can use this target if all that is needed is to copy files to the
+# installation area
+#
+install :: nlms FORCE
+
+
+clean ::
+ $(CHK) nw_export.i $(DEL) nw_export.i
+ $(CHK) $(NLM_NAME)_cc.opt $(DEL) $(NLM_NAME)_cc.opt
+ $(CHK) NWGNUversion.inc $(DEL) NWGNUversion.inc
+ $(CHK) $(subst /,\,$(APR))\include\apr.h $(DEL) $(subst /,\,$(APR))\include\apr.h
+ $(CHK) $(subst /,\,$(APRUTIL))\include\apu.h $(DEL) $(subst /,\,$(APRUTIL))\include\apu.h
+ $(CHK) $(subst /,\,$(APRUTIL))\include\apu_want.h $(DEL) $(subst /,\,$(APRUTIL))\include\apu_want.h
+ $(CHK) $(subst /,\,$(APRUTIL))\include\apr_ldap.h $(DEL) $(subst /,\,$(APRUTIL))\include\apr_ldap.h
+ $(CHK) $(subst /,\,$(APRUTIL))\include\private\apu_config.h $(DEL) $(subst /,\,$(APRUTIL))\include\private\apu_config.h
+ $(CHK) $(subst /,\,$(APRUTIL))\include\private\apu_select_dbm.h $(DEL) $(subst /,\,$(APRUTIL))\include\private\apu_select_dbm.h
+ $(CHK) $(subst /,\,$(APRUTIL))\xml\expat\lib\expat.h $(DEL) $(subst /,\,$(APRUTIL))\xml\expat\lib\expat.h
+ $(CHK) $(subst /,\,$(APRUTIL))\xml\expat\lib\config.h $(DEL) $(subst /,\,$(APRUTIL))\xml\expat\lib\config.h
+ $(CHK) $(subst /,\,$(APR))\aprlib.imp $(DEL) $(subst /,\,$(APR))\aprlib.imp
+
diff --git a/build/NWGNUtail.inc b/build/NWGNUtail.inc
new file mode 100644
index 0000000..98669c1
--- /dev/null
+++ b/build/NWGNUtail.inc
@@ -0,0 +1,329 @@
+#
+# This contains final targets and should be included at the end of any
+# NWGNUmakefile file
+#
+
+#
+# If we are going to create an nlm, make sure we have assigned variables to
+# use during the link.
+#
+echo NLM_NAME=$(NLM_NAME)
+ifndef NLM_NAME
+NLM_NAME = $(TARGET_nlm)
+endif
+
+ifndef NLM_DESCRIPTION
+NLM_DESCRIPTION = $(NLM_NAME)
+endif
+
+ifndef NLM_THREAD_NAME
+NLM_THREAD_NAME = $(NLM_NAME) Thread
+endif
+
+ifndef NLM_SCREEN_NAME
+NLM_SCREEN_NAME = DEFAULT
+endif
+
+ifndef NLM_COPYRIGHT
+NLM_COPYRIGHT = Licensed under the Apache License, Version 2.0
+endif
+
+#
+# Create dependency lists based on the files available
+#
+
+
+CCOPT_DEPENDS = \
+ $(APR_WORK)\build\NWGNUhead.inc \
+ $(APR_WORK)\build\NWGNUenvironment.inc \
+ $(APR_WORK)\build\NWGNUtail.inc \
+ NWGNUmakefile \
+ $(CUSTOM_INI) \
+ $(EOLIST)
+
+CPPOPT_DEPENDS = \
+ $(APR_WORK)\build\NWGNUhead.inc \
+ $(APR_WORK)\build\NWGNUenvironment.inc \
+ $(APR_WORK)\build\NWGNUtail.inc \
+ NWGNUmakefile \
+ $(CUSTOM_INI) \
+ $(EOLIST)
+
+$(NLM_NAME)_LINKOPT_DEPENDS = \
+ $(TARGET_lib) \
+ $(APR_WORK)\build\NWGNUenvironment.inc \
+ NWGNUmakefile \
+ $(APR_WORK)\build\NWGNUtail.inc \
+ $(CUSTOM_INI) \
+ $(VERSION_INC) \
+ $(EOLIST)
+
+ifeq "$(words $(strip $(TARGET_lib)))" "1"
+LIB_NAME = $(basename $(notdir $(TARGET_lib)))
+$(LIB_NAME)_LIBLST_DEPENDS = \
+ $(FILES_lib_objs) \
+ $(APR_WORK)\build\NWGNUenvironment.inc \
+ NWGNUmakefile \
+ $(APR_WORK)\build\NWGNUtail.inc \
+ $(CUSTOM_INI) \
+ $(EOLIST)
+endif
+
+ifeq "$(wildcard NWGNU$(LIB_NAME))" "NWGNU$(LIB_NAME)"
+$(LIB_NAME)_LIBLST_DEPENDS += NWGNU$(LIB_NAME)
+endif
+
+ifeq "$(wildcard NWGNU$(NLM_NAME))" "NWGNU$(NLM_NAME)"
+$(NLM_NAME)_LINKOPT_DEPENDS += NWGNU$(NLM_NAME)
+CCOPT_DEPENDS += NWGNU$(NLM_NAME)
+CPPOPT_DEPENDS += NWGNU$(NLM_NAME)
+endif
+
+#
+# Generic compiler rules
+#
+
+$(APR_WORK)\build\NWGNUversion.inc : $(APR_WORK)\include\apr_version.h $(APR_WORK)\build\nw_ver.awk
+ @echo Generating $(subst /,\,$@)
+ awk -f $(APR_WORK)\build\nw_ver.awk $(APR_WORK)\include\apr_version.h > $(APR_WORK)\build\NWGNUversion.inc
+
+-include $(APR_WORK)\build\NWGNUversion.inc
+
+ifneq "$(strip $(VERSION_STR))" ""
+VERSION_INC = $(APR_WORK)\build\NWGNUversion.inc
+else
+VERSION = 1,2,0
+VERSION_STR = 1.2.0
+endif
+
+ifeq "$(words $(strip $(TARGET_nlm)))" "1"
+INCLUDE_BLDCMDS=1
+endif
+
+ifeq "$(words $(strip $(TARGET_lib)))" "1"
+INCLUDE_BLDCMDS=1
+endif
+
+ifeq "$(INCLUDE_BLDCMDS)" "1"
+
+$(OBJDIR)/%.o: %.c $(OBJDIR)\$(NLM_NAME)_cc.opt
+ @echo Compiling $<
+ $(CC) $< -o=$(OBJDIR)\$(@F) @$(OBJDIR)\$(NLM_NAME)_cc.opt
+
+$(OBJDIR)\$(NLM_NAME)_cc.opt: $(CCOPT_DEPENDS)
+ @echo CCOPT_DEPENDS=$(CCOPT_DEPENDS)
+ $(CHK) $@ $(DEL) $@
+ @echo Generating $@
+ifneq "$(strip $(CFLAGS))" ""
+ @echo $(CFLAGS) >> $@
+endif
+ifneq "$(strip $(XCFLAGS))" ""
+ @echo $(XCFLAGS) >> $@
+endif
+ifneq "$(strip $(XINCDIRS))" ""
+ @echo $(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir)) >> $@
+endif
+ifneq "$(strip $(INCDIRS))" ""
+ @echo $(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir)) >> $@
+endif
+ifneq "$(strip $(DEFINES))" ""
+ @echo $(DEFINES) >> $@
+endif
+ifneq "$(strip $(XDEFINES))" ""
+ @echo $(XDEFINES) >> $@
+endif
+
+$(OBJDIR)/%.o: %.cpp $(OBJDIR)\cpp.opt
+ @echo Compiling $<
+ $(CPP) $< -o=$(OBJDIR)\$(@F) @$(OBJDIR)\cpp.opt
+
+$(OBJDIR)\cpp.opt: $(CPPOPT_DEPENDS)
+ $(CHK) $@ $(DEL) $@
+ @echo Generating $@
+ifneq "$(strip $(CFLAGS))" ""
+ @echo $(CFLAGS) >> $@
+endif
+ifneq "$(strip $(XCFLAGS))" ""
+ @echo $(XCFLAGS) >> $@
+endif
+ifneq "$(strip $(XINCDIRS))" ""
+ @echo $(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir)) >> $@
+endif
+ifneq "$(strip $(INCDIRS))" ""
+ @echo $(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir)) >> $@
+endif
+ifneq "$(strip $(DEFINES))" ""
+ @echo $(DEFINES) >> $@
+endif
+ifneq "$(strip $(XDEFINES))" ""
+ @echo $(XDEFINES) >> $@
+endif
+
+endif # one target nlm
+
+#
+# Rules to build libraries
+#
+
+# If we only have one target library then build it
+
+ifeq "$(words $(strip $(TARGET_lib)))" "1"
+
+$(TARGET_lib) : $(OBJDIR)\$(LIB_NAME)_lib.lst
+ @echo Generating $@
+ $(CHK) $(OBJDIR)\$(@F) $(DEL) $(OBJDIR)\$(@F)
+ $(LIB) -o $(OBJDIR)\$(@F) @$?
+
+$(OBJDIR)\$(LIB_NAME)_lib.lst: $($(LIB_NAME)_LIBLST_DEPENDS)
+ $(CHK) $@ $(DEL) $@
+ @echo Generating $@
+ifneq "$(strip $(FILES_lib_objs))" ""
+ @echo $(foreach objfile,$(FILES_lib_objs),$(subst /,\,$(objfile)) ) >> $@
+endif
+
+else # We must have more than one target library so load the individual makefiles
+
+$(OBJDIR)/%.lib: NWGNU% $(APR_WORK)\build\NWGNUhead.inc $(APR_WORK)\build\NWGNUtail.inc $(APR_WORK)\build\NWGNUenvironment.inc FORCE
+ @echo Calling $<
+ $(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE)
+
+endif
+
+#
+# Rules to build nlms.
+#
+
+vpath libcpre.o $(NOVELLLIBC)\imports
+
+# If we only have one target NLM then build it
+ifeq "$(words $(strip $(TARGET_nlm)))" "1"
+
+$(TARGET_nlm) : $(FILES_nlm_objs) $(FILES_nlm_libs) $(OBJDIR)\$(NLM_NAME)_link.opt
+ @echo Linking $@
+ $(LINK) @$(OBJDIR)\$(NLM_NAME)_link.opt
+
+# This will force the link option file to be rebuilt if we change the
+# corresponding makefile
+
+$(OBJDIR)\$(NLM_NAME)_link.opt : $($(NLM_NAME)_LINKOPT_DEPENDS)
+ $(CHK) $(OBJDIR)\$(@F) $(DEL) $(OBJDIR)\$(@F)
+ $(CHK) $(OBJDIR)\$(NLM_NAME)_link.def $(DEL) $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo Generating $@
+ @echo -warnings off >> $@
+ @echo -zerobss >> $@
+ @echo -o $(TARGET_nlm) >> $@
+ifneq "$(FILE_nlm_copyright)" ""
+ @-type $(FILE_nlm_copyright) >> $@
+endif
+ifeq "$(RELEASE)" "debug"
+ @echo -g >> $@
+ @echo -sym internal >> $@
+ @echo -sym codeview4 >> $@
+ @echo -osym $(OBJDIR)\$(NLM_NAME).sym >> $@
+else
+ @echo -sym internal >> $@
+endif
+ @echo -l $(APR)/$(OBJDIR) >> $@
+ @echo -l $(APRUTIL)/$(OBJDIR) >> $@
+ @echo -l $(APULDAP)/$(OBJDIR) >> $@
+ @echo -l $(XML)/$(OBJDIR) >> $@
+ @echo -l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime" >> $@
+ @echo -l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++" >> $@
+ifneq "$(IPV6)" ""
+ @echo -l $(NOVELLLIBC)\include\winsock\IPV6 >> $@
+endif
+ @echo -l $(NOVELLLIBC)/imports >> $@
+ifneq "$(LDAPSDK)" ""
+ @echo -l $(LDAPSDK)/lib/nlm >> $@
+endif
+ @echo -nodefaults >> $@
+ @echo -map $(OBJDIR)\$(NLM_NAME).map>> $@
+ifneq "$(strip $(XLFLAGS))" ""
+ @echo $(XLFLAGS) >> $@
+endif
+ifneq "$(strip $(FILES_nlm_objs))" ""
+ @echo $(foreach objfile,$(strip $(FILES_nlm_objs)),$(subst /,\,$(objfile))) >> $@
+endif
+ifneq "$(FILES_nlm_libs)" ""
+ @echo $(foreach libfile, $(notdir $(strip $(FILES_nlm_libs))),-l$(subst /,\,$(libfile))) >> $@
+endif
+ @echo -commandfile $(OBJDIR)\$(NLM_NAME)_link.def >> $@
+ @echo # Do not edit this file - it is created by make! > $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo # All your changes will be lost!! >> $(OBJDIR)\$(NLM_NAME)_link.def
+ifneq "$(FILE_nlm_msg)" ""
+ @echo Messages $(FILE_nlm_msg) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ifneq "$(FILE_nlm_hlp)" ""
+ @echo Help $(FILE_nlm_hlp) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ifeq "$(FILE_nlm_copyright)" ""
+ @echo copyright "$(NLM_COPYRIGHT)" >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ @echo description "$(NLM_DESCRIPTION)" >> $(OBJDIR)\$(NLM_NAME)_link.def
+ @echo threadname "$(NLM_THREAD_NAME)" >> $(OBJDIR)\$(NLM_NAME)_link.def
+ifneq "$(NLM_STACK_SIZE)" ""
+ @echo stacksize $(subst K,000,$(subst k,K,$(strip $(NLM_STACK_SIZE)))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+else
+ @echo stacksize 64000 >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ @echo screenname "$(NLM_SCREEN_NAME)" >> $(OBJDIR)\$(NLM_NAME)_link.def
+ifneq "$(NLM_VERSION)" ""
+ @echo version $(NLM_VERSION) >> $(OBJDIR)\$(NLM_NAME)_link.def
+else
+ @echo version $(VERSION) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ifneq "$(NLM_ENTRY_SYM)" ""
+ @echo start $(NLM_ENTRY_SYM) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ifneq "$(NLM_EXIT_SYM)" ""
+ @echo exit $(NLM_EXIT_SYM) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ifneq "$(NLM_CHECK_SYM)" ""
+ @echo check $(NLM_CHECK_SYM) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ifneq "$(NLM_FLAGS)" ""
+ @echo $(strip $(NLM_FLAGS)) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ifneq "$(FILES_nlm_modules)" ""
+ @echo module $(foreach module,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_modules))),$(subst /,\,$(module))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ifneq "$(FILES_nlm_Ximports)" ""
+ @echo import $(foreach import,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_Ximports))),$(subst /,\,$(import))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+ifneq "$(FILES_nlm_exports)" ""
+ @echo export $(foreach export,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_exports))),$(subst /,\,$(export))) >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+
+# if APACHE_UNIPROC is defined, don't include XDCData
+ifndef APACHE_UNIPROC
+ifneq "$(string $(XDCDATA))" ""
+ @echo xdcdata $(XDCDATA) >> $(OBJDIR)\$(NLM_NAME)_link.def
+else
+ @echo xdcdata $(APR)\misc\netware\apr.xdc >> $(OBJDIR)\$(NLM_NAME)_link.def
+endif
+endif
+
+else # more than one target so look for individual makefiles.
+
+# Only include these if NO_LICENSE_FILE isn't set to prevent excessive
+# recursion
+
+ifndef NO_LICENSE_FILE
+
+$(OBJDIR)/%.nlm: NWGNU% $(APR_WORK)\build\NWGNUhead.inc $(APR_WORK)\build\NWGNUtail.inc $(APR_WORK)\build\NWGNUenvironment.inc $(CUSTOM_INI) $(VERSION_INC) FORCE
+ @echo Calling $<
+ $(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE)
+ $(CMD) echo.
+
+else
+
+$(TARGET_nlm):
+
+endif # NO_LICENSE_FILE
+
+endif # multiple targets
+
+$(INSTDIRS) ::
+ $(CHKNOT) $@\NUL mkdir $@
+
+
diff --git a/build/PrintPath b/build/PrintPath
new file mode 100644
index 0000000..2a2b48b
--- /dev/null
+++ b/build/PrintPath
@@ -0,0 +1,130 @@
+#!/bin/sh
+#
+# 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.
+#
+#
+# Look for program[s] somewhere in $PATH.
+#
+# Options:
+# -s
+# Do not print out full pathname. (silent)
+# -pPATHNAME
+# Look in PATHNAME instead of $PATH
+#
+# Usage:
+# PrintPath [-s] [-pPATHNAME] program [program ...]
+#
+# Initially written by Jim Jagielski for the Apache configuration mechanism
+# (with kudos to Kernighan/Pike)
+
+##
+# Some "constants"
+##
+pathname=$PATH
+echo="yes"
+
+##
+# Find out what OS we are running for later on
+##
+os=`(uname) 2>/dev/null`
+
+##
+# Parse command line
+##
+for args in $*
+do
+ case $args in
+ -s ) echo="no" ;;
+ -p* ) pathname="`echo $args | sed 's/^..//'`" ;;
+ * ) programs="$programs $args" ;;
+ esac
+done
+
+##
+# Now we make the adjustments required for OS/2 and everyone
+# else :)
+#
+# First of all, all OS/2 programs have the '.exe' extension.
+# Next, we adjust PATH (or what was given to us as PATH) to
+# be whitespace separated directories.
+# Finally, we try to determine the best flag to use for
+# test/[] to look for an executable file. OS/2 just has '-r'
+# but with other OSs, we do some funny stuff to check to see
+# if test/[] knows about -x, which is the prefered flag.
+##
+
+if [ "x$os" = "xOS/2" ]
+then
+ ext=".exe"
+ pathname=`echo -E $pathname |
+ sed 's/^;/.;/
+ s/;;/;.;/g
+ s/;$/;./
+ s/;/ /g
+ s/\\\\/\\//g' `
+ test_exec_flag="-r"
+else
+ ext="" # No default extensions
+ pathname=`echo $pathname |
+ sed 's/^:/.:/
+ s/::/:.:/g
+ s/:$/:./
+ s/:/ /g' `
+ # Here is how we test to see if test/[] can handle -x
+ testfile="pp.t.$$"
+
+ cat > $testfile <<ENDTEST
+#!/bin/sh
+if [ -x / ] || [ -x /bin ] || [ -x /bin/ls ]; then
+ exit 0
+fi
+exit 1
+ENDTEST
+
+ if `/bin/sh $testfile 2>/dev/null`; then
+ test_exec_flag="-x"
+ else
+ test_exec_flag="-r"
+ fi
+ rm -f $testfile
+fi
+
+for program in $programs
+do
+ for path in $pathname
+ do
+ if [ $test_exec_flag $path/${program}${ext} ] && \
+ [ ! -d $path/${program}${ext} ]; then
+ if [ "x$echo" = "xyes" ]; then
+ echo $path/${program}${ext}
+ fi
+ exit 0
+ fi
+
+# Next try without extension (if one was used above)
+ if [ "x$ext" != "x" ]; then
+ if [ $test_exec_flag $path/${program} ] && \
+ [ ! -d $path/${program} ]; then
+ if [ "x$echo" = "xyes" ]; then
+ echo $path/${program}
+ fi
+ exit 0
+ fi
+ fi
+ done
+done
+exit 1
+
diff --git a/build/aplibtool.c b/build/aplibtool.c
new file mode 100644
index 0000000..8f4943c
--- /dev/null
+++ b/build/aplibtool.c
@@ -0,0 +1,755 @@
+/* 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 <stdio.h>
+#include <process.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <dirent.h>
+
+typedef char bool;
+#define false 0
+#define true (!false)
+
+bool silent = false;
+bool shared = false;
+bool export_all = false;
+enum mode_t { mCompile, mLink, mInstall };
+enum output_type_t { otGeneral, otObject, otProgram, otStaticLibrary, otDynamicLibrary };
+
+#ifdef __EMX__
+# define SHELL_CMD "sh"
+# define CC "gcc"
+# define GEN_EXPORTS "emxexp"
+# define DEF2IMPLIB_CMD "emximp"
+# define SHARE_SW "-Zdll -Zmtd"
+# define USE_OMF true
+# define TRUNCATE_DLL_NAME
+# define DYNAMIC_LIB_EXT "dll"
+# define EXE_EXT ".exe"
+
+# if USE_OMF
+ /* OMF is the native format under OS/2 */
+# define STATIC_LIB_EXT "lib"
+# define OBJECT_EXT "obj"
+# define LIBRARIAN "emxomfar"
+# else
+ /* but the alternative, a.out, can fork() which is sometimes necessary */
+# define STATIC_LIB_EXT "a"
+# define OBJECT_EXT "o"
+# define LIBRARIAN "ar"
+# endif
+#endif
+
+
+typedef struct {
+ char *arglist[1024];
+ int num_args;
+ enum mode_t mode;
+ enum output_type_t output_type;
+ char *output_name;
+ char *stub_name;
+ char *tmp_dirs[1024];
+ int num_tmp_dirs;
+ char *obj_files[1024];
+ int num_obj_files;
+} cmd_data_t;
+
+void parse_args(int argc, char *argv[], cmd_data_t *cmd_data);
+bool parse_long_opt(char *arg, cmd_data_t *cmd_data);
+int parse_short_opt(char *arg, cmd_data_t *cmd_data);
+bool parse_input_file_name(char *arg, cmd_data_t *cmd_data);
+bool parse_output_file_name(char *arg, cmd_data_t *cmd_data);
+void post_parse_fixup(cmd_data_t *cmd_data);
+bool explode_static_lib(char *lib, cmd_data_t *cmd_data);
+int execute_command(cmd_data_t *cmd_data);
+char *shell_esc(const char *str);
+void cleanup_tmp_dirs(cmd_data_t *cmd_data);
+void generate_def_file(cmd_data_t *cmd_data);
+char *nameof(char *fullpath);
+char *truncate_dll_name(char *path);
+
+
+int main(int argc, char *argv[])
+{
+ int rc;
+ cmd_data_t cmd_data;
+
+ memset(&cmd_data, 0, sizeof(cmd_data));
+ cmd_data.mode = mCompile;
+ cmd_data.output_type = otGeneral;
+
+ parse_args(argc, argv, &cmd_data);
+ rc = execute_command(&cmd_data);
+
+ if (rc == 0 && cmd_data.stub_name) {
+ fopen(cmd_data.stub_name, "w");
+ }
+
+ cleanup_tmp_dirs(&cmd_data);
+ return rc;
+}
+
+
+
+void parse_args(int argc, char *argv[], cmd_data_t *cmd_data)
+{
+ int a;
+ char *arg;
+ bool argused;
+
+ for (a=1; a < argc; a++) {
+ arg = argv[a];
+ argused = false;
+
+ if (arg[0] == '-') {
+ if (arg[1] == '-') {
+ argused = parse_long_opt(arg + 2, cmd_data);
+ } else if (arg[1] == 'o' && a+1 < argc) {
+ cmd_data->arglist[cmd_data->num_args++] = arg;
+ arg = argv[++a];
+ argused = parse_output_file_name(arg, cmd_data);
+ } else {
+ int num_used = parse_short_opt(arg + 1, cmd_data);
+ argused = num_used > 0;
+
+ if (num_used > 1) {
+ a += num_used - 1;
+ }
+ }
+ } else {
+ argused = parse_input_file_name(arg, cmd_data);
+ }
+
+ if (!argused) {
+ cmd_data->arglist[cmd_data->num_args++] = arg;
+ }
+ }
+
+ post_parse_fixup(cmd_data);
+}
+
+
+
+bool parse_long_opt(char *arg, cmd_data_t *cmd_data)
+{
+ char *equal_pos = strchr(arg, '=');
+ char var[50];
+ char value[500];
+
+ if (equal_pos) {
+ strncpy(var, arg, equal_pos - arg);
+ var[equal_pos - arg] = 0;
+ strcpy(value, equal_pos + 1);
+ } else {
+ strcpy(var, arg);
+ }
+
+ if (strcmp(var, "silent") == 0) {
+ silent = true;
+ } else if (strcmp(var, "mode") == 0) {
+ if (strcmp(value, "compile") == 0) {
+ cmd_data->mode = mCompile;
+ cmd_data->output_type = otObject;
+ }
+
+ if (strcmp(value, "link") == 0) {
+ cmd_data->mode = mLink;
+ }
+
+ if (strcmp(value, "install") == 0) {
+ cmd_data->mode = mInstall;
+ }
+ } else if (strcmp(var, "shared") == 0) {
+ shared = true;
+ } else if (strcmp(var, "export-all") == 0) {
+ export_all = true;
+ } else {
+ return false;
+ }
+
+ return true;
+}
+
+
+
+int parse_short_opt(char *arg, cmd_data_t *cmd_data)
+{
+ if (strcmp(arg, "export-dynamic") == 0) {
+ return 1;
+ }
+
+ if (strcmp(arg, "module") == 0) {
+ return 1;
+ }
+
+ if (strcmp(arg, "Zexe") == 0) {
+ return 1;
+ }
+
+ if (strcmp(arg, "avoid-version") == 0) {
+ return 1;
+ }
+
+ if (strcmp(arg, "prefer-pic") == 0) {
+ return 1;
+ }
+
+ if (strcmp(arg, "prefer-non-pic") == 0) {
+ return 1;
+ }
+
+ if (strcmp(arg, "version-info") == 0 ) {
+ return 2;
+ }
+
+ if (strcmp(arg, "no-install") == 0) {
+ return 1;
+ }
+
+ return 0;
+}
+
+
+
+bool parse_input_file_name(char *arg, cmd_data_t *cmd_data)
+{
+ char *ext = strrchr(arg, '.');
+ char *name = strrchr(arg, '/');
+ int pathlen;
+ char *newarg;
+
+ if (!ext) {
+ return false;
+ }
+
+ ext++;
+
+ if (name == NULL) {
+ name = strrchr(arg, '\\');
+
+ if (name == NULL) {
+ name = arg;
+ } else {
+ name++;
+ }
+ } else {
+ name++;
+ }
+
+ pathlen = name - arg;
+
+ if (strcmp(ext, "lo") == 0) {
+ newarg = (char *)malloc(strlen(arg) + 10);
+ strcpy(newarg, arg);
+ strcpy(newarg + (ext - arg), OBJECT_EXT);
+ cmd_data->arglist[cmd_data->num_args++] = newarg;
+ cmd_data->obj_files[cmd_data->num_obj_files++] = newarg;
+ return true;
+ }
+
+ if (strcmp(ext, "la") == 0) {
+ newarg = (char *)malloc(strlen(arg) + 10);
+ strcpy(newarg, arg);
+ newarg[pathlen] = 0;
+ strcat(newarg, ".libs/");
+
+ if (strncmp(name, "lib", 3) == 0) {
+ name += 3;
+ }
+
+ strcat(newarg, name);
+ ext = strrchr(newarg, '.') + 1;
+
+ if (shared && cmd_data->mode == mInstall) {
+ strcpy(ext, DYNAMIC_LIB_EXT);
+ newarg = truncate_dll_name(newarg);
+ } else {
+ strcpy(ext, STATIC_LIB_EXT);
+ }
+
+ cmd_data->arglist[cmd_data->num_args++] = newarg;
+ return true;
+ }
+
+ if (strcmp(ext, "c") == 0) {
+ if (cmd_data->stub_name == NULL) {
+ cmd_data->stub_name = (char *)malloc(strlen(arg) + 4);
+ strcpy(cmd_data->stub_name, arg);
+ strcpy(strrchr(cmd_data->stub_name, '.') + 1, "lo");
+ }
+ }
+
+ if (strcmp(name, CC) == 0 || strcmp(name, CC EXE_EXT) == 0) {
+ if (cmd_data->output_type == otGeneral) {
+ cmd_data->output_type = otObject;
+ }
+ }
+
+ return false;
+}
+
+
+
+bool parse_output_file_name(char *arg, cmd_data_t *cmd_data)
+{
+ char *name = strrchr(arg, '/');
+ char *ext = strrchr(arg, '.');
+ char *newarg = NULL, *newext;
+ int pathlen;
+
+ if (name == NULL) {
+ name = strrchr(arg, '\\');
+
+ if (name == NULL) {
+ name = arg;
+ } else {
+ name++;
+ }
+ } else {
+ name++;
+ }
+
+ if (!ext) {
+ cmd_data->stub_name = arg;
+ cmd_data->output_type = otProgram;
+ newarg = (char *)malloc(strlen(arg) + 5);
+ strcpy(newarg, arg);
+ strcat(newarg, EXE_EXT);
+ cmd_data->arglist[cmd_data->num_args++] = newarg;
+ cmd_data->output_name = newarg;
+ return true;
+ }
+
+ ext++;
+ pathlen = name - arg;
+
+ if (strcmp(ext, "la") == 0) {
+ cmd_data->stub_name = arg;
+ cmd_data->output_type = shared ? otDynamicLibrary : otStaticLibrary;
+ newarg = (char *)malloc(strlen(arg) + 10);
+ mkdir(".libs", 0);
+ strcpy(newarg, ".libs/");
+
+ if (strncmp(arg, "lib", 3) == 0) {
+ arg += 3;
+ }
+
+ strcat(newarg, arg);
+ newext = strrchr(newarg, '.') + 1;
+ strcpy(newext, shared ? DYNAMIC_LIB_EXT : STATIC_LIB_EXT);
+
+#ifdef TRUNCATE_DLL_NAME
+ if (shared) {
+ newarg = truncate_dll_name(newarg);
+ }
+#endif
+
+ cmd_data->arglist[cmd_data->num_args++] = newarg;
+ cmd_data->output_name = newarg;
+ return true;
+ }
+
+ if (strcmp(ext, "lo") == 0) {
+ cmd_data->stub_name = arg;
+ cmd_data->output_type = otObject;
+ newarg = (char *)malloc(strlen(arg) + 2);
+ strcpy(newarg, arg);
+ ext = strrchr(newarg, '.') + 1;
+ strcpy(ext, OBJECT_EXT);
+ cmd_data->arglist[cmd_data->num_args++] = newarg;
+ cmd_data->output_name = newarg;
+ return true;
+ }
+
+ return false;
+}
+
+
+
+void post_parse_fixup(cmd_data_t *cmd_data)
+{
+ int a;
+ char *arg;
+ char *ext;
+
+ if (cmd_data->output_type == otStaticLibrary && cmd_data->mode == mLink) {
+ /* We do a real hatchet job on the args when making a static library
+ * removing all compiler switches & any other cruft that ar won't like
+ * We also need to explode any libraries listed
+ */
+
+ for (a=0; a < cmd_data->num_args; a++) {
+ arg = cmd_data->arglist[a];
+
+ if (arg) {
+ ext = strrchr(arg, '.');
+
+ if (ext) {
+ ext++;
+ }
+
+ if (arg[0] == '-') {
+ cmd_data->arglist[a] = NULL;
+
+ if (strcmp(arg, "-rpath") == 0 && a+1 < cmd_data->num_args) {
+ cmd_data->arglist[a+1] = NULL;
+ }
+
+ if (strcmp(arg, "-R") == 0 && a+1 < cmd_data->num_args) {
+ cmd_data->arglist[a+1] = NULL;
+ }
+
+ if (strcmp(arg, "-version-info") == 0 && a+1 < cmd_data->num_args) {
+ cmd_data->arglist[a+1] = NULL;
+ }
+
+ if (strcmp(arg, "-Zstack") == 0 && a+1 < cmd_data->num_args) {
+ cmd_data->arglist[a+1] = NULL;
+ }
+
+ if (strcmp(arg, "-o") == 0) {
+ a++;
+ }
+ }
+
+ if (strcmp(arg, CC) == 0 || strcmp(arg, CC EXE_EXT) == 0) {
+ cmd_data->arglist[a] = LIBRARIAN " cr";
+ }
+
+ if (ext) {
+ if (strcmp(ext, "h") == 0 || strcmp(ext, "c") == 0) {
+ /* ignore source files, they don't belong in a library */
+ cmd_data->arglist[a] = NULL;
+ }
+
+ if (strcmp(ext, STATIC_LIB_EXT) == 0) {
+ cmd_data->arglist[a] = NULL;
+ explode_static_lib(arg, cmd_data);
+ }
+ }
+ }
+ }
+ }
+
+ if (cmd_data->output_type == otDynamicLibrary) {
+ for (a=0; a < cmd_data->num_args; a++) {
+ arg = cmd_data->arglist[a];
+
+ if (arg) {
+ if (strcmp(arg, "-rpath") == 0 && a+1 < cmd_data->num_args) {
+ cmd_data->arglist[a] = NULL;
+ cmd_data->arglist[a+1] = NULL;
+ }
+ }
+ }
+
+ if (export_all) {