diff options
Diffstat (limited to 'sca-cpp/branches/cpp-contrib/INSTALL')
-rw-r--r-- | sca-cpp/branches/cpp-contrib/INSTALL | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/sca-cpp/branches/cpp-contrib/INSTALL b/sca-cpp/branches/cpp-contrib/INSTALL new file mode 100644 index 0000000000..2fe522d7e4 --- /dev/null +++ b/sca-cpp/branches/cpp-contrib/INSTALL @@ -0,0 +1,175 @@ +Apache Tuscany SCA Runtime +========================== + +Building +======== + +The Tuscany SCA Linux build uses the GNU Autotools tool chain. + +First install the following development tools: +autoconf-2.64 +automake-1.4 +g++-4.4.1 +libtool-2.2.6 +doxygen-1.6.1 + +Install the following binaries: +curl-7.19.5 (http://curl.haxx.se) +memcached-1.2.8 (http://memcached.org/) + + +Then install the following development dependencies: + +Apache HTTP server and APR: +httpd-2.2-13 (http://httpd.apache.org/) +libapr-1-0.3.8 (http://apr.apache.org/) +libaprutil-1-0.3.9 + +XML: +libxml2-2.7.5 (http://xmlsoft.org/) + +CURL: +libcurl4-7.19.5 (http://curl.haxx.se) + +JSON: +Mozilla SpiderMonkey libmozjs (http://www.mozilla.org/js/spidermonkey/) +included in xulrunner-1.9.1.7 + +Optional dependencies: + +Web Services: +Apache Axis2/C 1.6.0 (http://ws.apache.org/axis2/c/) + +Queueing: +Apache Qpid/C++ 0.6 (http://qpid.apache.org/) + +Python: +Python 2.6 (http://www.python.org/) + +Java: +a Java 5+ JDK (http://openjdk.java.net/, http://harmony.apache.org/) + +XMPP Chat: +Libstrophe (http://code.stanziq.com/cgit/strophe/libstrophe/) +build it from source at git://code.stanziq.com//libstrophe + + +To configure the Tuscany SCA build do this: +./bootstrap +./configure --prefix=<install dir> + +To enable debugging and strict warning compile options, add: +--enable-maintainer-mode + +To enable gprof profiling, add: +--enable-profiling + +To enable multi-threading (required by the Queue and Chat components and +for running with the HTTPD worker or event multi-threaded MPMs): +--enable-threads + +To enable support for Python component implementations: +--enable-python + +To enable support for Java component implementations: +--enable-java + +To build the Web service utility component (requires Apache Axis2/C): +--enable-webservice + +To build the Queue utility component (requires Apache Qpid/C++): +--enable-queue + +To build the Chat utility component (requires Libstrophe): +--enable-chat + +To generate doxygen documentation, add: +--enable-doxygen + +To configure where to find dependencies, see the --with-* options described +in the configure help: +./configure --help + + +Here's an example configuration, tested on Ubuntu 9.10, with the system +dependencies installed in the standard system directories and some of the +dependencies installed under $HOME: + +./configure --prefix=$HOME/tuscany-sca-cpp-bin \ +--with-apr=$HOME/httpd-2.2.13-bin --with-httpd=$HOME/httpd-2.2.13-bin \ +--with-libcurl=/usr --with-libxml2=/usr \ +--with-js-include=/usr/include/xulrunner-1.9.1.7/unstable \ +--with-js-lib=/usr/lib/xulrunner-1.9.1.7 \ +--enable-threads \ +--enable-python --with-python=/usr \ +--enable-java --with-java=/usr/lib/jvm/default-java \ +--enable-webservice --with-axis2c=$HOME/axis2c-1.6.0-bin \ +--enable-queue --with-qpidc=$HOME/qpidc-0.6-bin \ +--enable-chat --with-libstrophe=$HOME/libstrophe \ +--enable-maintainer-mode + + +To build the Tuscany SCA runtime, do this: +make + +To run the tests, do this: +make check + +To build ctags for the source, do this: +make ctags + +To build a source distribution, do this: +make dist + +To build a binary distribution, do this: +make bindist + + +Installing +========== + +To install the Tuscany SCA binaries, do this: +make install + + +Building dependencies from source +================================= + +Here are example build and install steps for some of the dependencies. + +Apache HTTPD, including APR, using the HTTP prefork MPM (recommended): +./configure --enable-ssl --enable-proxy --enable-rewrite --with-included-apr \ +--with-mpm=prefork --prefix=$HOME/httpd-2.2.13-bin +make +make install +export PATH=$HOME/httpd-2-2.13-bin/bin:$PATH + +Apache Axis2/C: +./configure --enable-libxml2 --enable-openssl --enable-libcurl \ +--with-apache2=$HOME/httpd-2.2.13-bin/include --prefix=$HOME/axis2c-1.6.0-bin +make +make install +export AXIS2C_HOME=$HOME/axis2c-1.6.0-bin + +Apache Qpid/C++: +git clone git://git.apache.org/qpid.git +cd qpid +git checkout -b 0.6-release origin/0.6-release +cd qpid/cpp +./bootstrap +./configure --prefix=$HOME/qpidc-0.6-bin +make +make install + +Libstrophe: +git clone git://code.stanziq.com/libstrophe +cd libstrophe +git submodule init +git submodule update +aclocal +automake --add-missing --foreign --copy +autoconf +./configure --prefix=$HOME/libstrophe-bin +make +make install + |