summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--README111
-rw-r--r--README.FREETDS11
-rw-r--r--README.cmake139
3 files changed, 261 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..9ea474d
--- /dev/null
+++ b/README
@@ -0,0 +1,111 @@
+Apache Portable Runtime Utility Library README
+----------------------------------------------
+
+ The Apache Portable Runtime Utility Library provides a predictable
+ and consistent interface to underlying client library interfaces.
+ This API assures predictable if not identical behavior regardless
+ of which libraries are available on a given platform.
+
+ APR and its companion libraries are implemented entirely in C
+ and provide a common programming interface across a wide variety
+ of operating system platforms without sacrificing performance.
+ Currently supported platforms include:
+
+ UNIX variants
+ Windows
+ Netware
+ Mac OS X
+ OS/2
+
+ To give a brief overview, the primary core
+ subsystems of APR-util 1.3 include the following:
+
+ Hashing and UUID services
+ Multiple SQL DBD client interfaces
+ Multiple flat-database DBM client interfaces
+ Typesafe function Hooks abstraction
+ LDAP SSL connections for a variety of LDAP toolkits
+ MemCache interface
+ Date parsing rourtines
+ Resource Lists
+ Thread Pools
+ Queues
+ Relocatable Memory Management functions
+ String filename-style pattern matching
+ URI Parsing
+ Charset translation (iconv based)
+ XML parsing (expat)
+
+ For a more complete list, please refer to the following URLs:
+
+ http://apr.apache.org/docs/apr-util/modules.html
+
+ Users of APR 0.9 should be aware that migrating to the APR 1.x
+ programming interfaces may require some adjustments; APR 1.x is
+ neither source nor binary compatible with earlier APR 0.9 releases.
+ Users of APR 1.x can expect consistent interfaces and binary backwards
+ compatibility throughout the entire APR 1.x release cycle, as defined
+ in our versioning rules:
+
+ http://apr.apache.org/versioning.html
+
+ APR is already used extensively by the Apache HTTP Server
+ version 2 and the Subversion revision control system, to
+ name but a few. We list all known projects using APR at
+ http://apr.apache.org/projects.html -- so please let us know
+ if you find our libraries useful in your own projects!
+
+
+Database Providers
+------------------
+As of apr-util version 1.2.11, MySQL DBD driver is shipped as part of the
+distribution. However, to avoid licensing incompatibilities, it is not
+built by default. To enable MySQL support, use the --with-mysql option,
+but be aware that the MySQL license may introduce licensing implications
+for your compiled code. Similarly, the bindings for propritary drivers
+such as Oracle (--with-oracle option) must also be explicitly enabled.
+
+On windows, selection of supported drivers is via the environment values
+DBD_LIST (for mysql, oracle, pgsql, sqlite2 and/or sqlite3)
+and DBM_LIST (db and/or gdbm). DBD odbc and DBM sdbm are unconditionally
+compiled and installed, do not include these in the list.
+
+Whenever distributing apr-util in combination with database client
+drivers, always review the license requirements of all components.
+
+
+Cryptographic Software Notice
+-----------------------------
+This distribution includes cryptographic software. The country in
+which you currently reside may have restrictions on the import,
+possession, use, and/or re-export to another country, of
+encryption software. BEFORE using any encryption software, please
+check your country's laws, regulations and policies concerning the
+import, possession, or use, and re-export of encryption software, to
+see if this is permitted. See http://www.wassenaar.org/ for more
+information.
+
+The U.S. Government Department of Commerce, Bureau of Industry and
+Security (BIS), has classified this software as Export Commodity
+Control Number (ECCN) 5D002.C.1, which includes information security
+software using or performing cryptographic functions with asymmetric
+algorithms. The form and manner of this Apache Software Foundation
+distribution makes it eligible for export under the License Exception
+ENC Technology Software Unrestricted (TSU) exception (see the BIS
+Export Administration Regulations, Section 740.13) for both object
+code and source code.
+
+The following provides more details on the included cryptographic
+software:
+
+ APR-Util provides an abstract interface for symmetrical cryptographic
+ functions that make use of a general-purpose encryption library,
+ such as OpenSSL, NSS, or the operating system's platform-specific
+ facilities. This interface is known as the apr_crypto interface,
+ with implementation beneath the /crypto directory.
+
+ APR-Util provides an abstract interface for SSL encrypted LDAP (ldaps
+ and STARTTLS style) connections, which can be powered by OpenLDAP,
+ Netscape LDAP SDK, Mozilla LDAP SDK, or other platform specific ldap
+ interfaces.
+
diff --git a/README.FREETDS b/README.FREETDS
new file mode 100644
index 0000000..4066a9c
--- /dev/null
+++ b/README.FREETDS
@@ -0,0 +1,11 @@
+The APR DBD Driver for FreeTDS has been removed from the build.
+It is known to have problems, and we are not able to maintain it.
+
+The source code is still available. If you want it and are able
+to manage maintenance for yourself, you can patch the build and
+work through issues that affect you, but you're on your own.
+
+We expect that for most users, the ODBC driver will serve as
+an alternative.
+
+Sorry.
diff --git a/README.cmake b/README.cmake
new file mode 100644
index 0000000..85de33a
--- /dev/null
+++ b/README.cmake
@@ -0,0 +1,139 @@
+Experimental cmake-based build support for APR-Util on Microsoft Windows
+
+Status
+------
+
+This build support is currently intended only for Microsoft Windows.
+Only Windows NT-based systems can be targeted. (The traditional
+Windows build support for APR can target Windows 9x as well.)
+
+This build support is experimental. Specifically,
+
+* It does not support all features of APR-Util.
+* Some components may not be built correctly and/or in a manner
+ compatible with the previous Windows build support.
+* Build interfaces, such as the mechanisms which are used to enable
+ optional functionality or specify prerequisites, may change from
+ release to release as feedback is received from users and bugs and
+ limitations are resolved.
+
+Important: Refer to the "Known Bugs and Limitations" section for further
+ information.
+
+ It is beyond the scope of this document to document or explain
+ how to utilize the various cmake features, such as different
+ build backends or provisions for finding support libraries.
+
+ Please refer to the cmake documentation for additional information
+ that applies to building any project with cmake.
+
+Prerequisites
+-------------
+
+The following tools must be in PATH:
+
+* cmake, version 2.8 or later
+ cmake version 3.1.3 or later is required to work with current OpenSSL
+ releases. (OpenSSL is an optional prerequisite of APR-Util.)
+* If using a command-line compiler: compiler and linker and related tools
+ (Refer to the cmake documentation for more information.)
+
+The following support libraries are mandatory:
+
+* APR 1.4.x or APR 1.5.x, built with cmake
+
+Optional support libraries allow optional features of APR to be enabled:
+
+* OpenSSL
+* many others potentially, though the build support isn't currently
+ implemented
+
+How to build
+------------
+
+1. cd to a clean directory for building (i.e., don't build in your
+ source tree)
+
+2. Some cmake backends may want your compile tools in PATH. (Hint: "Visual
+ Studio Command Prompt")
+
+3. set CMAKE_LIBRARY_PATH=d:\path\to\prereq1\lib;d:\path\to\prereq2\lib;...
+
+4. set CMAKE_INCLUDE_PATH=d:\path\to\prereq1\include;d:\path\to\prereq2\include;...
+
+5. cmake -G "some backend, like 'NMake Makefiles'"
+ -DCMAKE_INSTALL_PREFIX=d:/path/to/aprinst
+ -DAPR-Util-specific-flags
+ d:/path/to/aprutilsource
+
+ If APR 1.x was installed to a different directory than APR-Util,
+ also pass these additional arguments:
+
+ -DAPR_INCLUDE_DIR=d:/path/to/apr1inst/include
+ -DAPR_LIBRARIES=d:/path/to/apr1inst/lib/libapr-1.lib
+
+ Alternately, use cmake-gui and update settings in the GUI.
+
+ APR-Util feature flags:
+
+ APU_HAVE_CRYPTO Build crypt support (only the OpenSSL
+ implementation is currently supported)
+ Default: OFF
+ APU_HAVE_ODBC Build ODBC DBD driver
+ Default: ON
+ APR_BUILD_TESTAPR Build APR-Util test suite
+ Default: OFF
+ TEST_STATIC_LIBS Build the test suite to test the APR static
+ library instead of the APR dynamic library.
+ Default: OFF
+ In order to build the test suite against both
+ static and dynamic libraries, separate builds
+ will be required, one with TEST_STATIC_LIBS
+ set to ON.
+ INSTALL_PDB Install .pdb files if generated.
+ Default: ON
+
+ CMAKE_C_FLAGS_RELEASE, _DEBUG, _RELWITHDEBINFO, _MINSIZEREL
+
+ CMAKE_BUILD_TYPE
+
+ For NMake Makefiles the choices are at least DEBUG, RELEASE,
+ RELWITHDEBINFO, and MINSIZEREL
+ Other backends make have other selections.
+
+6. build using chosen backend (e.g., "nmake install")
+
+Known Bugs and Limitations
+--------------------------
+
+* If include/apu.h or other generated files have been created in the source
+ directory by another build system, they will be used unexpectedly and
+ cause the build to fail.
+* Options should be provided for remaining features, along with finding any
+ necessary libraries
+ + DBM:
+ . APU_HAVE_GDBM
+ . APU_HAVE_NDBM
+ . APU_HAVE_DB
+ + DBD:
+ . APU_HAVE_PGSQL
+ . APU_HAVE_MYSQL
+ . APU_HAVE_SQLITE3
+ . APU_HAVE_SQLITE2
+ . APU_HAVE_ORACLE
+ + CRYPTO:
+ . APU_HAVE_NSS
+ + XLATE, APU_HAVE_ICONV (no way to consume an apr-iconv build yet)
+* Static builds of APR modules are not supported.
+* CHANGES/LICENSE/NOTICE is not installed, unlike Makefile.win.
+ (But unlike Makefile.win we want to call them APR-Util-CHANGES.txt
+ and so on.) But perhaps that is a job for a higher-level script.
+
+Generally:
+
+* Many APR-Util features have not been tested with this build.
+* Developers need to examine the existing Windows build in great detail and see
+ what is missing from the cmake-based build, whether a feature or some build
+ nuance.
+* Any feedback you can provide on your experiences with this build will be
+ helpful.