README revision 302408
1Welcome to serf, a high-performance asynchronous HTTP client library. 2 3The serf library is a C-based HTTP client library built upon the Apache 4Portable Runtime (APR) library. It multiplexes connections, running the 5read/write communication asynchronously. Memory copies and transformations are 6kept to a minimum to provide high performance operation. 7 8 * Status: http://code.google.com/p/serf/wiki/ 9 * Site: http://code.google.com/p/serf/ 10 * Code: http://serf.googlecode.com/svn/ 11 * Issues: http://code.google.com/p/serf/issues/list 12 * Mail: serf-dev@googlegroups.com 13 * People: Justin Erenkrantz, Greg Stein 14 15---- 16 171. INSTALL 18 191.1. SCons build system 20 21serf uses SCons 2.3 for its build system. If it is not installed on 22your system, then you can install it onto your system. If you do not 23have permissions, then you can download and install the "local" 24version into your home directory. When installed privately, simply 25create a symlink for 'scons' in your PATH to /path/to/scons/scons.py. 26 27Fetch the scons-local package: 28 http://prdownloads.sourceforge.net/scons/scons-local-2.3.0.tar.gz 29 30 311.2 Building serf 32 33To build serf: 34 35$ scons APR=/path/to/apr APU=/path/to/apu OPENSSL=/openssl/base PREFIX=/path/to/prefix 36 37The switches are recorded into .saved_config, so they only need to be 38specified the first time scons is run. 39 40PREFIX should specify where serf should be installed. PREFIX defaults to 41/usr/local. 42 43The default for the other three switches (APR, APU, OPENSSL) is /usr. 44 45The build system looks for apr-1-config at $APR/bin/apr-1-config, or 46the path should indicate apr-1-config itself. Similarly for the path 47to apu-1-config. 48 49OPENSSL should specify the root of the install (eg. /opt/local). The 50includes will be found OPENSSL/include and libraries at OPENSSL/lib. 51 52If you wish to use VPATH-style builds (where objects are created in a 53distinct directory from the source), you can use: 54 55$ scons -Y /path/to/serf/source 56 57If you plan to install the library on a system that uses different 58paths for architecture dependent files, specify LIBDIR. LIBDIR defaults 59to /usr/local/lib otherwise. Example for a 64 bit GNU/Linux system: 60 61$ scons PREFIX=/usr/ LIBDIR=/usr/lib64 62 63At any point, the current settings can be examined: 64 65$ scons --help 66 67 681.3 Running the test suite 69 70$ scons check 71 72 731.4 Installing serf 74 75$ scons install 76 77Note that the PREFIX variable should have been specified in a previous 78invocation of scons (and saved into .saved_config), or it can be 79specified on the install command line: 80 81$ scons PREFIX=/some/path install 82 83Distribution package maintainers regulary install to a buildroot, and 84would normally use something like below in their build systems, with 85placeholders for the specific paths: 86 87$ scons PREFIX=/usr/ LIBDIR=/usr/lib64 88$ scons install --install-sandbox=/path/to/buildroot 89 90 911.4 Cleaning up the build 92 93$ scons -c 94