Blame README

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