| Apache Portable Runtime | |
| ======================= | |
| Using a Subversion Checkout on Unix | |
| =================================== | |
| If you are building APR from SVN, you need to perform a prerequisite | |
| step. You must have autoconf, libtool and python installed for this | |
| to work. The prerequisite is simply; | |
| ./buildconf | |
| If you are building APR from a distribution tarball, buildconf is | |
| already run for you, and you do not need autoconf, libtool or python | |
| installed or to run buildconf unless you have patched APR's buildconf | |
| inputs (such as configure.in, build.conf, virtually any file within | |
| the build/ tree, or you add or remove source files). | |
| Remember when updating from svn that you must rerun ./buildconf again | |
| to effect any changes made to the build schema in your fresh update. | |
| Configuring and Building APR on Unix | |
| ==================================== | |
| Simply; | |
| ./configure --prefix=/desired/path/of/apr | |
| make | |
| make test | |
| make install | |
| Configure has additional options, ./configure --help will offer you | |
| those choices. You may also add CC=compiler CFLAGS="compiler flags" | |
| etc. prior to the ./configure statement (on the same line). Please | |
| be warned, some flags must be passed as part of the CC command, | |
| itself, in order for autoconf to make the right determinations. Eg.; | |
| CC="gcc -m64" ./configure --prefix=/desired/path/of/apr | |
| will inform APR that you are compiling to a 64 bit CPU, and autoconf | |
| must consider that when setting up all of APR's internal and external | |
| type declarations. | |
| For more verbose output from testall, you may wish to invoke testall | |
| with the flag; | |
| cd test | |
| ./testall -v | |
| Configuring and Building APR on Windows | |
| ======================================= | |
| Using Visual Studio, you can build and run the test validation of APR. | |
| The Makefile.win make file has a bunch of documentation about it's | |
| options, but a trivial build is simply; | |
| nmake -f Makefile.win | |
| nmake -f Makefile.win PREFIX=c:\desired\path\of\apr install | |
| Note you must manually modify the include\apr.hw file before you | |
| build to change default options, see the #define APR_HAS_... or the | |
| #define APR_HAVE_... statements. Be careful, many of these aren't | |
| appropriate to be modified. The most common change is | |
| #define APR_HAVE_IPV6 1 | |
| rather than 0 if this build of APR will be used strictly on machines | |
| with the IPv6 adapter support installed. | |
| It's trivial to include the apr.dsp (for a static library) or the | |
| libapr.dsp (for a dynamic library) in your own build project, or you | |
| can load apr.dsw in Visual Studio 2002 (.NET) or later, which will | |
| convert these for you into apr.sln and associated .vcproj files. | |
| When using APR as a dynamic library, nothing special is required, | |
| simply link to libapr.lib. To use it as a static library, simply | |
| define APR_DECLARE_STATIC before you include any apr header files | |
| in your source, and link to apr.lib instead. | |
| Generating Test Coverage information with gcc | |
| ============================================= | |
| If you want to generate test coverage data, use the following steps: | |
| ./buildconf | |
| CFLAGS="-fprofile-arcs -ftest-coverage" ./configure | |
| make | |
| cd test | |
| make | |
| ./testall | |
| cd .. | |
| make gcov | |