e982b4ef38
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@917273 13f79535-47bb-0310-9956-ffa450edef68
175 lines
4.1 KiB
Text
175 lines
4.1 KiB
Text
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
|
|
|