2013-06-18 02:00:50 +00:00
|
|
|
Welcome to serf, a high-performance asynchronous HTTP client library.
|
|
|
|
|
|
|
|
The serf library is a C-based HTTP client library built upon the Apache
|
|
|
|
Portable Runtime (APR) library. It multiplexes connections, running the
|
|
|
|
read/write communication asynchronously. Memory copies and transformations are
|
|
|
|
kept to a minimum to provide high performance operation.
|
|
|
|
|
|
|
|
* Status: http://code.google.com/p/serf/wiki/
|
|
|
|
* Site: http://code.google.com/p/serf/
|
|
|
|
* Code: http://serf.googlecode.com/svn/
|
|
|
|
* Issues: http://code.google.com/p/serf/issues/list
|
|
|
|
* Mail: serf-dev@googlegroups.com
|
|
|
|
* People: Justin Erenkrantz, Greg Stein
|
|
|
|
|
|
|
|
----
|
|
|
|
|
2013-08-02 19:12:12 +00:00
|
|
|
1. INSTALL
|
2013-06-18 02:00:50 +00:00
|
|
|
|
2013-08-02 19:12:12 +00:00
|
|
|
1.1. SCons build system
|
2013-06-18 02:00:50 +00:00
|
|
|
|
2014-02-22 01:09:12 +00:00
|
|
|
serf uses SCons 2.3 for its build system. If it is not installed on
|
2013-08-02 19:12:12 +00:00
|
|
|
your system, then you can install it onto your system. If you do not
|
|
|
|
have permissions, then you can download and install the "local"
|
|
|
|
version into your home directory. When installed privately, simply
|
|
|
|
create a symlink for 'scons' in your PATH to /path/to/scons/scons.py.
|
|
|
|
|
|
|
|
Fetch the scons-local package:
|
2014-02-22 01:09:12 +00:00
|
|
|
http://prdownloads.sourceforge.net/scons/scons-local-2.3.0.tar.gz
|
2013-08-02 19:12:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
1.2 Building serf
|
|
|
|
|
|
|
|
To build serf:
|
|
|
|
|
|
|
|
$ scons APR=/path/to/apr APU=/path/to/apu OPENSSL=/openssl/base PREFIX=/path/to/prefix
|
|
|
|
|
|
|
|
The switches are recorded into .saved_config, so they only need to be
|
|
|
|
specified the first time scons is run.
|
|
|
|
|
|
|
|
PREFIX should specify where serf should be installed. PREFIX defaults to
|
|
|
|
/usr/local.
|
|
|
|
|
|
|
|
The default for the other three switches (APR, APU, OPENSSL) is /usr.
|
|
|
|
|
|
|
|
The build system looks for apr-1-config at $APR/bin/apr-1-config, or
|
|
|
|
the path should indicate apr-1-config itself. Similarly for the path
|
|
|
|
to apu-1-config.
|
|
|
|
|
|
|
|
OPENSSL should specify the root of the install (eg. /opt/local). The
|
|
|
|
includes will be found OPENSSL/include and libraries at OPENSSL/lib.
|
|
|
|
|
|
|
|
If you wish to use VPATH-style builds (where objects are created in a
|
|
|
|
distinct directory from the source), you can use:
|
|
|
|
|
|
|
|
$ scons -Y /path/to/serf/source
|
|
|
|
|
2014-02-22 01:09:12 +00:00
|
|
|
If you plan to install the library on a system that uses different
|
|
|
|
paths for architecture dependent files, specify LIBDIR. LIBDIR defaults
|
|
|
|
to /usr/local/lib otherwise. Example for a 64 bit GNU/Linux system:
|
|
|
|
|
|
|
|
$ scons PREFIX=/usr/ LIBDIR=/usr/lib64
|
|
|
|
|
2013-08-02 19:12:12 +00:00
|
|
|
At any point, the current settings can be examined:
|
|
|
|
|
|
|
|
$ scons --help
|
|
|
|
|
|
|
|
|
|
|
|
1.3 Running the test suite
|
|
|
|
|
|
|
|
$ scons check
|
|
|
|
|
|
|
|
|
|
|
|
1.4 Installing serf
|
2013-06-18 02:00:50 +00:00
|
|
|
|
2013-08-02 19:12:12 +00:00
|
|
|
$ scons install
|
2013-06-18 02:00:50 +00:00
|
|
|
|
2013-08-02 19:12:12 +00:00
|
|
|
Note that the PREFIX variable should have been specified in a previous
|
|
|
|
invocation of scons (and saved into .saved_config), or it can be
|
|
|
|
specified on the install command line:
|
2013-06-18 02:00:50 +00:00
|
|
|
|
2013-08-02 19:12:12 +00:00
|
|
|
$ scons PREFIX=/some/path install
|
2013-06-18 02:00:50 +00:00
|
|
|
|
2014-02-22 01:09:12 +00:00
|
|
|
Distribution package maintainers regulary install to a buildroot, and
|
|
|
|
would normally use something like below in their build systems, with
|
|
|
|
placeholders for the specific paths:
|
|
|
|
|
|
|
|
$ scons PREFIX=/usr/ LIBDIR=/usr/lib64
|
|
|
|
$ scons install --install-sandbox=/path/to/buildroot
|
|
|
|
|
2013-06-18 02:00:50 +00:00
|
|
|
|
2013-08-02 19:12:12 +00:00
|
|
|
1.4 Cleaning up the build
|
2013-06-18 02:00:50 +00:00
|
|
|
|
2013-08-02 19:12:12 +00:00
|
|
|
$ scons -c
|